לדלג לתוכן

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

מתוך ויקיפדיה, האנציקלופדיה החופשית
תוכן שנמחק תוכן שנוסף
Ronam20 (שיחה | תרומות)
אין תקציר עריכה
מ מאפייני הבאגים: קישורים פנימיים
(21 גרסאות ביניים של 15 משתמשים אינן מוצגות)
שורה 4: שורה 4:
ראו=[[באג מולטיסיסטם]]}}
ראו=[[באג מולטיסיסטם]]}}
[[קובץ:Wikipediabug.PNG|שמאל|ממוזער|350px|באג בהצגת מסך של [[ויקיפדיה]] ב[[דפדפן]] [[מוזילה פיירפוקס|Firefox]]]]
[[קובץ:Wikipediabug.PNG|שמאל|ממוזער|350px|באג בהצגת מסך של [[ויקיפדיה]] ב[[דפדפן]] [[מוזילה פיירפוקס|Firefox]]]]
'''בָּאג''' (מונח עברי: '''תֶּקֶל'''{{הערה|{{מילון אקדמיה|351|תֶּקֶל|101783_1}}}}; ב[[אנגלית]]: '''Bug''') הוא תקלה במערכת מבוססת [[תוכנה]], שמתנהגת בצורה שגויה, לא צפויה או שאיננה מתוכננת.
'''בָּאג''' (מונח עברי: '''תֶּקֶל'''{{הערה|{{מילון אקדמיה|351|116487_1|תֶּקֶל}}}}; ב[[אנגלית]]: '''Bug''') הוא [[כשל טכני]] במערכת מבוססת [[תוכנה]], שמתנהגת בצורה שגויה, לא צפויה או שאיננה מתוכננת.


לעיתים משמשת המילה גם לתיאור טעות בתכנון של מעגל אלקטרוני מורכב, שמימושו הוא ב[[חומרה]].
לעיתים משמשת המילה גם לתיאור טעות בתכנון של מעגל אלקטרוני מורכב, שמימושו הוא ב[[חומרה]].
שורה 18: שורה 18:


