സോഫ്റ്റ്‌വെയർ ബഗ്ഗ്

‌

ഒരു കംപ്യൂട്ടർ പ്രോഗ്രാം, അതു രൂപകല്പന ചെയ്തതിൽ നിന്നു വ്യത്യസ്തമായി പ്രവർത്തിക്കുകയും, കാരണം കണ്ടെത്താൻ സാധിക്കാതെ വരുകയും ചെയ്യുമ്പോൾ, പ്രോഗ്രാമിൽ **ബഗ്ഗ്** ഉണ്ടെന്നു പറയും. പ്രോഗ്രാം പരിശോധിച്ച്, കുഴപ്പമെന്തെന്നു കണ്ടെത്തി, ബഗ്ഗ് ഇല്ലതാക്കുന്നതിനെ ഡീബഗ്ഗിങ്ങ് എന്നു വിളിക്കുന്നു. ഡീബഗ് ചെയ്യാനായി ധാരാളം സോഫ്ടുവെയറുകൾ ലഭ്യമാണ്. അത്തരം സോഫ്ടുവെയറുകളാണ് ഡീബഗ്ഗറുകൾ. ജിഡിബി, ഡിബിഎക്സ് (dbx), തുടങ്ങിയവ യുണിക്സ് ഓപ്പറേറ്റിങ്ങ് സിസ്റ്റമിലെ ഡീബഗ്ഗറുകളാണ്. 1870-കളിൽ തന്നെ, യന്ത്ര ഭാഗങ്ങളിലെ തകരാറുകളെ ബഗ്ഗ് എന്നു വിശേഷിപ്പിച്ചിരുന്നു. 1941-ല അമേരിക്കയിലെ ഒരു എലക്ട്രോ-മെക്കനിക്കല് കമ്പ്യൂട്ടറായ മാർക് 2-ലെ തകരാരിനു കാരണമായത് ഒരു പ്രാണി(ബഗ്ഗ്) ആയിരുന്നെന്നും, അത് കണ്ടെത്തിയത് അമേരിക്കക്കാരിയായ ഗ്രേസ് ഹോപ്പർ എന്ന കംപ്യൂട്ടർ ശാസ്ത്രജ്ഞയാണെന്നും, ചരിത്രം പറയുന്നു. വസ്തുത എന്തായാലും, ബഗ്ഗ് എന്ന വാക്ക് കംപ്യൂട്ടർ നിഘണ്ടുവിൽ സ്ഥാനം പിടിച്ചതിൽ, ഈ സംഭവത്തിനു നല്ല പങ്കുണ്ടാകണം. 

ഉപയോക്താക്കളുടെ ആവശ്യകതകൾ വ്യാഖ്യാനിക്കുന്നതിലും എക്‌സ്‌ട്രാക്റ്റുചെയ്യുന്നതിലും ഒരു പ്രോഗ്രാമിന്റെ രൂപകൽപന ആസൂത്രണം ചെയ്യുന്നതിലും അതിന്റെ സോഴ്‌സ് കോഡ് എഴുതുന്നതിലും മനുഷ്യരുമായി ഇടപഴകുന്നതിൽ നിന്നും ഹാർഡ്‌വെയർ, പ്രോഗ്രാമുകൾ, ഓപ്പറേറ്റിംഗ് സിസ്റ്റങ്ങൾ അല്ലെങ്കിൽ ലൈബ്രറികൾ എന്നിവയിൽ നിന്നുള്ള പിഴവുകളും പിശകുകളും സോഫ്റ്റ്‌വെയറിലെ ബഗുകൾ വഴി ഉണ്ടാകാം. ഗുരുതരമായ ബഗുകളുള്ള ഒരു പ്രോഗ്രാമിനെ പലപ്പോഴും ബഗ്ഗി എന്ന് വിശേഷിപ്പിക്കാറുണ്ട്. ബഗുകൾക്ക് റിപ്പിൾ ഇഫക്റ്റുകൾ ഉണ്ടായേക്കാവുന്ന പിശകുകൾ ട്രിഗർ ചെയ്യാം. ഒരു പ്രോഗ്രാം ക്രാഷുചെയ്യുക, കമ്പ്യൂട്ടർ മരവിപ്പിക്കുക, അല്ലെങ്കിൽ ഹാർഡ്‌വെയറിന് കേടുപാടുകൾ വരുത്തുക എന്നിങ്ങനെയുള്ള ഇഫക്‌റ്റുകൾ വഴി ബഗുകൾ ടെക്‌സ്‌റ്റ് ഫോർമാറ്റിംഗ് പോലുള്ള ഉദ്ദേശിക്കാത്ത രീതിയിലുള്ള മാറ്റങ്ങൾക്ക് കാരണമായേക്കാം. മറ്റ് ബഗുകൾ സുരക്ഷാ ബഗുകളായി മാറുന്നു, ഉദാഹരണത്തിന്, അനധികൃതമായ പ്രത്യേകാവകാശങ്ങൾ നേടുന്നതിന് ആക്സസ് നിയന്ത്രണങ്ങൾ മറികടക്കാൻ ഒരു മലീഷ്യസ് യൂസർക്ക് സാധിച്ചേക്കാം.

