Connect with us

Hi, what are you looking for?

Notebookspec

CONTENT

ถอดบทเรียนจาก Therac-25: เมื่อบั๊กซอฟต์แวร์คร่าชีวิตผู้ป่วยจริง

Therac-25 software bug

เมื่อพูดถึง “บั๊กซอฟต์แวร์” หลายคนอาจนึกถึงปัญหาที่สร้างความรำคาญ เสียเวลา หรือทำให้ระบบค้าง แต่ยากที่จะจินตนาการว่าบั๊กเหล่านี้อาจคร่าชีวิตมนุษย์ได้จริง ทว่ากลับเกิดขึ้นแล้วในปี ค.ศ. 1985 (พ.ศ. 2528) กับเครื่องฉายรังสีรักษามะเร็งที่ชื่อว่า Therac-25 ซึ่งมีข้อบกพร่องร้ายแรงในซอฟต์แวร์ ทำให้ผู้ป่วยได้รับรังสีแรงกว่าปกติถึง 100 เท่า และมีผู้เสียชีวิตอย่างน้อย 3 ราย

Advertisement

จุดเริ่มต้นของนวัตกรรมที่กลายเป็นหายนะ

Therac-25 เป็นเครื่องฉายรังสีที่ดูทันสมัยมากในยุคนั้น จุดเด่นคือมี โหมดการรักษาสองแบบในเครื่องเดียว

  • Electron Beam Therapy: สำหรับรักษามะเร็งหรือปัญหาที่อยู่ตื้น ๆ ใต้ผิวหนัง เช่น มะเร็งผิวหนัง
  • Megavolt X-ray Therapy: สำหรับยิงรังสีลึกลงไปในร่างกายเพื่อรักษามะเร็งภายใน

แน่นอนว่าทั้งสองโหมดนี้ไม่ควรถูกสลับหรือใช้งานผิดพลาดโดยเด็ดขาด


จากฮาร์ดแวร์สู่ซอฟต์แวร์

เครื่องรุ่นก่อนหน้าอย่าง Therac-20 ยังมี ระบบป้องกันด้วยฮาร์ดแวร์ (interlocks) คอยกันความผิดพลาด แม้ซอฟต์แวร์มีบั๊กก็ยังไม่ก่อให้เกิดอันตรายร้ายแรง

แต่ Therac 25 ตัดสินใจย้ายการควบคุมทั้งหมดมาอยู่บนซอฟต์แวร์ โดยไม่มีตัวล็อกฮาร์ดแวร์สำรอง หากเกิดบั๊ก ก็ไม่มีสิ่งใดหยุดยั้งผลลัพธ์ได้


บั๊กมรณะ: Race Condition

นักวิจัยด้านคอมพิวเตอร์ Anne Marie Porrello ได้อธิบายว่า สาเหตุของโศกนาฏกรรมคือ race condition หรือการที่กระบวนการทำงานของซอฟต์แวร์ชนกันในช่วงเวลาที่ไม่ควรเกิดขึ้น

เครื่อง Therac 25 ใช้เวลาราว 8 วินาที ในการเปลี่ยนโหมดรังสี หากผู้ควบคุมกดแก้ไขค่าระหว่างช่วงนี้เร็วเกินไป ซอฟต์แวร์จะข้ามการตรวจสอบความปลอดภัย และเปิดโหมดรังสีแรงสูงโดยตรง ส่งผลให้ผู้ป่วยได้รับรังสีมากผิดปกติ


เหตุการณ์ที่เกิดขึ้นจริง

มีบันทึกอย่างน้อย 6 เหตุการณ์ระหว่างปี 1985 – 1987 โดยสรุปดังนี้

  • 3 มิ.ย. 1985 – Marietta, Georgia, สหรัฐฯ: ผู้ป่วยต้องผ่าตัดเต้านมออก และแขนสูญเสียการใช้งาน
  • 26 ก.ค. 1985 – Ontario, แคนาดา: ผู้ป่วยต้องผ่าตัดเปลี่ยนสะโพก
  • 6 ม.ค. 1986 – Yakima, Washington, สหรัฐฯ: ผู้ป่วยมีบาดแผลและแผลเป็นถาวร
  • 21 มี.ค. 1986 – Tyler, Texas, สหรัฐฯ: ผู้ป่วยเสียชีวิต
  • 11 เม.ย. 1986 – Tyler, Texas, สหรัฐฯ: ผู้ป่วยเสียชีวิต
  • 17 ม.ค. 1987 – Yakima, Washington, สหรัฐฯ: ผู้ป่วยเสียชีวิต

รวมแล้วมีผู้เสียชีวิต 3 ราย และผู้ป่วยอีกหลายคนได้รับบาดเจ็บสาหัส


การปกป้องและบทเรียนที่โลกได้รับ

ในช่วงแรก ผู้ผลิต AECL (Atomic Energy of Canada Limited) ปฏิเสธความรับผิดชอบ กระทั่งในปี 1986 องค์การอาหารและยาสหรัฐฯ (FDA) เข้ามาสืบสวนอย่างจริงจัง จึงพบความจริงว่าต้นเหตุคือบั๊กในซอฟต์แวร์