על בעיית האמינות של התוכנה עמד [[דייוויד פרנס]]:
על בעיית האמינות של התוכנה עמד [[דייוויד פרנס]]:
{{ציטוט|תוכן=אנשים המכירים הן את הנדסת התוכנה והן את תחומי ההנדסה הוותיקים יותר הבחינו שאמינות סביבת התוכנה נמוכה במידה משמעותית מזו המאפיינת שטחי הנדסה אחרים. כשמרבית המוצרים ההנדסיים הושלמו, נבדקו ונמכרו, סביר לצפות שתכנון המוצר נכון ושהוא יעבוד בצורה אמינה. במוצרי תוכנה, מקובל לגלות שהתוכנה מכילה שיבושים (bugs) רציניים ואינה מתפקדת בצורה אמינה אצל מספר משתמשים. בעיות אלו עלולות לצוץ במספר גרסאות ובמקרים מסוימים להחמיר את המצב כשמדובר ב"שיפור" התוכנה. בעוד מרבית המוצרים מלווים בתעודת אחריות תקפה ומגינה, הרי מוצרי תוכנה מלווים לעתים בהצהרה ספציפית על אי מתן אחריות. הציבור הרחב, המודע רק למספר קטן של תקלות תוכנה, יכול להתייחס אליהן כחריגים שנגרמו על ידי מתכנתים בלתי-מנוסים. אלו מבינינו המצויים בתוכנה יודעים טוב יותר; המתכנתים המעולים ביותר בעולם לא יכולים להימנע מבעיות כאלו.{{הערה|"היבטי תוכנה במערכות הגנה איסטרטגית", '''מעשה חושב''', אפריל 1986; תרגום לעברית של [http://klabs.org/richcontent/software_content/papers/parnas_acm_85.pdf Software Aspects of Strategic Defense Systems]}}}}
{{ציטוט|תוכן=אנשים המכירים הן את הנדסת התוכנה והן את תחומי ההנדסה הוותיקים יותר הבחינו שאמינות סביבת התוכנה נמוכה במידה משמעותית מזו המאפיינת שטחי הנדסה אחרים. כשמרבית המוצרים ההנדסיים הושלמו, נבדקו ונמכרו, סביר לצפות שתכנון המוצר נכון ושהוא יעבוד בצורה אמינה. במוצרי תוכנה, מקובל לגלות שהתוכנה מכילה שיבושים (bugs) רציניים ואינה מתפקדת בצורה אמינה אצל מספר משתמשים. בעיות אלו עלולות לצוץ במספר גרסאות ובמקרים מסוימים להחמיר את המצב כשמדובר ב"שיפור" התוכנה. בעוד מרבית המוצרים מלווים בתעודת אחריות תקפה ומגינה, הרי מוצרי תוכנה מלווים לעתים בהצהרה ספציפית על אי מתן אחריות. הציבור הרחב, המודע רק למספר קטן של תקלות תוכנה, יכול להתייחס אליהן כחריגים שנגרמו על ידי מתכנתים בלתי-מנוסים. אלו מבינינו המצויים בתוכנה יודעים טוב יותר; המתכנתים המעולים ביותר בעולם לא יכולים להימנע מבעיות כאלו.{{הערה|"היבטי תוכנה במערכות הגנה איסטרטגית", '''[[מעשה חושב (איל"א)|מעשה חושב]]''', אפריל 1986; תרגום לעברית של [http://klabs.org/richcontent/software_content/papers/parnas_acm_85.pdf Software Aspects of Strategic Defense Systems]}}}}


==טיפול בבאגים==
==טיפול בבאגים==
שורה 29: שורה 29:
==אטימולוגיה==
==אטימולוגיה==
השימוש במונח ה"באג" לתיאור של פגמים בלתי מוסברים הוא חלק מהמינוח המקצועי בעולם ה[[הנדסה]] כבר מ[[המאה ה-19]], והיה בשימוש [[מהנדס מכונות|מהנדסי מכונות]] לתיאור של כשלים מכניים. לדוגמה, [[תומאס אלווה אדיסון|אדיסון]] כתב את המילים הבאות במכתב לעמית מ-1878:
השימוש במונח ה"באג" לתיאור של פגמים בלתי מוסברים הוא חלק מהמינוח המקצועי בעולם ה[[הנדסה]] כבר מ[[המאה ה-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}}}}
{{ציטוט|תוכן=הדבר חוזר בכל המצאותי; הצעד הראשון הוא אינטואיציה, אחריה פרץ עשייה, ואז צצים הקשיים - הדבר כושל ואז ה"באגים" - כפי שנהוג לקרוא לפגמים וקשיים קטנים אלו - זוקפים את ראשם וחודשים של התבוננות מאומצת, מחקר ועבודה נדרשים לפני שהצלחה או כישלון מסחריים הופכים למציאות.{{הערה| 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}}}}


בעיות ב[[אלקטרוניקה]] של מכשירי [[מכ"ם]] במהלך [[מלחמת העולם השנייה]] נודעו כבאגים (או גליצ'ים).
בעיות ב[[אלקטרוניקה]] של מכשירי [[מכ"ם]] במהלך [[מלחמת העולם השנייה]] נודעו כבאגים (או גליצ'ים).


[[קובץ:H96566k.jpg|ממוזער|250px|תמונה של הבאג ''האמיתי'' הראשון שנמצא במחשב.]]
[[קובץ:First Computer Bug, 1945.jpg|ממוזער|250px|תמונה של הבאג ''האמיתי'' הראשון שנמצא במחשב.]]
טביעת המושג משויכת בטעות ל[[גרייס הופר]], שפרסמה את הסיבה לתקלה במחשב אלקטרומכני מוקדם. גרסה אופיינית לסיפור מופיעה בציטוט הבא:
טביעת המושג משויכת בטעות ל[[גרייס הופר]], שפרסמה את הסיבה לתקלה במחשב אלקטרומכני מוקדם. גרסה אופיינית לסיפור מופיעה בציטוט הבא:
{{ציטוט|תוכן=ב-1946, כשהופר שוחררה משירות פעיל, היא הצטרפה לסגל הרווארד במחלקה למיחשוב, שם המשיכה בעבודתה על מארק II ומארק III. מפעילים שעקבו אחרי תקלה במארק II מצאו עש שנלכד באחד הממסרים (relay), והשתמשו במושג "באג". העש הוסר בזהירות והודבק לדף הלוג של 9 בספטמבר 1945. בעקבות אותו באג ראשון אנו נוהגים להתייחס לתקלות או גליצ'ים כבאגים.{{הערה|Danis, Sharron Ann: [http://ei.cs.vt.edu/~history/Hopper.Danis.html Rear Admiral Grace Murray Hopper]}}}}
{{ציטוט|תוכן=ב-1946, כשהופר שוחררה משירות פעיל, היא הצטרפה לסגל הרווארד במחלקה למיחשוב, שם המשיכה בעבודתה על מארק II ומארק III. מפעילים שעקבו אחרי תקלה במארק II מצאו עש שנלכד באחד הממסרים (relay), והשתמשו במושג "באג". העש הוסר בזהירות והודבק לדף הלוג של 9 בספטמבר 1945. בעקבות אותו באג ראשון אנו נוהגים להתייחס לתקלות או גליצ'ים כבאגים.{{הערה|Danis, Sharron Ann: [http://ei.cs.vt.edu/~history/Hopper.Danis.html Rear Admiral Grace Murray Hopper]}}|מקור=|אנגלית=}}


הופר איננה זאת שמצאה את החרק, כפי שהיא בעצמה מודה, והתאריך לא היה 1945 אלא [[9 בספטמבר]] [[1947]].{{הערה|[http://catb.org/jargon/html/B/bug.html Bug], The Jargon File{{ש}}[http://americanhistory.si.edu/collections/search/object/nmah_334663 Log Book With Computer Bug], National Museum of American History, Smithsonian Institution}} המפעיל שמצא את הבאג היה מודע למונח ההנדסי המקורי ומשועשע, שמר את החרק עם ההערה "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 ([[ניפוי שגיאות|ניפוי]]).
הופר איננה זאת שמצאה את החרק, כפי שהיא בעצמה מודה, והתאריך לא היה 1945 אלא [[9 בספטמבר]] [[1947]].{{הערה|[http://catb.org/jargon/html/B/bug.html Bug], The Jargon File{{ש}}[http://americanhistory.si.edu/collections/search/object/nmah_334663 Log Book With Computer Bug], National Museum of American History, Smithsonian Institution}} המפעיל שמצא את הבאג היה מודע למונח ההנדסי המקורי ומשועשע, שמר את החרק עם ההערה "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 ([[ניפוי שגיאות|ניפוי]]).
שורה 49: שורה 49:
* לקראת שנת [[2000]] התברר שבנתונים תאריכיים רבים רשומה השנה, משיקולי חיסכון במקום אחסון, בשתי ספרות בלבד. השוואה בין תאריך בשנת 2000 לבין תאריך בשנים שקדמו לה תיתן במצב כזו תשובה שגויה. באג פוטנציאלי זה נקרא "[[באג 2000]]", ועורר חשש כבד מאוד. בסופו של דבר לא התממש החשש, במידה רבה עקב ההשקעות האדירות שנעשו לפתרון הבעיה קודם להגעתה של שנת 2000.
* לקראת שנת [[2000]] התברר שבנתונים תאריכיים רבים רשומה השנה, משיקולי חיסכון במקום אחסון, בשתי ספרות בלבד. השוואה בין תאריך בשנת 2000 לבין תאריך בשנים שקדמו לה תיתן במצב כזו תשובה שגויה. באג פוטנציאלי זה נקרא "[[באג 2000]]", ועורר חשש כבד מאוד. בסופו של דבר לא התממש החשש, במידה רבה עקב ההשקעות האדירות שנעשו לפתרון הבעיה קודם להגעתה של שנת 2000.
*"[[באג הפנטיום]]", באג של חלוקה ב[[נקודה צפה]] ב[[מעבד]] [[פנטיום]], שהתגלה ב־[[1994]]. למרות שבאג זה משויך לרוב לחומרה, למעשה הוא באג בתוכנת המיקרו-קוד של המעבד (תוכנה שצרובה על המעבד).
*"[[באג הפנטיום]]", באג של חלוקה ב[[נקודה צפה]] ב[[מעבד]] [[פנטיום]], שהתגלה ב־[[1994]]. למרות שבאג זה משויך לרוב לחומרה, למעשה הוא באג בתוכנת המיקרו-קוד של המעבד (תוכנה שצרובה על המעבד).
*באג ה-[[Concon]] - באג שהיה קיים במערכות מבוססות [[Windows 9x]] {{כ}}(95 או 98, אך לא מילניום, שם תוקנה הבעיה): במערכות ההפעלה של מיקרוסופט ישנם "שמות שמורים" להתקני מערכת, שהמערכת לא מאפשרת להשתמש בהם (לדוגמה: con, aux, nul ועוד). הקלדה בשורת הפקודה או ב"הפעלה", או אפילו יצירת קובץ המכיל את השורה, לדוגמה, C:\con\con, הייתה גורמת למערכת ההפעלה לקרוס ולהציג מספר [[מסך המוות הכחול|מסכים כחולים]]. עם הזמן התופעה התרחבה ומשתמשים שבחרו לנצל את הבאג הזה לרעה הפיצו קבצים שכוללים את המחרוזת הזו ברשת האינטרנט וגרמו למחשבים רבים לקרוס.
*באג ה-[[Concon]] - באג שהיה קיים במערכות מבוססות [[Windows 9x]] {{כ}}(95 או 98, אך לא מילניום, שם תוקנה הבעיה): במערכות ההפעלה של [[מיקרוסופט]] ישנם "שמות שמורים" להתקני מערכת, שהמערכת לא מאפשרת להשתמש בהם (לדוגמה: con, aux, nul ועוד). הקלדה בשורת הפקודה או ב"הפעלה", או אפילו יצירת קובץ המכיל את השורה, לדוגמה, C:\con\con, הייתה גורמת למערכת ההפעלה לקרוס ולהציג מספר [[מסך המוות הכחול|מסכים כחולים]]. עם הזמן התופעה התרחבה ומשתמשים שבחרו לנצל את הבאג הזה לרעה הפיצו קבצים שכוללים את המחרוזת הזו ברשת האינטרנט וגרמו למחשבים רבים לקרוס.


==ראו גם==
==ראו גם==
* [[הבטחת איכות תוכנה]]
* [[הבטחת איכות תוכנה]]
* [[Bug bounty]]


==לקריאה נוספת==
==לקריאה נוספת==
שורה 59: שורה 60:
==קישורים חיצוניים==
==קישורים חיצוניים==
{{מיזמים|ויקימילון=באג}}
{{מיזמים|ויקימילון=באג}}
* {{עושים היסטוריה|באגים, מזוודות וסוכני FBI - על משבר התכנה|texts/ep109_software_crisis_text/}}
* {{עושים היסטוריה|באגים, מזוודות וסוכני FBI - על משבר התכנה|109}}
* {{הארץ|רויטרס|תסריט הבלהות {{!}}{{!}} מטוס ריגול גרם למאות מטוסים בארצות הברית להיעלם מהמסכים|1.2320844|14 במאי 2014}}
* {{הארץ|רויטרס|תסריט הבלהות {{!}}{{!}} מטוס ריגול גרם למאות מטוסים בארצות הברית להיעלם מהמסכים|1.2320844|14 במאי 2014}}
* [https://www.wired.com/2005/11/historys-worst-software-bugs - historys-worst-software-bugs] באתר [[Wired (מגזין)|מגזין ווירד]]


==הערות שוליים==
==הערות שוליים==
{{הערות שוליים}}
{{הערות שוליים}}


{{בקרת זהויות}}
[[קטגוריה:תכנות]]

[[קטגוריה:באגים|*]]
[[קטגוריה:באגים|*]]
[[קטגוריה:ערכים שבהם תבנית בריטניקה אינה מתאימה]]
[[קטגוריה:תכנות]]
[[קטגוריה:טעויות]]
[[קטגוריה:טעויות]]

גרסה מ־16:10, 27 ביולי 2023

באג בהצגת מסך של ויקיפדיה בדפדפן Firefox

בָּאג (מונח עברי: תֶּקֶל[1]; באנגלית: Bug) הוא כשל טכני במערכת מבוססת תוכנה, שמתנהגת בצורה שגויה, לא צפויה או שאיננה מתוכננת.

לעיתים משמשת המילה גם לתיאור טעות בתכנון של מעגל אלקטרוני מורכב, שמימושו הוא בחומרה.

מאפייני הבאגים

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

  • התוכנה מפסיקה את פעולתה בטרם עת, ללא תוצאות או עם תוצאות חלקיות בלבד. באג מסוג זה נגרם, למשל, בעקבות חלוקה באפס.
  • התוכנית נכנסת ללולאה אינסופית, כלומר היא ממשיכה בפעולתה, אך אינה נותנת כל תוצאה, או שהיא חוזרת על אותה פעולה שוב ושוב.
  • התוכנית פועלת עד סופה ואף נותנת תוצאות, אך תוצאות אלה אינן תקינות. לעיתים בצורה זו מדובר בתקלות קלות שניתן "לחיות" איתן, כמו למשל תצוגה לא מדויקת של הנתונים על פני המסך.
  • התוכנית מבצעת בהצלחה את כל המוטל עליה, אך יש בה פרצה המאפשרת את ניצולה לרעה על ידי גורמים עוינים (ראו אבטחת מידע).

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

על בעיית האמינות של התוכנה עמד דייוויד פרנס:

אנשים המכירים הן את הנדסת התוכנה והן את תחומי ההנדסה הוותיקים יותר הבחינו שאמינות סביבת התוכנה נמוכה במידה משמעותית מזו המאפיינת שטחי הנדסה אחרים. כשמרבית המוצרים ההנדסיים הושלמו, נבדקו ונמכרו, סביר לצפות שתכנון המוצר נכון ושהוא יעבוד בצורה אמינה. במוצרי תוכנה, מקובל לגלות שהתוכנה מכילה שיבושים (bugs) רציניים ואינה מתפקדת בצורה אמינה אצל מספר משתמשים. בעיות אלו עלולות לצוץ במספר גרסאות ובמקרים מסוימים להחמיר את המצב כשמדובר ב"שיפור" התוכנה. בעוד מרבית המוצרים מלווים בתעודת אחריות תקפה ומגינה, הרי מוצרי תוכנה מלווים לעתים בהצהרה ספציפית על אי מתן אחריות. הציבור הרחב, המודע רק למספר קטן של תקלות תוכנה, יכול להתייחס אליהן כחריגים שנגרמו על ידי מתכנתים בלתי-מנוסים. אלו מבינינו המצויים בתוכנה יודעים טוב יותר; המתכנתים המעולים ביותר בעולם לא יכולים להימנע מבעיות כאלו.[2]

טיפול בבאגים

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

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

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

אטימולוגיה

השימוש במונח ה"באג" לתיאור של פגמים בלתי מוסברים הוא חלק מהמינוח המקצועי בעולם ההנדסה כבר מהמאה ה-19, והיה בשימוש מהנדסי מכונות לתיאור של כשלים מכניים. לדוגמה, אדיסון כתב את המילים הבאות במכתב לעמית מ-1878:

הדבר חוזר בכל המצאותי; הצעד הראשון הוא אינטואיציה, אחריה פרץ עשייה, ואז צצים הקשיים - הדבר כושל ואז ה"באגים" - כפי שנהוג לקרוא לפגמים וקשיים קטנים אלו - זוקפים את ראשם וחודשים של התבוננות מאומצת, מחקר ועבודה נדרשים לפני שהצלחה או כישלון מסחריים הופכים למציאות.[3]

בעיות באלקטרוניקה של מכשירי מכ"ם במהלך מלחמת העולם השנייה נודעו כבאגים (או גליצ'ים).

תמונה של הבאג האמיתי הראשון שנמצא במחשב.

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

ב-1946, כשהופר שוחררה משירות פעיל, היא הצטרפה לסגל הרווארד במחלקה למיחשוב, שם המשיכה בעבודתה על מארק II ומארק III. מפעילים שעקבו אחרי תקלה במארק II מצאו עש שנלכד באחד הממסרים (relay), והשתמשו במושג "באג". העש הוסר בזהירות והודבק לדף הלוג של 9 בספטמבר 1945. בעקבות אותו באג ראשון אנו נוהגים להתייחס לתקלות או גליצ'ים כבאגים.[4]

הופר איננה זאת שמצאה את החרק, כפי שהיא בעצמה מודה, והתאריך לא היה 1945 אלא 9 בספטמבר 1947.[5] המפעיל שמצא את הבאג היה מודע למונח ההנדסי המקורי ומשועשע, שמר את החרק עם ההערה "First actual case of bug being found".[6] אף שברור כי מפעילי מארק II לא טבעו את המונח באג, נטען שהם המציאו את המונח debug (ניפוי).

סוגי באגים

באגים בדרך כלל נופלים לתוך אחת משתי קטגוריות:

  • באגים תכנותיים - באגים שנובעים מטעות בתכנות (למשל שכחה של הוספת אחד בלולאה שגורמת ללולאה אינסופית)
  • באגים עיצוביים - באגים שנובעים מתקלות בעיצוב התוכנה (למשל, אי-הגנה מספקת בפני מתקפות חיצוניות)

באגים נודעים

כל משתמש במחשבים נתקל בבאגים הגורמים לו אי-נוחות קטנה או גדולה. לעיתים הנזק הנגרם עקב באג כבד למדי, כפי שמלמדות הדוגמאות הבאות:

  • שיגור הניסוי הראשון של משגר הלוויינים אריאן 5, ב־4 ביוני 1996 הסתיים בהשמדה עצמית 40 שניות לאחר שהחל, כתוצאה מבאג של גלישה נומרית במחשב הניווט של המשגר. הבאג נגרם כתוצאה מניסיון להעביר מספר בן 64 סיביות בנקודה צפה למספר שלם בן 16 סיביות, ניסיון שגרם להפסקת פעולתו של המחשב. באג זה היווה ציון דרך בפיתוחן של מערכות בדיקה לתוכנות זמן אמת.[7]
  • לקראת שנת 2000 התברר שבנתונים תאריכיים רבים רשומה השנה, משיקולי חיסכון במקום אחסון, בשתי ספרות בלבד. השוואה בין תאריך בשנת 2000 לבין תאריך בשנים שקדמו לה תיתן במצב כזו תשובה שגויה. באג פוטנציאלי זה נקרא "באג 2000", ועורר חשש כבד מאוד. בסופו של דבר לא התממש החשש, במידה רבה עקב ההשקעות האדירות שנעשו לפתרון הבעיה קודם להגעתה של שנת 2000.
  • "באג הפנטיום", באג של חלוקה בנקודה צפה במעבד פנטיום, שהתגלה ב־1994. למרות שבאג זה משויך לרוב לחומרה, למעשה הוא באג בתוכנת המיקרו-קוד של המעבד (תוכנה שצרובה על המעבד).
  • באג ה-Concon - באג שהיה קיים במערכות מבוססות Windows 9x ‏(95 או 98, אך לא מילניום, שם תוקנה הבעיה): במערכות ההפעלה של מיקרוסופט ישנם "שמות שמורים" להתקני מערכת, שהמערכת לא מאפשרת להשתמש בהם (לדוגמה: con, aux, nul ועוד). הקלדה בשורת הפקודה או ב"הפעלה", או אפילו יצירת קובץ המכיל את השורה, לדוגמה, C:\con\con, הייתה גורמת למערכת ההפעלה לקרוס ולהציג מספר מסכים כחולים. עם הזמן התופעה התרחבה ומשתמשים שבחרו לנצל את הבאג הזה לרעה הפיצו קבצים שכוללים את המחרוזת הזו ברשת האינטרנט וגרמו למחשבים רבים לקרוס.

ראו גם

לקריאה נוספת

קישורים חיצוניים

הערות שוליים

  1. ^ תֶּקֶל במילון טכנולוגיית המידע: שפות תכנות (תשע"ה), באתר האקדמיה ללשון העברית
  2. ^ "היבטי תוכנה במערכות הגנה איסטרטגית", מעשה חושב, אפריל 1986; תרגום לעברית של Software Aspects of Strategic Defense Systems
  3. ^ 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
  4. ^ Danis, Sharron Ann: Rear Admiral Grace Murray Hopper
  5. ^ Bug, The Jargon File
    Log Book With Computer Bug, National Museum of American History, Smithsonian Institution
  6. ^ James S. Huggins,First Computer Bug
  7. ^ פרופ' מוטי בן ארי, ה"באג" שחיסל משגר, בירחון "הבטים בהוראת מדעי המחשב" (גיליון יולי 1998 עמודים 20-22) בהוצאת משרד החינוך ומטה המרכז להוראת המדעים