یک باگ نرمافزاری بدنام ۴۰ سال پیش جان انسانها را میگرفت
باگهای نرمافزاری میتوانند باعث اضطراب، ناراحتی و هدر رفتن زمان ارزشمند شوند، اما خوشبختانه به ندرت کشنده هستند. با این حال، در سال ۱۹۸۵، یک دستگاه رادیوتراپی به نام Therac-25 تازه شروع به کشتار انسانها کرده بود. یک باگ در نرمافزار آن منجر به یک وضعیت رقابتی (race condition) مرگبار شد و حداقل شش نفر دوزهای تابشی ۱۰۰ برابر قویتر از حد مجاز دریافت کردند. سه نفر در نتیجه این باگ نرمافزاری جان باختند.
هنگام عرضه، Therac-25 یک دستگاه جذاب برای موسسات پزشکی بود، زیرا دو حالت درمانی انقلابی را در یک دستگاه فشرده ارائه میداد. میتوانست برای پرتودرمانی با پرتو الکترونی برای مشکلات بافت سطحی، مانند سرطانهای پوست، استفاده شود. حالت عملیاتی دیگر آن پرتودرمانی اشعه ایکس مگاولت بود که در آن یک پرتو الکترونی با جریان بالا میتوانست مشکلات بافت عمیق را هدف قرار دهد. شما قطعاً نمیخواستید این حالتها را با هم اشتباه بگیرید…
حرکت به سمت کنترلهای صرفاً نرمافزاری
یکی از نوآوریهای ارائه شده با Therac-25، حرکت به سمت کنترلهای صرفاً نرمافزاری بود. دستگاههای قبلی دارای قفلهای سختافزاری الکترومکانیکی بودند تا از انواع حوادث تابشی که در طول کار با این دستگاه رخ داد، جلوگیری کنند. به عنوان مثال، گفته میشود Therac-20 باگهای نرمافزاری مشترکی با Therac-25 داشت، اما سختافزار حتی در صورت نقص نرمافزار، هرگونه شرایط عملیاتی ناایمن را مسدود میکرد.
مقالهای که توسط آن ماری پورلو، دانشجوی کارشناسی ارشد علوم کامپیوتر دانشگاه دولتی کالیفرنیا منتشر شد، ماهیت باگ/حادثه را در شش مورد شناخته شده شرح میدهد. برای بروز این باگ کشنده، معمولاً اپراتور Therac-25 به اشتباه حالت عملیاتی نادرست را انتخاب میکرد و به سرعت سعی در اصلاح خطای خود داشت. یک اپراتور باتجربه میتوانست پارامترهای درمان را آنقدر سریع ویرایش کند که نرمافزار به دلیل «وضعیت رقابتی» بین کنترلکننده ورودی و منطق پرتو تابش، یک بررسی ایمنی را نادیده بگیرد.
نکته مهم این بود که Therac-25 حدود ۸ ثانیه طول میکشید تا حالت پرتو تابش را تغییر دهد و اپراتورهای سریع میتوانستند نرمافزار را با ورودیها در این بازه زمانی گیج کنند.
اولین حادثه مستند شده در ژوئن ۱۹۸۵ و آخرین آن در ژانویه ۱۹۸۷ رخ داد. سازنده Therac-25، شرکت AECL، ماهها در برابر هرگونه اتهام به سیستمهای خود مقاومت کرد و تنها در بهار ۱۹۸۶ به یک تحقیق کامل تن داد. در آن زمان، FDA نیز در حال بررسی این حوادث بود.
در پی کشتار Therac-25، درخواستهایی برای تأیید رسمی، آزمایش دقیق و بهبود مستندات برای تمام نرمافزارهای پزشکی مطرح شد. مسائل مربوط به Therac-25 به یک داستان هشداردهنده رایج در مطالعات علوم کامپیوتر تبدیل شده است.
- کولبات
- شهریور 31, 1404
- 24 بازدید






