تکنولوژی

10 باگ بزرگ تاريخ

نام نویسنده: منصور نصيرى

آسيا – همزمان با به وجود آمدن كامپيوترها و ساده تر شدن كارهاى مختلف، مـــساله اى به نام اشتباهات ناشى از اشكال و يا ضعف هاى نرم افزارى نيز پديد آمد. اين اشكالات و ضعف هاى نرم افزارى در بعضى موارد موجب به وجود آمدن ضرر و زيان هاى هنگفت و حتى مرگ و مير و نابودى برخى انسان ها شده است.

در اين مقالـــــــه بـــه بررسى 10 مورد از مهم ترين اشتباهات نرم افزارى تاريخ كامپيوتر خواهيم پرداخت. اين 10 مورد نبايد به مفهوم مطلق بزرگ ترين باگ هاى تاريخ لقب بگيرند، چه بسا باگ هاى ديگرى در گوشه و كنار دنيا منجر به صدمات و مرگ و ميرهاى بيش ترى شده باشند، اما در گزارش ها و اخبار نامى از آنها به ميان نيامده باشد. اين ده مورد به ترتيب اهميت از ميان خبرسازترين، خطرناك تــرين و گران ترين باگ هاى تاريخ صنعت كامپيوتر انتخاب شده است.

1962 – سفينه كاوشگر Mariner1 از مسير خود به سوى سياره زهره منحر مى شود
راكت اين كاوشگر بدون سرنشين كه از ايستگاه فضايى كيپ كارناوال به مقصد سياره زهره فرستاده شده بود، اندكى پس از برخاستن از مسير خود منحرف شد و NASA براى جلوگيرى از به مخاطره افتادن جان انسان ها مجبور به انهدام آن در فضا شد.
NASA بعدها علت مشكل به وجود آمده را ناشى ا ز وجود يك سطر اشتباه در برنامه Fortran ناوبرى كاوشگر اعلام كرد. در گزارش NASA آمده بود:
يك خط ارتباط دهنده بين قسمت هايى از نرم افزار ناوبرى به طريقى از درون برنامه كامپيوترى حذف شده و در اثر فرستاده شدن سيگنال فرمان اشتباه به راكت سفينه به سمت پايين تغيير جهت داده و منحرف شده است.
براى نشان دادن اهميت اين باگ ذكر همين يك نكته كافى است كه اولين تلاش آمريكا براى پرتاب يك سفينه بين سياره اى به خاطر عدم وجود يك پيوند و ارتباط در نرم افزار ناوبرى با شكست مواجه شد.
سفينه بالغ بر 80 ميليون دلار ارزش داشت و آرتورسى كلارك ، نويسنده مشهور داستان هاى علمى تخيلى اين پروژه را به عنوان گران ترين ارتباط تاريخ ملقب كرد!
1987-1985 – نقص در نرم افزار دستگاه پرتو درمانى موجب مرگ 4 بيمار مى شود
وجود نقص در نرم افزار دستگاه پرتودرمانى Therac-25 كه توسط آژانس انرژى اتمى كانادا (AECL) ساخته شده بود موجب تابش بيش از حد مجاز اشعه به بيماران سرطانى و در نتيجه مرگ 4 نفر از آنها شد. پس از آكه خانواده هاى متوفيان تقاضاى پيگيرى و تعقيب قانونى اين قضيه را ارائه كردند، در خارج از دادگاه به اين قضيه فيصله داده شد. بعدها تحقيقات و بازرسى هاى NancyLeveson يك دانشمند مستقل Clarck Turner نشان داد كه اين مشكل حتى پس از آن كه AECL نقص نرم افزارى را برطرف كرده همچنان وجود داشته است.

درسى كه از بررسى ماجراى Therac-25 مى توان گرفت اين است كه تكيه و كفايت كردن به رفع اشكالات نرم افزارى به تنهايى نمى تواند باعث به وجودآمدن سيستم هاى مطمئن و امن بشود.
در گزارش بازرسى آمده بود: مشكل اصلى ناشى از وجود مهندسى نرم افزارى ضعيف در طراحى و ساخت ماشينى است كه براى انجام درست و مطمئن وظايفش تنها به نرم افزار نوشته شده تكيه و اعتماد كرده است.

