על ידי shayD » 28 מרץ 2017, 14:48
תמצית: חוקרים מציעים דרך מעניינת (ומטרידה) לצמצם באגים בתוכנות - לחבר מכשירים רפואיים לגופם של המתכנתים ולזהות מתי הם עובדים על קוד מסובך. #סניפ_מהעבר
*
בעולם המחשבים קיימת אמירה ידועה הקובעת כי המחיר של באג בתוכנה עולה אקספוננציאלית ככל שהבאג מתגלה יותר מאוחר - באג שמגלה המתכנת בזמן התכנות הוא כמעט חינם, באג בבדיקות הוא יותר יקר, ובאג חשוב אצל הלקוח יכול להיות יקר מאוד, עד כדי עלות של עשרות או מאות מיליוני דולרים במערכות כמו לווינים או רכבי חלל (או מערכות אלגוטריידינג - ראה\י סניפ עבר בתגובות).
חברות רבות מאמצות כלים אוטומאטיים לזיהוי קוד לא טוב, אך לכלים אלה דיוק מוגבל ובמקרים רבים הם נוטים להתמקד בקוד לא-אסתטי, ולא בהכרח בקוד שהוא יותר רגיש לבאגים.
חוקרים מחברת מייקרוסופט ומאוניברסיטת ציריך מציעים דרך מעניינת לזהות מראש אזורים בקוד שהם בסיכון גבוה לבאגים - חיבור חיישנים לגופם של המתכנתים בזמן שהם כותבים את הקוד. גישת החוקרים מבוססת על מחקרי עבר, שמצאו כי כאשר מתכנתת עובדת על קטע קוד מסובך ורגיש, הדבר בא לידי ביטוי בדופק, שינויי דופק, הזעה ומדדים פיסיים אחרים.
החוקרים ביצעו ניסוי במסגרתו חיברו ל-15 מתכנתים חיישנים רפואיים למשך שבועיים, בזמן שהמתכנתים המשיכו לבצע את עבודתם. בסיום המחקר השוו את תוצאותיהם לניתוח של תוכנות סטנדרטיות לזיהוי קוד בעייתי. החוקרים מצאו שהם מסוגלים לזהות את המורכבות של אזורים בקוד ביעילות הגבוהה בכ-26% מתוכנות סטנדרטיות.
על אף שבוצע על שני צוותים נפרדים (10 אנשים ו-5 אנשים) בשתי חברות שונות, המחקר עדיין מוגבל מאוד בתוצאותיו ובתוקף שלו, וממילא לא במיוחד פרקטי, אבל מהווה הצעה מעניינת ומקורית למניעה וגילוי של באגים בתוכנות.
*
מקורות (קישורים בתגובות):
- אתר Vice, כתב: Michael Bryne
- אתר Microsoft Research
- מאמר שפרסמו החוקרים
למות או לכבוש את ההר.