ചില സോഫ്റ്റ്‌വെയർ ബഗുകൾ ഗുരുതര പ്രത്യഘാതങ്ങൾ ഉണ്ടാക്കാറുണ്ട്. Therac-25 റേഡിയേഷൻ തെറാപ്പി മെഷീനെ നിയന്ത്രിക്കുന്ന കോഡിലെ ബഗുകൾ കാരണം 1980 കളിൽ രോഗികളുടെ മരണത്തിന് കാരണമായി. 1996-ൽ, യൂറോപ്യൻ ബഹിരാകാശ ഏജൻസിയുടെ 1 ബില്യൺ യുഎസ് ഡോളറിന്റെ പ്രോട്ടോടൈപ്പ് ഏരിയൻ 5 റോക്കറ്റ് വിക്ഷേപിച്ച് ഒരു മിനിറ്റിനുള്ളിൽ ഓൺ-ബോർഡ് ഗൈഡൻസ് കമ്പ്യൂട്ടർ പ്രോഗ്രാമിലെ ബഗ് കാരണം തകർന്നു തരിപ്പണമായി.1994-ൽ റാഫ്(RAF) ചിനൂക്ക് ഹെലികോപ്റ്റർ തകർന്ന് 29 പേർ മരിച്ചു. പൈലറ്റിന്റെ പിഴവ് മൂലമാണ് ഇത് സംഭവിച്ചത് എന്ന് ആദ്യം കരുതിയിരുന്നത്, എന്നാൽ പിന്നീട് എഞ്ചിൻ കൺട്രോൾ കമ്പ്യൂട്ടറിലെ സോഫ്റ്റ്‌വെയർ ബഗ് മൂലമാണ് ഇത് സംഭവിച്ചതെന്ന് കരുതപ്പെടുന്നു. ബഗ്ഗ് ഉള്ള സോഫ്റ്റ്‌വെയർ മൂലം 21-ാം നൂറ്റാണ്ടിന്റെ തുടക്കത്തിൽ ബ്രിട്ടീഷ് പോസ്റ്റ് ഓഫീസ് അഴിമതിക്ക് കാരണമായി, ബ്രിട്ടീഷ് നിയമ ചരിത്രത്തിലെ ഏറ്റവും വ്യാപകമായ നീതിനിഷേധമായിരുന്നു അത്.