1990 – سرويس راه دور AT&T از كار مى افتد
وجـود يك اشكال Switching در كامپيوترهاى AT&T موجب مى شود كه شبك ارتباط راه دور آن به مدت 9 ساعت قطع شود. از اين حادثه به عنوان بدترين قطعى تاريخ نام برده مى شود. مشكل پيش آمده موجب نقص در عملكرد هزاران سرويس مختلف و سرانجام به يك خط برنامه اشتباه نسبت داده شد.
1991 – موشك پاتريوت عمل نمى كند
موشك آمريكايى پاتريوت براى مقابله و نابودى موشك هاى اسكاد عراق در جنگ خليج فارس طراحى شده بود اما اين موشك ها در موارد مختلف در پيگيرى موشك هاى اسكاد ناتوان عمل كردند.
در يكى از موارد موشك پاتريوت در برابر موشك اسكاد پرتاب شده از سوى عراق عمل نكرده و پس از اصابت به يك سربازخانه سربازان آمريكايى در ظهران عربستان سعودى موجب مرگ 28 سرباز شد. اشتباه فوق از اشكال نرم افزارى ناشى مى شد كه به مدت 34 صدم ثانيه سيستم رديابى و پيگيرى موشك را خاموش كرده بود.

آن طــور كه Ivars peterson در كتاب “نقص كشنده” توضيح مى دهد، موشك هاى پاتريوت براى 14 ساعت كار كردن مداوم طراحى شده بودند. در حمله ظهران باترى موشك بيش از 100 ساعت مورد استفاده قرار گرفت و اشتباه به وجود آمده در كاركرد ساعت سيستم باعث شده بود كه سيستم رديابى و پيگيرى موشك از كار بيفتد.
در حقيقت ارتش قبل از آن مشكل را پيدا و برطرف كرده بود، اما نرم افزار اصلاح شده را به موقع براى نيروها نفرستاده بود.
1994- تراشه پنتيوم تست رياضى را اشتباه پشت سر مى گذارد يكى از مواردى كه مفهوم باگ آشكار كرد، زمانى بود كه پرفسور Thomas Nicely در كالج Lynch burg ويرجينيا كشف كرد كه تراشه پنتيوم به معادلات پيچيده پاسخ غلط مى دهد. در حقيقت اين مشكل به ندرت و تنها براى درصد كمى از كاربران كه از نرم افزارهاى خاص استفاده مى كردند، پيش مى آمد.
اينتل در آغاز با سهل انگارى با اين موضع برخورد كرد اما سرانجام مجبور شد تراشه هاى معيوب را جمع آورى و تعويض كند. اين جمع آورى و تعويض به گفته مديران اينتل براى نها 450 ميليون دلار ضـــرر در پى داشت اينتل براى آن كه نشان بدهد كه به اشكالات پى برده و به طور جدى آنها را پيگيرى مى كند ، ليستى از باگ ها يا “errata” همه تراشه هايش را منتشر كرد.
1995 – نرم افزار مالياتى Intuit اسرار مالى را فاش مى كند نرم افزارمالياتى Intyit كه براى ويندوز و مكينتاش تهيه شده بود، تعداد زيادى باگ و مشكلات مختلف داشت به طورى كه شركت سازنده اش را مجبور به پرداخت جريمه و تاوان به استفاده كنندگان از اين نرم افزار كرد. مهم ترين مشكل و نقص برنامه در مارس 1995 كشف شد. يك نقص نرم افزارى به كاربرانى كه برروى سيستم هايشان از سيستم عامل Unix استفاده مى كردند امكان دسترسى و اردشدن به كامپيوتر اصل موسسه را مى داد.
كليه اطلاعات محرمانه واردشده توسط كاربران برروى اين كامپيوتر ذخيره و نگهدارى مى شد و با دسترسى آسان به اين اطلاعات مهم و محرمانه امكان حذف و يا تغيير و دستكارى در اين اطلاعات به راحتى در اختيار كاربران Unix قرار داده شده بود.

