יום חמישי, 20 בפברואר 2014

באגים מההיסטוריה

חוץ מבאג 2000 שאולי כולם שמעו עליו, לאורך ההיסטוריה המודרנית התרחשו באגים שונים שגרמו לתוצאות הרות אסון או פוטנציאליות לאסון ונספר כאן את הסיפור של חלק מהם.

המטרה היא להראות עד כמה ה- QA בכלל ובדיקות בפרט הן דבר קריטי וחשוב במיוחד כשמדובר במערכות אסטרטגיות שכשל בהן עלול לכל הפחות להביא לנזק כלכלי ובמקרה הגרוע לנזק גופני ו/או לאבידות בנפש.



מלחמת העולם השלישית, כמעט.


בשנת 1980, NORAD (פיקוד הגנת האוויר והחלל של צפון אמריקה), דיווח על מתקפת טילים על ארה"ב. הבעיה נבעה מכשל במעגל, דבר שלא נלקח בחשבון ע"י התוכנה המדווחת.

בשנת 1983, לווין רוסי דיווח על הגעת טילים מארה"ב. אך הקצין האחראי החליט ללכת על תחושות הבטן שלו שזו אזעקת-שווא ולא עשה דבר.

חור באוזון שלא התגלה


פרויקט של NASA שנפתח ב- 1978, היה אמור למפות של שכבת האוזון ולגלות חורים, השתמש בתוכנה שהתעלמה מערכים שחרגו משמעותית מהמדידות הצפויות.
כתוצאה מכך, רק ב- 1985 חור גדול התגלה באוזון ולא ע"י NASA.


קרינה רדיואקטיבית קטלנית


מכשיר רפואי ידוע לשמצה בשם Therac-25 היה מיועד לטיפול בקרינה לחולי סרטן. בתוכנה שהפעילה את המכשיר היה באג שגרם לחשיפה מוגברת של קרינה אצל חלק מהמטופלים פי 100 מהנדרש בין השנים 1985 ל- 1987, מה שגרם למותם של לפחות 3 מטופלים.
מקרה דומה קרה בעיר פנמה בשנת 2000 כאשר תוכנה לטיפול רדיואקטיבי נתנה מינונים שונים מהנדרש למטופלים, מה שגרם למותם של לפחות 5 מטופלים.


שגיאות בשיגור טילים


בשנת 1996, טיל בשם Ariane היה אומר לשאת לווינים מסביב לכדור הארץ. אך טעות בתוכנה גרמה לסטייה מהנתיב 37 שניות אחרי השיגור. הטיל השמיד את עצמו כתוצאה מהליך בטיחות שנכנס לפעולה.
ההפסד הכספי נאמד במעל 370 מיליון דולר.


הפסקת חשמל ענקית


באוגוסט 2003, קרוב ל-55 מיליון אנשים בעיקר מאמריקה הצפונית חוו את בין ההפסקות החשמל הגדולות בהיסטוריה.
בתוכנה שנמצאת במרכז הבקרה התרחש תהליך ידוע בעולם התוכנה הנקרא "race": שני חלקים במערכת מנסים לגשת באותו זמן לאותו משאב ו"מתחרים" ביניהם, מה שגורם בסופו של דבר לקריסה. באותו מקרה, התוכנה קפאה ולא הפעילה את מערכת ההתראה שתתריע על התקלה לאיש.
התוצאה - אזורים שלמים ללא חשמל במשך ימים, השפעה קריטית על התעשייה, התקשורת המקומית ויש אף קושרים את האירוע למספר מקרי מוות.



תקלה בטיל הפטריוט


בפברואר 1991 בזמן מלחמת המפרץ, השתמשו במערכת טילים מסוג פטריוט נגד מטוסים וטילים. התוכנה שבמערכת השיגור היתה אמורה לחשב את מסלול הפגיעה של הטיל ביחס לזמן. מכיון שמדובר במהירויות גבוהות - עד MACH 5 שזה כ- 6125 קמ"ש, המערכת היתה חייבת להיות מדוייקת מאד.
לאורך זמן, כמו בכל שעון, נוצר פיגור קל בשעון המערכת שנפתר ע"י אתחול המערכת ואיפוס השעון. למרבה הצער, ההוראות לא יושמו באותו יום והמערכת הושארה לפעול 100 שעות ברציפות. 
כאשר נורה טיל עירקי לכיון מטרה אמריקאית, מערכת ההפעלה של הפטריוט זיהתה אותו, אך באותו רגע שעון המערכת היה כבר בסטייה של 0.34 השניה ולפי החישובים של המערכת הטיל העירקי היה אמור לפגוע בשטח פתוח ולכן השיגור בוטל.
בשטח, הטיל העירקי פגע במטרה וגרם להרג של 28 חיילים ופצע עוד 98.


מקורות
http://royal.pingdom.com/2009/03/19/10-historical-software-bugs-with-extreme-consequences/

http://listverse.com/2012/12/24/10-seriously-epic-computer-software-bugs/

אין תגובות:

הוסף רשומת תגובה