2002-ൽ, യുഎസ് ഡിപ്പാർട്ട്‌മെന്റ് ഓഫ് കൊമേഴ്‌സിന്റെ നാഷണൽ ഇൻസ്റ്റിറ്റ്യൂട്ട് ഓഫ് സ്റ്റാൻഡേർഡ് ആൻഡ് ടെക്‌നോളജി കമ്മീഷൻ ചെയ്ത ഒരു പഠനം, "സോഫ്റ്റ്‌വെയർ ബഗുകൾ അല്ലെങ്കിൽ പിശകുകൾ വളരെ വ്യാപകമായതും ഹാനികരവുമാണ്, സോഫ്റ്റ്‌വേർ ബഗ്ഗുകൾ മൂലം യുഎസ് സമ്പദ്‌വ്യവസ്ഥയ്ക്ക് പ്രതിവർഷം 59 ബില്യൺ ഡോളർ അല്ലെങ്കിൽ മൊത്ത ആഭ്യന്തര ഉൽപ്പാദനത്തിന്റെ 0.6 ശതമാനം നഷ്ടമുണ്ടാകുന്നുണ്ട്."
## ചരിത്രം
മിഡിൽ ഇംഗ്ലീഷ് പദമായ ബഗ്ഗി(bugge) വന്നത് "ബഗ്ബിയർ", "ബുഗാബൂ" എന്നീ വാക്കുകളിൽ നിന്നാണ്. ഇതിന്റെ അർത്ഥം മോൺസ്റ്റർ(രാക്ഷസൻ) എന്നാണ്.

വൈകല്യങ്ങളെ(defects)വിവരിക്കുന്ന "ബഗ്" എന്ന പദം 1870-കൾ മുതൽ എഞ്ചിനീയറിംഗ് പദാവലിയുടെ ഭാഗമാണ്കൂടാതെ ഇലക്ട്രോണിക്സും കമ്പ്യൂട്ടറും കണ്ടുപിടിക്കുന്നതിന് മുമ്പുള്ളതാണ്; മെക്കാനിക്കൽ തകരാറുകൾ വിവരിക്കാൻ വേണ്ടി ഇത് ആദ്യം ഹാർഡ്‌വെയർ എഞ്ചിനീയറിംഗിൽ ഉപയോഗിച്ചിരിക്കാം. ഉദാഹരണത്തിന്, തോമസ് എഡിസൺ 1878-ൽ തന്റെ സഹപ്രവർത്തകനുള്ള ഒരു കത്തിൽ ഇപ്രകാരം എഴുതി:

ആദ്യത്തെ മെക്കാനിക്കൽ പിൻബോൾ ഗെയിമായ ബാഫിൾ ബോൾ, 1931-ൽ "ബഗുകൾ ഇല്ലാത്ത ഗെയിം" എന്ന് പരസ്യം ചെയ്യപ്പെട്ടു. രണ്ടാം ലോകമഹായുദ്ധസമയത്ത് സൈനിക ഉപകരണങ്ങളുമായി ബന്ധപ്പെട്ട പ്രശ്നങ്ങൾ ബഗുകൾ (അല്ലെങ്കിൽ തകരാറുകൾ) എന്ന് വിളിക്കപ്പെട്ടു.

1942-ൽ പ്രസിദ്ധീകരിച്ച ഒരു പുസ്തകത്തിൽ, ലൂയിസ് ഡിക്കിൻസൺ റിച്ച്, ഒരു പവർഡ് ഐസ് കട്ടിംഗ് മെഷീനിനെക്കുറിച്ച് പറഞ്ഞു, "പവർഡ് ഐസ് കട്ടിംഗിന്റെ സ്രഷ്ടാവ് മെഷീനിൽ നിന്ന് ബഗുകൾ പുറത്തെടുക്കുന്നത് ഐസ് സോവിംഗ് താൽക്കാലികമായി നിർത്തിവച്ചിരിക്കുന്നു."

ഐസക് അസിമോവ് 1944-ൽ പ്രസിദ്ധീകരിച്ച "ക്യാച്ച് ദാറ്റ് റാബിറ്റ്" എന്ന ചെറുകഥയിൽ റോബോട്ടുമായി ഉടലെടുത്ത പ്രശ്നങ്ങളുമായി ബന്ധപ്പെട്ട് "ബഗ്" എന്ന പദം ഉപയോഗിച്ചു.

