Android

วิธีหลีกเลี่ยงปัญหาซอฟต์แวร์

เวก้าผับ ฉบับพิเศษ

เวก้าผับ ฉบับพิเศษ

สารบัญ:

Anonim

ในยุคดิจิทัลนี้คุณต้องเคยได้ยินเกี่ยวกับยักษ์ใหญ่ของโซเชียลมีเดียเช่น Facebook และ Twitter และแพลตฟอร์มอีคอมเมิร์ซเช่นอาลีบาบาและอเมซอน เว็บไซต์ออนไลน์เหล่านี้พึ่งพาแพ็คเกจซอฟต์แวร์ต่างๆสำหรับการดำเนินการ โปรแกรมเหล่านี้เปลี่ยนวิธีการทำงานคิดและใช้ชีวิตอย่างตรงไปตรงมา

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

อย่างไรก็ตามข้อผิดพลาดของซอฟต์แวร์อาจเป็นปัญหาได้โดยเฉพาะอย่างยิ่งเมื่อเราพึ่งพาพวกเขามากขึ้นสำหรับกิจกรรมประจำวัน ในความเป็นจริงมีอยู่หลายครั้งที่ซอฟต์แวร์มีจุดประสงค์ไม่ตรงตามวัตถุประสงค์ซึ่งนำไปสู่ผลลัพธ์ที่ไม่พึงประสงค์

เราพูดถึง 4 ครั้งที่ประสิทธิภาพของซอฟต์แวร์ไม่ได้รับความสนใจอย่างมากและวิธีหลีกเลี่ยงปัญหาซอฟต์แวร์ดังกล่าว

ยังอ่าน: 10 เหตุผลที่คุณไม่ควรรีบซื้อ iPhone X

1. US Multi-State 911 Outage

911 เป็นบริการที่สำคัญซึ่งช่วยให้บุคคลสามารถติดต่อเจ้าหน้าที่ฉุกเฉินได้ทุกเมื่อที่ต้องการ บางครั้งการติดต่อกับผู้แจกจ่ายฉุกเฉินผ่าน 911 อย่างแท้จริงสามารถสร้างความแตกต่างระหว่างชีวิตและความตาย

ดังนั้นจึงเป็นหายนะเมื่อวันที่ 9 เมษายน 2014 เส้นทางการโทร 911 ล้มเหลวในเจ็ดรัฐของสหรัฐอเมริการวมถึงแคลิฟอร์เนียฟลอริดามินนิโซตานอร์ ธ แคโรไลน่าเพนซิลเวเนียเซาท์แคโรไลนาและวอชิงตัน

ไฟดับนี้เกิดจากข้อผิดพลาดในการเข้ารหัสที่ป้องกันได้ซึ่งเกิดขึ้นที่ศูนย์การจัดการการโทรฉุกเฉินในโคโลราโดที่อินทราโดเป็นเจ้าของ

2. การต่อลงดินของสายการบินยูไนเต็ดแอร์ไลน์

ในเดือนกรกฎาคม 2558 สายการบินยูไนเต็ดแอร์ไลน์ถูกบังคับให้ต้องลงจอดพื้นฝูงบินทั้งหมดเนื่องจากความผิดพลาดของซอฟต์แวร์ เรื่องนี้ส่งผลกระทบมากกว่า 4, 900 เที่ยวบินทั่วโลกและทิ้งผู้โดยสารจำนวนมากติดอยู่ที่สนามบินและค่อนข้างผิดหวังอย่างเห็นได้ชัด

อาจมีผลกระทบทางเศรษฐกิจเช่นกันเนื่องจากสายการบินจะต้องชดเชยผู้โดยสารจำนวนมากสำหรับความไม่สะดวก อาจมีการประชุมทางธุรกิจที่สำคัญหลายอย่างที่ผิดพลาดเนื่องจากเหตุผล

3. ความผิดปกติของเหยียบคันเร่ง Toyota Camry

ในเดือนกันยายน 2550 ฌองบุ๊กเอาต์เดินทางบนทางหลวงอินเตอร์สเตต 69 ในโอคลาโฮมาพร้อมกับผู้โดยสารบาร์บาร่าชวาตซ์เมื่อเธอพบปัญหาในการควบคุม Toyota Camry

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

แต่น่าเสียดายที่สิ่งนี้ได้ส่งรถที่สนใจเข้าไปในเขื่อน Schwarz เสียชีวิตลงและ Bookout ถูกนำส่งโรงพยาบาลเป็นเวลาห้าเดือนเนื่องจากได้รับบาดเจ็บสาหัส

มันสันนิษฐานว่าอุบัติเหตุเกิดขึ้นเนื่องจากความไม่เพียงพอของการเข้ารหัสหลายอย่างที่นำไปสู่ความผิดพลาดของงานใน CPU ของ Camry ซีพียูนี้จะควบคุมฟังก์ชั่นจำนวนมากอย่างมากมายรวมถึงการจุดระเบิดการควบคุมคันเร่งและการควบคุมความเร็วโดยอัตโนมัติ

รหัสของโตโยต้ากลายเป็นเรื่องยุ่งเหยิงหลังจากรหัสใหม่หลายปีซ้อนกันอยู่กับรหัสเก่า ซึ่งมักเรียกว่า 'รหัสสปาเก็ตตี้'

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

อย่างไรก็ตามอุบัติเหตุของ Bookout นำปัญหานี้มาสู่แสงสว่างและเน้นข้อบกพร่องของโตโยต้าในกระบวนการซอฟต์แวร์ของพวกเขา แม้กระทั่งพบว่ามีมากกว่า 10 ล้านวิธีสำหรับการเร่งความเร็วที่ไม่พึงประสงค์ที่อาจเกิดขึ้นตามวิธีโครงสร้างของโตโยต้า

