ניתוח קוד סטאטי ובדיקות דינאמיות

Page 1

‫ניתוח קוד סטאטי ובדיקות קוד דינאמיות כשיטות‬ ‫בדיקה משולבות ומשלימות להשגת קוד מקור איכותי‬ ‫ויציב‪ ,‬סקירה מקצועית של שיטות ודרכי פעולה‬ ‫דניאל לייזרוביץ‪,‬‬ ‫‪Engineering Software Lab‬‬ ‫מערכות תוכנה מודרניות הינן לרוב בעלות‬ ‫מספר מאפיינים עיקריים‪ :‬כמות עצומה‬ ‫של שורות קוד‪ ,‬שהייתה נחשבת לדמיונית‬ ‫רק לפני מספר שנים בודדות; שימוש רב‬ ‫בקוד שמקורו מחוץ לארגון‪ ,‬בין אם קוד‬ ‫מסחרי שנקנה מחברה מתמחה ובין אם‬ ‫קוד פתוח; ומספר רב של מפתחים ברמות‬ ‫שונות של ניסיון והכשרה‪.‬‬ ‫דומה‪ ,‬כי רוב רובם של מפתחי התוכנה‬ ‫העובדים בפרויקטים מורכבים וגדולים‪,‬‬ ‫הכיר בצורך בשימוש בכלי בדיקה‬ ‫אוטומטים המסוגלים לסרוק‪ ,‬לנתח‬ ‫ולגלות שגיאות תכנות במאות אלפי שורות‬ ‫קוד בזמן קצר‪ .‬כפועל יוצא‪ ,‬אנו מוצאים‬ ‫עצמנו מתלבטים מהו הכלי המתאים לנו‬

‫ואיזה כלי ישיג את התמורה הטובה יותר‬ ‫יחסית להשקעה הכספית וזמן ההטמעה‬ ‫ האם אחד מכלי ניתוח קוד סטאטי‬‫הקלים יחסית להטמעה ותפעול‪ ,‬או שמא‬ ‫עדיף האם כלי בדיקה דינמי‪ ,‬הקשה יותר‬ ‫להטמעה‪ ,‬אך יוכל לחשוף בעיות שונות?‬ ‫ואולי מספיק להיצמד לתקן כתיבה‬ ‫מסוים ( ‪ )Coding Standard‬כגון ‪MISRA‬‬ ‫‪ C‬או ‪ MISRA CPP‬ולהפעיל כלי‪ ,‬ה”אוכף”‬ ‫את התקן על המפתחים?‬ ‫כאשר מדובר בפרויקטים הדורשים רשיון‬ ‫לתקנים‪ ,‬כגון ‪ DO178B/C‬בתחום התעופה‬ ‫האזרחית בארה”ב‪ ,‬הדרישות ברורות ואנו‬ ‫פועלים בהתאם להנחיות ה‪(FAA -‬רשות‬ ‫התעופה הפדרלית) ללא יכולת ערעור‪.‬‬

‫אם בדרגת הרישיון שלנו נדרשות בדיקות‬ ‫כיסוי (‪ )Code Coverage‬מסוימות (למשל‬ ‫(‪ , MC/DC‬נצטייד בכלי דינאמי מתאים‬ ‫ללא לבטים‪ ,‬וכך הלאה‪ .‬עם זאת יש לזכור‪,‬‬ ‫שקוד “מרושיין” ל‪ DO178B/C -‬הנו‪,‬‬ ‫ותמיד יהיה‪ ,‬חלק קטן מהקוד בארגון‪.‬‬ ‫ברוב המכריע של המקרים‪ ,‬ההתלבטות‬ ‫תהיה מתוך הצורך והרצון המובן מאליו‬ ‫של מחלקת הפיתוח לייצר קוד יציב‪ ,‬נקי‬ ‫ושלם ומתוך מודעות אירגונית לעלות‬ ‫האפסית של תיקון שגיאות תכנות בשלב‬ ‫הפיתוח‪ ,‬לעומת העלות המטפסת בצורה‬ ‫מעריכית של תיקון אותן שגיאות כאשר‬ ‫הקוד יגיע למחלקת ה‪ , QA-‬לאינטגרציה‬ ‫ובדיקות מערכת או גרוע מכל‪ ,‬ללקוח‪.‬‬


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.