เหตุการณ์นี้ทำให้เกิดแรงกดดันต่อวงการซอฟต์แวร์การแพทย์ทั่วโลก มีการเรียกร้องให้มีมาตรการใหม่ ๆ ได้แก่

  • การทดสอบซอฟต์แวร์อย่างเข้มงวด (rigorous testing)
  • การตรวจสอบอย่างเป็นทางการ (formal verification)
  • การทำเอกสารระบบให้รัดกุมและโปร่งใส

กรณี Therac-25 กลายเป็น บทเรียนสำคัญที่ถูกยกมาสอนในหลักสูตรวิทยาการคอมพิวเตอร์ จนถึงทุกวันนี้ เพื่อย้ำว่า “ซอฟต์แวร์ที่ไม่ปลอดภัย อาจหมายถึงชีวิตคน”


สรุป

เรื่องราวของ Therac-25 แสดงให้เห็นว่าซอฟต์แวร์ไม่ได้เป็นเพียงเรื่องเทคนิค แต่มีผลโดยตรงต่อชีวิตมนุษย์ ความผิดพลาดที่ดูเหมือนเล็กน้อยอย่าง “race condition” อาจสร้างโศกนาฏกรรมใหญ่ได้จริง

ทุกวันนี้ การพัฒนาซอฟต์แวร์โดยเฉพาะในวงการแพทย์จึงต้องเข้มงวดกว่าที่เคย เพื่อไม่ให้ประวัติศาสตร์ซ้ำรอย

ที่มา: tomshardware

Click to comment
Advertisement

บทความน่าสนใจ

IT NEWS

ช่วงนี้คนเล่นการ์ดจอ AMD โดยเฉพาะฝั่ง Windows อาจจะใจหายแวบกันไปแล้วหนึ่งรอบ หลัง AMD ประกาศว่าไดรเวอร์สำหรับ RDNA 1 (RX 5000 series) และ RDNA 2 (RX 6000 series) จะเข้าสู่ “maintenance mode” หรือโหมดบำรุงรักษา ทำให้หลายคนเข้าใจว่าต่อไปการปรับปรุงด้านประสิทธิภาพเกมอาจจะลดลงหรือหยุดไปเลย...

IT NEWS

Microsoft Edge 141 อัปเดตใหม่ มีอะไรเปลี่ยนบ้าง เมื่อวันที่ 3 ตุลาคม 2025 Microsoft ได้ปล่อยอัปเดตใหม่ Edge เวอร์ชัน 141 บนช่องทาง Stable ซึ่งมาพร้อมกับการเปลี่ยนแปลงหลายอย่างที่ผู้ใช้ทั่วไปและฝั่งองค์กรควรรู้ โดยมีทั้งเรื่องของการเปลี่ยนเอนจินอ่าน PDF, การปรับด้านความปลอดภัย, รวมถึงฟีเจอร์ใหม่อย่าง การแปลเสียงวิดีโอแบบเรียลไทม์ Advertisement PDF...

IT NEWS

AMD ได้เพิ่มฟีเจอร์ใหม่ที่ชื่อว่า Fast Motion Response ลงในเทคโนโลยี AFMF (AMD Fluid Motion Frames) เวอร์ชัน 2.1 ซึ่งออกแบบมาเพื่อแก้ปัญหาการสร้างเฟรมเสริม (Frame Generation) ในฉากที่มีการเคลื่อนไหวรวดเร็ว โดยปกติแล้ว AFMF จะเลือกปิดการทำงานเมื่อพบว่าฉากมีการเคลื่อนไหวมากเกินไป ทำให้ประสิทธิภาพลดลงในบางเกม ฟีเจอร์ใหม่นี้จึงถูกพัฒนาเพื่อรองรับสถานการณ์ดังกล่าว Advertisement อย่างไรก็ตาม...

IT NEWS

AMD Fluid Motion Frames 3 (AFMF 3) เทคโนโลยี Frame Generation รุ่นใหม่ AMD กำลังเดินหน้าพัฒนานวัตกรรมด้านกราฟิกอย่างต่อเนื่อง ล่าสุดมีการค้นพบว่า Fluid Motion Frames 3 (AFMF 3) ได้ถูกระบุอยู่ในไดรเวอร์รุ่นใหม่ของการ์ดจอ Radeon แล้ว ซึ่งเป็นสัญญาณว่าฟีเจอร์นี้อาจจะเปิดตัวในเร็ว...

เราใช้คุกกี้เพื่อพัฒนาประสิทธิภาพ และประสบการณ์ที่ดีในการใช้เว็บไซต์ของคุณ คุณสามารถศึกษารายละเอียดได้ที่ นโยบายความเป็นส่วนตัว

Privacy Preferences

คุณสามารถเลือกการตั้งค่าคุกกี้โดยเปิด/ปิด คุกกี้ในแต่ละประเภทได้ตามความต้องการ ยกเว้น คุกกี้ที่จำเป็น

ยอมรับทั้งหมด
Manage Consent Preferences
  • คุกกี้ที่จำเป็น
    Always Active

    ประเภทของคุกกี้มีความจำเป็นสำหรับการทำงานของเว็บไซต์ เพื่อให้คุณสามารถใช้ได้อย่างเป็นปกติ และเข้าชมเว็บไซต์ คุณไม่สามารถปิดการทำงานของคุกกี้นี้ในระบบเว็บไซต์ของเราได้

บันทึก