Nest Thermostat Failure

Nest เป็น บริษัท ที่มีตัวอักษรเป็นเจ้าของซึ่งผลิตเทอร์โมสแตท เทอร์โมสตัทเหล่านี้ค่อนข้างดีและอนุญาตให้ผู้ใช้ควบคุมอุณหภูมิในบ้านของพวกเขาจากสมาร์ทโฟน

ฤดูหนาวที่ผ่านมา Nest thermostats ประสบกับข้อผิดพลาดในรูปแบบการอัปเดตซอฟต์แวร์ที่ผิดพลาดซึ่งทำให้แบตเตอรี่หมด น่าเสียดายที่ข้อผิดพลาดนี้เกิดขึ้นในช่วงกลางฤดูหนาวทำให้ผู้ใช้หลายคนไม่มีความร้อนชั่วคราว นี่คือสิ่งที่คุณไม่ต้องการให้เกิดขึ้นในช่วงเวลานี้ของปี

ดูต่อไป: เซลฟีไม่ได้เป็นเรื่องเล็กน้อยเหมือนสื่อสังคมออนไลน์ทำให้พวกเขามาสาย

การวิเคราะห์ปัญหาซอฟต์แวร์โดยย่อ

วิธีการเช่นการออกแบบโดยใช้โมเดลและ TLA + ช่วยให้นักพัฒนาซอฟต์แวร์ได้รับภาพรวมที่ใหญ่ขึ้นของวิธีการทำงานของซอฟต์แวร์

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

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

อย่างไรก็ตามมีความหวัง วิธีการเช่นการออกแบบโดยใช้โมเดลและ TLA + ช่วยให้นักพัฒนาซอฟต์แวร์ได้รับภาพรวมที่ใหญ่ขึ้นของวิธีการทำงานของซอฟต์แวร์

การออกแบบตามรูปแบบตามชื่อแนะนำจะช่วยให้การพัฒนาซอฟต์แวร์ผ่านโมเดลที่มองเห็นได้ TLA + ย่อมาจาก Temporal Logic of Actions เป็นภาษาที่ออกแบบมาเพื่อเขียนข้อมูลจำเพาะของโปรแกรมคอมพิวเตอร์ สิ่งที่ยอดเยี่ยมเกี่ยวกับ TLA + คือการอนุญาตให้ทดสอบและตรวจสอบซอฟต์แวร์อย่างละเอียดก่อนที่จะเผยแพร่

ทั้งการออกแบบตามโมเดลและ TLA + ได้พิสูจน์แล้วว่าเป็นเกลือ เทคโนโลยี Esterel ซึ่งเป็น บริษัท พัฒนาซอฟต์แวร์ใช้การออกแบบตามแบบจำลองเพื่อสร้างซอฟต์แวร์ที่สำคัญด้านความปลอดภัยในขณะที่ Microsoft ชอบใช้ TLA + เพื่อแก้ไขข้อผิดพลาด Xbox ที่เป็นไปได้และโดยองค์การอวกาศยุโรปเพื่อเขียนรหัสสำหรับโพรบที่ ร่อนลงบนดาวหาง

กระบวนการของการเขียนโค้ดถูกเก็บไว้ในความนิยมสูงโดยโปรแกรมเมอร์ หลายคนสนใจเพียงกระบวนการเขียนโค้ด ดังนั้นจึงเป็นเรื่องท้าทายที่จะให้โปรแกรมเมอร์บางคนยอมรับวิธีการต่างๆเช่นการออกแบบโดยใช้โมเดลและ TLA + วิธีการเหล่านี้มักจะถูกมองว่าเป็นนักวิชาการอย่างเข้มงวดโดยไม่มีความเป็นไปได้ในโลกแห่งความเป็นจริง อย่างไรก็ตามการเปลี่ยนแปลงของมุมมองต้องมาเร็วที่สุด

อ่านเพิ่มเติม: เรากำลังผลักดันเด็ก ๆ ของเราสู่การตาบอด

ความคิดสุดท้าย

ซอฟต์แวร์มีการใช้งานมากขึ้นในแอปพลิเคชันที่ต้องการความปลอดภัยในตัว วิธีการที่ดีกว่าในการออกแบบซอฟต์แวร์จะต้องมีการแนะนำให้รู้จักทั่วทั้งกระดานเนื่องจากการใช้งานดังกล่าวมีความสำคัญในชีวิตของเรา

กระบวนการเช่นระบบอัตโนมัติต้องอาศัยซอฟต์แวร์เป็นอย่างมากในทุกวันนี้ แต่ข้อผิดพลาดอย่างหนึ่งในรหัสสามารถนำเราไปสู่ความล้มเหลวครั้งใหญ่ดังที่แสดงไว้ด้านบน

ตอนนี้ลองนึกภาพบางอย่างเช่นปัญญาประดิษฐ์ (AI) ที่ถูกรวมเข้ากับแอปพลิเคชันเหล่านี้ AI น่ากลัวเพียงพอในตัวของมันเองโดยไม่มีข้อบกพร่องของซอฟต์แวร์ เพิ่มข้อบกพร่องลงในส่วนผสมและไม่มีการบอกว่าจะเกิดอะไรขึ้น

อย่างไรก็ตามมีซับในสีเงินอยู่ที่นี่ ด้วยการทำงานเพียงเล็กน้อยและเครื่องมือใหม่บางอย่างเราสามารถสร้างซอฟต์แวร์และ AI ที่ดีขึ้นโดยการออกแบบให้มีประสิทธิภาพมากขึ้นและทดสอบกับแกนของมัน

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

ดูต่อไป: ปัญญาประดิษฐ์: ประเภทและอนาคตที่มนุษย์มีไว้