കമ്പ്യൂട്ടർ പയനിയർ(ആദ്യകാല കമ്പ്യൂട്ടർ ശാസ്ത്രഞ്ജർ) ഗ്രേസ് ഹോപ്പർ ഒരു അക്കൗണ്ടിൽ "ബഗ്" എന്ന പദം ഉപയോഗിച്ചു, ആദ്യകാല ഇലക്ട്രോ മെക്കാനിക്കൽ കമ്പ്യൂട്ടറിലെ തകരാറിനെക്കുറിച്ച് അവർ പരസ്യപ്പെടുത്തി.ഈ കഥയുടെ സാധാരണ പതിപ്പ് ഇതാണ്:

ബഗ് കണ്ടെത്തിയപ്പോൾ ഹോപ്പർ അവിടെ നിന്നും വിരമിച്ചിരുന്നു, പക്ഷേ അത് അവരെക്കുറിച്ചുള്ള പ്രിയപ്പെട്ട കഥകളിൽ ഒന്നായി മാറി. ലോഗ് ബുക്കിൽ രേഖപ്പെടുത്തിയ തീയതി 1947 സെപ്റ്റംബർ 9 ആയിരുന്നു.

പിന്നീട് വിർജീനിയയിലെ ഡാൽഗ്രെനിലെ നേവൽ വെപ്പൺസ് ലബോറട്ടറിയിലെവില്യം "ബിൽ" ബർക്ക് ഉൾപ്പെടെ, ഇത് കണ്ടെത്തിയ ഓപ്പറേറ്റർമാർ ഈ എഞ്ചിനീയറിംഗ് പദത്തെക്കുറിച്ച് പരിചിതരായിരുന്നു, കൂടാതെ "ബഗ് കണ്ടെത്തിയതിന്റെ ആദ്യത്തെ യഥാർത്ഥ കേസ്" എന്ന നൊട്ടേഷൻ കൊടുത്ത് പ്രാണിയെ സൂക്ഷിച്ചു."

ഈ ലോഗ് ബുക്ക്, അറ്റാച്ച് ചെയ്ത പുഴു പൂർണ്ണമായി, സ്മിത്സോണിയൻ നാഷണൽ മ്യൂസിയം ഓഫ് അമേരിക്കൻ ഹിസ്റ്ററിയുടെ ശേഖരത്തിന്റെ ഭാഗമാണ്.
### അനുബന്ധ വിഷയങ്ങൾ
* വിശ്വവിഖ്യാതമായ കംപ്യൂട്ടർ ബഗ്ഗുകൾ 
* ഡിബഗ്ഗർ പട്ടിക 
* വൈ ടു കെ

## അനുബന്ധ വിഷയങ്ങൾ

* Collection of Software Bugs (Thomas Huckle, TU München)
* Computer-Related Incidents with Commercial Aircraft (Peter B. Ladkin et al., Universität Bielefeld)
* An Investigation of the Therac-25 Accidents (Nancy Leveson, University of Washington and Clark S. Turner, University of California at Irvine)
* Fatal Dose: Radiation Deaths linked to AECL Computer Errors (Barbara Wade Rose, Canadian Coalition for Nuclear Responsibility)
* Software Horror Stories (Nachum Dershowitz)
* Software Does Not Fail  (Paul Niquette]
* Picture of the "first computer bug"  The error of this term is elaborated above. (Naval Historical Center)
* Page from 1947 log book with "first actual case of bug being found" (moth) (National Museum of American History)
* The First Computer Bug!  An email from 1981 about Adm. Hopper's bug
* How to Report Bugs Effectively (Simon G. Tatham)
* Rates of Design Failure 
* Bug Tracking Basics: A beginner’s guide to reporting and tracking defects  (Mitch Allen)
* History's Worst Software Bugs 
* Bug Isolation Project - This project is to track bugs of popular open source software. Everyone can participate if he/she has Fedora Core 5 installed.''

## അവലംബം
വർഗ്ഗം:സോഫ്റ്റ്‌വെയർ