באג – הבדלי גרסאות

תוכן שנמחק תוכן שנוסף
מ ויקינתונים
מ הערות שוליים
שורה 17:
 
על בעיית האמינות של התוכנה עמד [[דייוויד פרנס]]:
{{ציטוט|תוכן=אנשים המכירים הן את הנדסת התוכנה והן את תחומי ההנדסה הוותיקים יותר הבחינו שאמינות סביבת התוכנה נמוכה במידה משמעותית מזו המאפיינת שטחי הנדסה אחרים. כשמרבית המוצרים ההנדסיים הושלמו, נבדקו ונמכרו, סביר לצפות שתכנון המוצר הינו נכון ושהוא יעבוד בצורה אמינה. במוצרי תוכנה, מקובל לגלות שהתוכנה מכילה שיבושים (bugs) רציניים ואינה מתפקדת בצורה אמינה אצל מספר משתמשים. בעיות אלו עלולות לצוץ במספר גרסאות ובמקרים מסוימים להחמיר את המצב כשמדובר ב"שיפור" התוכנה. בעוד מרבית המוצרים מלווים בתעודת אחריות תקפה ומגינה, הרי מוצרי תוכנה מלווים לעתים בהצהרה ספציפית על אי מתן אחריות. הציבור הרחב, המודע רק למספר קטן של תקלות תוכנה, יכול להתייחס אליהן כחריגים שנגרמו על ידי מתכנתים בלתי-מנוסים. אלו מבינינו המצויים בתוכנה יודעים טוב יותר; המתכנתים המעולים ביותר בעולם לא יכולים להימנע מבעיות כאלו.{{הערה|"היבטי תוכנה במערכות הגנה איסטרטגית", '''מעשה חושב''', אפריל 1986; תרגום לעברית של [http://klabs.org/richcontent/software_content/papers/parnas_acm_85.pdf Software Aspects of Strategic Defense Systems]}}}}
|מקור="היבטי תוכנה במערכות הגנה איסטרטגית", '''מעשה חושב''', אפריל 1986; תרגום לעברית של [http://klabs.org/richcontent/software_content/papers/parnas_acm_85.pdf Software Aspects of Strategic Defense Systems]
}}
 
==טיפול בבאגים==
שורה 30 ⟵ 28:
==אטימולוגיה==
השימוש במונח ה"באג" לתיאור של פגמים בלתי מוסברים הוא חלק מהמינוח המקצועי בעולם ה[[הנדסה]] כבר מ[[המאה ה-19]], והיה בשימוש [[מהנדס מכונות|מהנדסי מכונות]] לתיאור של כשלים מכניים. לדוגמה, [[תומאס אלווה אדיסון|אדיסון]] כתב את המילים הבאות במכתב לעמית מ-1878:
{{ציטוט|תוכן=הדבר חוזר בכל המצאותי, הצעד הראשון הוא אינטואיציה, אחריה פרץ עשייה, ואז צצים הקשיים - הדבר כושל ואז ה"באגים" - כפי שנהוג לקרוא לפגמים וקשיים קטנים אלו - זוקפים את ראשם וחודשים של התבוננות מאומצת, מחקר ועבודה נדרשים לפני שהצלחה או כישלון מסחריים הופכים למציאות.{{הערה|מקור= Edison to Puskas, 13 November [[1878]], Edison papers, Edison National Laboratory, U.S. National Park Service, West Orange, N.J., cited in Thomas P. Hughes, ''American Genesis: A History of the American Genius for Invention,'' Penguin Books, 1989, ISBN 0140097414, on page 75|מרכאות=כן}}}}
 
בעיות ב[[אלקטרוניקה]] של מכשירי [[מכ"ם]] במהלך [[מלחמת העולם השנייה]] נודעו כבאגים (או גליצ'ים).
שורה 36 ⟵ 34:
[[תמונה:H96566k.jpg|ממוזער|250px|תמונה של הבאג ''האמיתי'' הראשון שנמצא במחשב.]]
טביעת המושג משויכת בטעות ל[[גרייס הופר]], שפרסמה את הסיבה לתקלה במחשב אלקטרומכני מוקדם. גרסה אופיינית לסיפור מופיעה בציטוט הבא:
{{ציטוט|תוכן=ב-1946, כשהופר שוחררה משירות פעיל, היא הצטרפה לסגל הרווארד במחלקה למיחשוב, שם המשיכה בעבודתה על מארק II ומארק III. מפעילים שעקבו אחרי תקלה במארק II מצאו עש שנלכד באחד הממסרים (relay), והשתמשו במושג "באג". העש הוסר בזהירות והודבק לדף הלוג של ה-9 בספטמבר 1945. בעקבות אותו באג ראשון אנו נוהגים להתייחס לתקלות או גליצ'ים כבאגים.{{הערה|מקור=Danis, Sharron Ann: "Rear Admiral Grace Murray Hopper" {{כ}}[http://ei.cs.vt.edu/~history/Hopper.Danis.html Rear Admiral Grace Murray Hopper]|מרכאות=כן}}}}
 
הופר איננה זאת שמצאה את החרק, כפי שהיא בעצמה מודה, והתאריך לא היה 1945 אלא [[9 בספטמבר]] [[1947]] [http://www.ticam.utexas.edu/~organism/bug.html][http://americanhistory.si.edu/collections/object.cfm?key=35&objkey=30]. המפעיל שמצא את הבאג היה מודע למונח ההנדסי המקורי ומשועשע, שמר את החרק עם ההערה "First actual case of bug being found" .{{כ}}הערה| James S. Huggins,[http://www.jamesshuggins.com/h/tek1/first_computer_bug.htm First Computer Bug].}} אף שברור כי מפעילי מארק II לא טבעו את המונח באג, נטען שהם המציאו את המונח debug ([[ניפוי שגיאות|ניפוי]]).
 
==סוגי באגים==
שורה 47 ⟵ 45:
==באגים נודעים==
כל משתמש במחשבים נתקל בבאגים הגורמים לו אי נוחות קטנה או גדולה. לעתים הנזק הנגרם עקב באג כבד למדי, כפי שמלמדות הדוגמאות הבאות:
* שיגור הניסוי הראשון של [[משגר לוויינים|משגר הלוויינים]] [[אריאן 5]], ב־[[4 ביוני]] [[1996]] הסתיים בהשמדה עצמית 40 שניות לאחר שהחל, כתוצאה מבאג של [[גלישה נומרית (מדעי המחשב)|גלישה נומרית]] במחשב הניווט של המשגר. הבאג נגרם כתוצאה מניסיון להעביר מספר בן 64 [[סיבית|סיביות]] ב[[נקודה צפה]] ל[[מספר שלם]] בן 16 סיביות, ניסיון שגרם להפסקת פעולתו של המחשב. באג זה היווה ציון דרך בפיתוחן של מערכות בדיקה לתוכנות [[מערכות זמן-אמת|זמן אמת]].{{הערה|פרופ' מוטי בן ארי, [http://cse.proj.ac.il/hebetim/10/bug_moti.htm ה"באג" שחיסל משגר], ב[[ירחון]] "הבטים בהוראת מדעי המחשב" (גיליון יולי 1998 עמודים 20-22) בהוצאת [[משרד החינוך]] ומטה המרכז להוראת המדעים}}
* לקראת שנת [[2000]] התברר שבנתונים תאריכיים רבים רשומה השנה, משיקולי חיסכון במקום אחסון, בשתי ספרות בלבד. השוואה בין תאריך בשנת 2000 לבין תאריך בשנים שקדמו לה תיתן במצב כזו תשובה שגויה. באג פוטנציאלי זה נקרא "[[באג 2000]]", ועורר חשש כבד מאוד. בסופו של דבר לא התממש החשש, במידה רבה עקב ההשקעות האדירות שנעשו לפתרון הבעיה קודם להגעתה של שנת 2000.
*"[[באג הפנטיום]]", באג של חלוקה ב[[נקודה צפה]] ב[[מעבד]] [[פנטיום]], שהתגלה ב־[[1994]]. למרות שבאג זה משויך לרוב לחומרה, למעשה הוא באג בתוכנת המיקרו קוד של המעבד (תוכנה שצרובה על המעבד).
שורה 56 ⟵ 54:
==קישורים חיצוניים==
{{מיזמים|ויקימילון=באג}}
 
* פרופ' מוטי בן ארי, [http://cse.proj.ac.il/hebetim/10/bug_moti.htm ה"באג" שחיסל משגר], ב[[ירחון]] "הבטים בהוראת מדעי המחשב" (גיליון יולי 1998 עמודים 20-22) בהוצאת [[משרד החינוך]] ומטה המרכז להוראת המדעים.
 
==הערות שוליים==
{{הערות שוליים}}
 
[[קטגוריה:תכנות]]