بعدها شركت Intuit به خاطر سرعت عمل در پيدا كردن باگ و رفع و اصلاح سريع آن نسبت به بقيه شركت ها از سوى Bugnet برنده جايزه سالانه رفع و اصلاح باگ سال 1996 شد.
1995 -افتتاح فرودگاه New Denver ، 16 ماه به تعويق مى افتد بازگشايى فرودگاه New Denver كه قرار بود به عنوان يك شاهكار مهندسى و طراحى افتتاح و آغاز به كار كند و در آن از يك سيستم پيچيده كامپيوترى حمل بار و توشه مسافر و يك شبكه كابل نورى با 8530 كيلومتر كابل نورى استفاده شده بود.
به علت وجود يك باگ نرم افزارى در سيستم حمل بار كه منجر به تصادم چمدان ها و بار مسافران با يكديگر و ديوار فرودگاه مى شد به مدت 16 ماه به تعويق افتاد و سرانجام با صرف 3/2 ميليارد دلار هزينه اضافه و حذف سيستم حمل باركامپيوترى و جايگزين كردن آن با يك سيستم كاملا دستى، افتتاح و آغاز به كار كرد.
1997-1996 – جاوا باعث به وجود آمدن مشكلات امنيتى در Browser ها مى شود
اين يك باگ مشخص و منفرد نبود بلكه از مجموعه اى از باگ هاى مختلف تشكيل شده بود. وجود اين باگ در برداشت ه و ديدگاه هاى كاربران نسبت به اينترنت تاثيرات عميقى را به جاى گذاشت و صنعت تجارت الكترونيكى را 5 سال به عقب برگرداند.
مشكل جاوا زمانى آشكار شد كه در سال 1996 تحقيقاتى در دانشگاه هاى واشنگتن و پرنيستون نشان دادند كه از طريق يك ضعف امنيتى موجود در جاوا، هكرها مى توانند به اطلاعات شخصى كاربران نفوذ و دسترسى پيدا كنند. هنوز گزارشى از سوء استفاده از اين نقطه ضعف امنيتى منتشر نشده بود كه شركت هاى مختلف كارمندانشان را مجبور به غيرفعال كردن Java در مرورگرهايشان كردند.

در اين ميان مايكروسافت ونت سكيپ درگير جنگلى براى بازار گرمى بيش تر و سبقت در ارائه نسخه 4.0 مرورگرشان شدند و در نتيجه نسخه هاى ارائه شده پر از باگ هاى جاوا و نقاط ضعف امنيتى جاوا شد. اينترنت اكسپلورر4.01 كه ادعا مى كرد بسيارى از مشكلات را رفع كرده دوماه بعد نت سكيپ 4.04 شش ماه بعد از اولين نسخه نت سكيپ به بازار آمدند.
1998 -مشكل نرم افزارى آژانس هاى الكتريكى كاليفرنيا را به ورشكستگى مى كشاند
دو آژانس انرژى الكتريكى با ايجاد مشكل در تنظيمات و راه اندازى صنايع برق كاليفرنيا موجب به تعويق افتادن يك طرح الكتريكى به مدت سه ماه شدند.
اين زمان صرف كشف و رفع عيب از نرم افزار استفاده شده گرديده و اين تاخير حدود 90 ميليون دلار ضرر در پى داشت و باعث شد آژانس هاى جديد قبل از آ كه آغاز به كار كنند ورشكسته و مقروض شوند.
2000 -مشكل سال 2 هزار- باگ هزاره يا Y2K
براى مدت مديدى برنامه نويسان به خاطر صرفه جويى در تنها 2 رقم از نوشتن تاريخ ميلادى به شكل كامل و 4 رقمى خوددارى و آن را به صورت خلاصه 2 رقمى مى نوشتند.
موقعى كه ساعت ها در اول ژانويه 2000 ساعت 12:59 نيمه شب را پشت سر مى گذاشتند و وارد هزاره جديد مى شدند، اين خلاصه نويسى باعث شد تا ميليون ها كامپيوتر در سراسر جهان تصور كنند به سال 1900 برگشته اند! چنانچه اين Bag بزرگ برطرف نمى شد، صنعـــت و تكنولوژى در آغاز هزاره جديد به يكصدسال پيش بازمى گشت ! پس از كشف اين Bag بزرگ رسانه ها مشكل Y2K را درصدر اخبا خود قرار دادند.
در اين خبرها از مردم خواسته مى شد كه قبل از فرا رسيدن اول ژانويه به اندازه كافى مايحتاج مورد نياز خود را تهيه و ذخيره كنند.
در بعضى از رسانه ها خبر از احتمال سقوط هواپيماها، از كار افتادن نيروگاه ها ، دستگاه هاى خودپرداز ATM ، مسدود شدن حساب هاى بانكى، متوقف شدن دستگاه هاى استفاده شده در اتاق هاى عمل و مراقبت هاى ويژه بيمارستان ها و بسيارى دستگاه ها و خدمات حياتى ديگر داده شده بود. هر چند كه شركت هاى مختلف با صرف هزينه هاى سنگين در گوشه و كنار جهان پيش از اين تاريخ نسبت به رفع اين مشكل نرم افزارى اقدام كردند اما اين روز عملا در سرتاسر جهان به صورت يك روز كاملا تعطيل درآمد و بسيارى از شركت ها از جمله خطوط هوايى در آن روز از ارائه خدمات خوددارى كردند.
nasiri@asia-economic.com

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد.