Notorious software bug was killing people 40 years ago — at least three people died after radiation doses that were 100x too strong from the buggy Therac-25 radiation therapy machine | Tom's Hardware

یک باگ نرم‌افزاری بدنام ۴۰ سال پیش جان انسان‌ها را می‌گرفت

باگ‌های نرم‌افزاری می‌توانند باعث اضطراب، ناراحتی و هدر رفتن زمان ارزشمند شوند، اما خوشبختانه به ندرت کشنده هستند. با این حال، در سال ۱۹۸۵، یک دستگاه رادیوتراپی به نام Therac-25 تازه شروع به کشتار انسان‌ها کرده بود. یک باگ در نرم‌افزار آن منجر به یک وضعیت رقابتی (race condition) مرگبار شد و حداقل شش نفر دوزهای تابشی ۱۰۰ برابر قوی‌تر از حد مجاز دریافت کردند. سه نفر در نتیجه این باگ نرم‌افزاری جان باختند.

هنگام عرضه، Therac-25 یک دستگاه جذاب برای موسسات پزشکی بود، زیرا دو حالت درمانی انقلابی را در یک دستگاه فشرده ارائه می‌داد. می‌توانست برای پرتودرمانی با پرتو الکترونی برای مشکلات بافت سطحی، مانند سرطان‌های پوست، استفاده شود. حالت عملیاتی دیگر آن پرتودرمانی اشعه ایکس مگاولت بود که در آن یک پرتو الکترونی با جریان بالا می‌توانست مشکلات بافت عمیق را هدف قرار دهد. شما قطعاً نمی‌خواستید این حالت‌ها را با هم اشتباه بگیرید…

حرکت به سمت کنترل‌های صرفاً نرم‌افزاری

یکی از نوآوری‌های ارائه شده با Therac-25، حرکت به سمت کنترل‌های صرفاً نرم‌افزاری بود. دستگاه‌های قبلی دارای قفل‌های سخت‌افزاری الکترومکانیکی بودند تا از انواع حوادث تابشی که در طول کار با این دستگاه رخ داد، جلوگیری کنند. به عنوان مثال، گفته می‌شود Therac-20 باگ‌های نرم‌افزاری مشترکی با Therac-25 داشت، اما سخت‌افزار حتی در صورت نقص نرم‌افزار، هرگونه شرایط عملیاتی ناایمن را مسدود می‌کرد.

صفحه عنوان بازی ویدیویی کلاسیک DOOM. اسکرین‌شات پین‌بال یک RTX 4090 در اتاق عمل، به سختی دوام آورده است

مقاله‌ای که توسط آن ماری پورلو، دانشجوی کارشناسی ارشد علوم کامپیوتر دانشگاه دولتی کالیفرنیا منتشر شد، ماهیت باگ/حادثه را در شش مورد شناخته شده شرح می‌دهد. برای بروز این باگ کشنده، معمولاً اپراتور Therac-25 به اشتباه حالت عملیاتی نادرست را انتخاب می‌کرد و به سرعت سعی در اصلاح خطای خود داشت. یک اپراتور باتجربه می‌توانست پارامترهای درمان را آنقدر سریع ویرایش کند که نرم‌افزار به دلیل «وضعیت رقابتی» بین کنترل‌کننده ورودی و منطق پرتو تابش، یک بررسی ایمنی را نادیده بگیرد.

نکته مهم این بود که Therac-25 حدود ۸ ثانیه طول می‌کشید تا حالت پرتو تابش را تغییر دهد و اپراتورهای سریع می‌توانستند نرم‌افزار را با ورودی‌ها در این بازه زمانی گیج کنند.

اولین حادثه مستند شده در ژوئن ۱۹۸۵ و آخرین آن در ژانویه ۱۹۸۷ رخ داد. سازنده Therac-25، شرکت AECL، ماه‌ها در برابر هرگونه اتهام به سیستم‌های خود مقاومت کرد و تنها در بهار ۱۹۸۶ به یک تحقیق کامل تن داد. در آن زمان، FDA نیز در حال بررسی این حوادث بود.

در پی کشتار Therac-25، درخواست‌هایی برای تأیید رسمی، آزمایش دقیق و بهبود مستندات برای تمام نرم‌افزارهای پزشکی مطرح شد. مسائل مربوط به Therac-25 به یک داستان هشداردهنده رایج در مطالعات علوم کامپیوتر تبدیل شده است.

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

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

جستجو در سایت

سبد خرید

درحال بارگذاری ...
بستن
مقایسه
مقایسه محصولات
لیست مقایسه محصولات شما خالی می باشد!