บั๊กคืออะไร? ข้อบกพร่องของซอฟต์แวร์ไม่มีอะไรมากไปกว่าข้อผิดพลาดหรือความล้มเหลวธรรมดาที่อาจเกิดขึ้นได้ในระบบโปรแกรมคอมพิวเตอร์ ซึ่งในที่สุดจะส่งผลให้เกิดพฤติกรรมที่ไม่คาดคิดและไม่ถูกต้องจากสิ่งที่ผู้พัฒนาของคุณตั้งใจไว้
ความล้มเหลวประเภทนี้หลายๆ ครั้งอาจคาดเดาได้ยากกว่า และอาจส่งผลให้เกิดปัญหาที่ใหญ่กว่ามาก ตัวอย่างเช่น การสูญเสียประสิทธิภาพ อาชญากรรมเสมือน และการขโมยข้อมูลและข้อมูล
ดังนั้นจึงเป็นความล้มเหลวของลอจิก ซึ่งเกิดขึ้นเมื่อภาษาการเขียนโปรแกรมพบข้อขัดแย้ง และสิ่งนี้อาจทำให้โปรแกรมหยุดทำงานได้อย่างถูกต้อง
จุดบกพร่องสามารถมีต้นกำเนิดที่หลากหลาย เช่น เลขคณิต ลอจิก ไวยากรณ์ มัลติเธรด คุณลักษณะ อินเทอร์เฟซ และอื่นๆ อีกมากมาย ดังนั้น เพื่อที่จะจดจำพวกเขาและหลีกเลี่ยงการปรากฏตัวของพวกเขา หลายบริษัทจึงทำการดีบั๊กและทดสอบหลายอย่าง
เราเชื่อว่าคุณสามารถเข้าใจข้อผิดพลาดที่ถูกต้อง ทีนี้มารู้ที่มาของคำศัพท์กันอีกสักหน่อย ไปกันเถอะ!
ต้นกำเนิดของคุณคืออะไร?
คำว่า "แมลง" เป็นภาษาอังกฤษซึ่งแปลตามตัวอักษรว่า "แมลง" คำนี้ถูกใช้โดยวิศวกรในปี 1870 เพื่อแสดงถึงข้อบกพร่องในการทำงาน และดูสิ ในเวลานั้นไม่มีอุปกรณ์อิเล็กทรอนิกส์ คอมพิวเตอร์ และซอฟต์แวร์เป็นรถบั๊กกี้
นอกจากนี้ยังมีบันทึกของคำศัพท์เพื่ออธิบายเครื่องจักรเชิงกลบางตัวที่ทำงานไม่ถูกต้อง เพื่อให้คุณมีความคิด แม้แต่ Tomas Edson นักประดิษฐ์ผู้ยิ่งใหญ่ก็ยังส่งจดหมายถึงเพื่อนเพื่อพูดคุยเกี่ยวกับเรื่องนี้
ด้วยเหตุนี้ คำจึงถูกส่งไปยังจักรวาลของ คอมพิวเตอร์นี่คือในปี 1940 เมื่อ Grace Hopper นักวิทยาศาสตร์คอมพิวเตอร์กำลังทำงานกับคอมพิวเตอร์ Mark II ที่ Harvard
หลังจากพยายามค้นหาข้อผิดพลาดในเครื่องได้ระยะหนึ่ง ผู้ร่วมงานของเขาก็พบตัวมอดติดอยู่ในรีเลย์ ในเวลานั้นไม่มีใครสังเกตเห็นมัน
แต่เมื่อเวลาผ่านไป เรื่องราวก็เริ่มถูกเล่าแตกต่างออกไป โดยถือว่าเป็นกรณีแรกของ Bug ภายในจักรวาลคอมพิวเตอร์
แม้แต่พิพิธภัณฑ์ประวัติศาสตร์อเมริกันแห่งชาติซึ่งอยู่ในสหรัฐอเมริกาก็ยังเก็บสมุดบันทึกเหตุการณ์วันที่ 9 ธันวาคม พ.ศ. 2490 ไว้ 7 เล่ม วิลเลียม บิล เบิร์ก นักวิจัยผู้ยิ่งใหญ่ถึงกับวางผีเสื้อกลางคืนที่พบและเขียนลงในหนังสือว่า เป็นบ้านจริงหลังแรกที่เคยพบ
ข้อบกพร่องและช่องโหว่สำหรับพีซี:
ตอนนี้คุณรู้แล้วว่ามันคืออะไร คำนี้มีที่มาอย่างไร ดังนั้นเรามาพูดถึงปัญหาที่ไม่ดีนักที่พวกเขานำมา โดยเฉพาะอย่างยิ่งหากมีการเชื่อมโยงกับความล้มเหลวและปัญหาด้านความปลอดภัย
แฮ็กเกอร์หลายคนอาจต้องการใช้ประโยชน์จากช่องโหว่นี้ในระบบและลงเอยด้วยการก่ออาชญากรรม เช่น การขโมยข้อมูลที่ละเอียดอ่อน เช่น บัตรเครดิต รหัสผ่าน และอื่นๆ อีกมากมาย
โดยปกติเมื่อแฮ็กเกอร์ใช้ประโยชน์จากบั๊ก พวกเขาจะแพร่ไวรัสและมัลแวร์จำนวนมากพร้อมกัน ซึ่งอาจลงเอยด้วยการทำอันตรายต่อคอมพิวเตอร์ของหลายๆ คน ด้วยเหตุนี้ บริษัทขนาดใหญ่จึงพัฒนาโปรแกรมเพื่อพยายามแก้ไขข้อบกพร่องที่อาจเกิดขึ้นในระบบความปลอดภัยของโดยเร็วที่สุด
การทดสอบเบต้า:
ทุกวันนี้ ซอฟต์แวร์ทั้งหมดที่วางจำหน่ายในท้องตลาดต้องผ่านชุดการทดสอบเบต้า ซึ่งทำหน้าที่ตรวจหาข้อบกพร่องและลบออก การทดสอบมักจะทำเมื่อมีคุณลักษณะทั้งหมด แต่โปรแกรมยังไม่เสถียร
ขั้นตอนการทดสอบเบต้าหลายขั้นตอนดำเนินการโดยพนักงานของแผนก QA แต่ยังมีรุ่นเบต้าซึ่งเป็นผู้ใช้เองที่ทำการทดสอบ
ผู้เชี่ยวชาญด้านการเผยแพร่เบต้าเหล่านี้มักเป็นบุคคลสาธารณะและรวมถึงสถาบันเอกชนบางแห่งด้วย เพราะยิ่งมีคนทดสอบมากเท่าใดก็ยิ่งดีเท่านั้น ดังนั้น บริษัทจึงได้รับการตอบรับมากมายและแก้ไขสิ่งที่มีปัญหาได้รวดเร็วยิ่งขึ้น
สิ่งสำคัญคือต้องชี้ให้เห็นว่าโปรแกรมหลายประเภทยังคงอยู่ในสถานะของการทดสอบเบต้าแบบถาวร ซึ่งฟีเจอร์ใหม่ๆ จะได้รับการแนะนำในการเปิดตัวใหม่แต่ละครั้ง แต่พวกเขาไม่เคยมาถึงเวอร์ชันสุดท้าย
บริษัท Google ทำสิ่งนี้บ่อยครั้ง โดยเฉพาะอย่างยิ่งกับ Gmail และ Google News พวกเขาอยู่ในสถานะของเบต้าถาวรตั้งแต่ปี 2000 พวกเขาอยู่ในการทดสอบเบต้าจนถึงปี 2009 จากนั้นพวกเขาก็จากไป
เทคนิคที่ยอดเยี่ยมนี้ช่วยให้ นักพัฒนา สามารถรอได้นานขึ้นก่อนที่จะรับผิดชอบต่อปัญหาที่อาจเกิดขึ้นและให้การสนับสนุนอย่างเต็มที่กับโปรแกรม
ซอฟต์แวร์แก้ไขข้อบกพร่อง:
กระบวนการค้นหาและแก้ไขข้อบกพร่องในการคำนวณเรียกว่าการดีบัก มีเทคนิคและกลยุทธ์จำนวนมากในการทำเช่นนี้ ตั้งแต่การวิเคราะห์การควบคุมโฟลว์ไปจนถึงการถ่ายโอนข้อมูลหน่วยความจำ
ตามที่เราได้กล่าวไว้ก่อนหน้านี้ คำว่าดีบักเกิดขึ้นพร้อมกับการใช้คำว่าบั๊กเพื่ออ้างถึงคอมพิวเตอร์เป็นครั้งแรก
เครื่องมืออัตโนมัติสำหรับค้นหาปัญหาเรียกว่าดีบักเกอร์หรือดีบักเกอร์ โปรดทราบว่าในซอฟต์แวร์ประเภทนี้ เป็นเรื่องปกติมากที่จะดำเนินการโค้ดโปรแกรมภายในเครื่องเสมือน เพื่อให้พบข้อบกพร่องที่อยู่ภายในระบบนั้น
พบกับดีบักเกอร์ยอดนิยม:
- คราส – Java
- อาร์ม ดีดีที – C++
- Valgrind – ลินุกซ์
- ดีบักเกอร์ Firefox JavaScript - JavaScript
- WinDbg - ไมโครซอฟท์ วินโดวส์
- Xpediter - เมนเฟรม
กรณีที่มีชื่อเสียง:
บั๊กคอมพิวเตอร์จำนวนมาก เนื่องจากความสนใจของสื่อ เป็นที่จดจำของคนจำนวนมากแม้ในปัจจุบัน หนึ่งในสิ่งที่โด่งดังที่สุดคือ วายทูเค (รู้จักกันในชื่อ Millennium Bug) เราจะพูดถึงเรื่องนี้แล้ว เนื่องจากพวกเขาสมควรได้รับคำชมเชยหรือน่าอับอาย
จรวดหลักคือจรวดชื่อ Ariane 5 ซึ่งเปิดตัวโดย CNES (French Space Agency) เมื่อวันที่ 4/6/1996 จรวด Ariane 5 ระเบิดหลังจากปล่อยออกไป 30 วินาที สร้างความเสียหายประมาณ 370 ล้านดอลลาร์ และโชคดีที่ไม่มีใครได้รับบาดเจ็บเนื่องจากเป็นเพียงการทดสอบและไม่มีใครอยู่บนเครื่อง ตรวจสอบ วิดีโอการระเบิด.
สาเหตุของการระเบิด? ข้อบกพร่องของคอมพิวเตอร์ ซึ่งข้อผิดพลาดนั้นอยู่ในการแปลงข้อมูล 64 บิต ซึ่งจะซับซ้อนกว่ามากเมื่อเทียบกับข้อมูล 16 บิต
ปัญหานี้เรียกว่า รวมโอเวอร์โฟลว์ซึ่งหมายถึง Integral Extravasation ซึ่งจะประกอบด้วยการสร้างจำนวนที่มากกว่าที่ตัวแปร 16 บิตรองรับ
ดังนั้นในปี 2013 Chris Reynolds ต้องสะดุ้งตื่นขึ้นมา เขากลายเป็นคนที่รวยที่สุดในโลก ทั้งหมดนี้เกิดจากข้อบกพร่องในซอฟต์แวร์ PayPal เขาตื่นขึ้นมาพร้อมกับ $ 92,233,720,368,547,800 ควอดล้านดอลลาร์ในบัญชี
มันตลกด้วยซ้ำเพราะนาย Reynolds ร่ำรวยกว่า Carlos Slim ชาวเม็กซิกันเพียง 1 ล้านเท่า แม้ในช่วงเวลาสั้นๆ ซึ่งในเวลานั้นเป็นคนที่รวยที่สุดในโลกด้วยทรัพย์สิน $ 67 พันล้านดอลลาร์
ดังนั้น ทันทีที่ระบบการชำระเงินของ PayPal ตรวจพบข้อผิดพลาด การดำเนินการจึงถูกยกเลิกอย่างรวดเร็วและนาย เรย์โนลด์กลับมาเป็นปกติ
Millennium Bug คืออะไร?
Millennium Bug หรือที่รู้จักในชื่อ Y2K Bug เป็นบั๊กที่เชื่อกันว่าในช่วงเปลี่ยนสหัสวรรษ คอมพิวเตอร์ทุกเครื่องจะเริ่มแสดงวันที่ 1 มกราคม 1900 แทนที่จะเป็นปี 2000
ทั้งหมดนี้เกิดจากซอฟต์แวร์จากปี 60 โดยใช้ตัวเลขเพียง 2 หลักในการแสดงค่าปี ประหยัดพื้นที่หน่วยความจำและเงินแน่นอน ด้วยวิธีนี้ เฉพาะ "60" เท่านั้นที่ได้รับการลงทะเบียน ตัวอย่างเช่น โดย "19" ที่จะปรากฏข้างหน้าเป็นนัย
ในช่วงหลายปีที่ผ่านมาหลายโปรแกรมได้รับการปรับปรุงเป็นรูปแบบใหม่ซึ่งรองรับปี 2000 และแก้ปัญหาได้
แต่ในช่วงปลายทศวรรษที่ 1990 พบว่าหลายบริษัท โดยเฉพาะบริษัทขนาดใหญ่ ยังไม่ได้อัปเดตซอฟต์แวร์เพื่อรับมือกับสถานการณ์นี้
และเพื่อทำให้สิ่งต่าง ๆ ซับซ้อนยิ่งขึ้น มีระบบ Bios ซึ่งส่วนใหญ่ใช้เพียงตัวเลขสองหลักในการแสดงวันที่ และนั่นส่งผลให้เกิดความกังวลอย่างมากเกี่ยวกับระบบการเงิน ความบกพร่องจะส่งผลต่อเขาด้วยหรือไม่และผลที่ตามมาจะเป็นอย่างไร?
หากวันนั้นถูกตั้งค่าโดยอัตโนมัติเป็นมกราคม 1900 ดอกเบี้ยจะกลายเป็นติดลบ และใครก็ตามที่เป็นหนี้เงินก็จะกลายเป็นลูกหนี้ และตั๋ว? ในทางกลับกัน ผู้ที่ถึงกำหนดในเดือนแรกของสหัสวรรษใหม่ คนเหล่านั้นจะล้าหลังไป 100 ปี
Millennium Bug ได้รับการแก้ไขอย่างไร
เรารู้แค่ว่าสุดท้ายแล้วไม่มีอะไรเกิดขึ้น ทุกอย่างที่ทำนายไว้ก็ไม่เกิดขึ้น ไม่มีหายนะหรือโศกนาฏกรรมเกิดขึ้นเนื่องจากวันที่กำหนดของระบบ
แม้จะไม่มีอะไรเกิดขึ้น เป็นที่ชัดเจนว่าเป็นเพียงการแข่งขันเพื่ออัพเดททั่วไปของโปรแกรมที่ได้รับการเลื่อนตำแหน่ง ซึ่งสร้างค่าใช้จ่ายจำนวนมากทั่วโลก
ไม่ต้องพูดถึงว่าในช่วงเปลี่ยนสหัสวรรษ ผู้คนจำนวนมากและแม้แต่บริษัทต่างๆ ได้ซื้อคอมพิวเตอร์รุ่นใหม่และทันสมัยกว่าพร้อมการสนับสนุนสำหรับปี 2000 แล้ว
เหตุการณ์เล็กๆ น้อยๆ บางอย่างก็เกิดขึ้น เช่นในสเปน ซึ่งมิเตอร์จอดรถบางตัวแสดงข้อผิดพลาดในการทำงาน
ในฝรั่งเศส การพยากรณ์อากาศในวันที่ 1 มกราคม 19,100 จัดทำโดยสถาบันอุตุนิยมวิทยาแห่งชาติ การประกาศนี้จัดทำขึ้นตามเวลาจริงบนเว็บไซต์ของตนเอง และในออสเตรีย บางเครื่องที่ใช้ตรวจสอบตั๋วรถเมล์ก็หยุดทำงานเช่นกัน
บทสรุป:
ตอนนี้คุณรู้แล้วว่า Bug คืออะไร รู้แล้วว่าข้อผิดพลาดเหล่านี้มีตั้งแต่ข้อผิดพลาดเล็กๆ น้อยๆ ไปจนถึงปัญหาด้านความปลอดภัยที่สำคัญ ซึ่งอาจเป็นปัญหาได้ แต่พวกเขายังสามารถสร้างเรื่องราวที่ตลกและสนุกสนานได้เช่น Mr. เรย์โนลด์ที่ตื่นขึ้นมาหมุนเงิน
แต่ไม่ว่าด้วยวิธีใด ปัญหาเหล่านี้เป็นปัญหาที่นักพัฒนาซอฟต์แวร์พยายามหลีกเลี่ยงให้ได้มากที่สุด และเพื่อจุดประสงค์นี้จึงมีการส่งเสริมการทดสอบเบต้าที่เรากล่าวถึงก่อนหน้านี้
เนื่องจากในการทดสอบเบต้า คุณจะได้รับคำติชมจำนวนมากก่อนที่จะเปิดตัวผลิตภัณฑ์ในเวอร์ชันสุดท้าย และมีความเสถียรสำหรับตลาด
นั่นเป็นเหตุผลที่คำแนะนำของเราคือ: ปรับปรุงโปรแกรมและระบบปฏิบัติการของคุณให้ทันสมัยอยู่เสมอ สิ่งนี้สำคัญมากเนื่องจากการอัปเกรดอย่างง่ายเหล่านี้มักจะแก้ไขปัญหาและช่องโหว่ด้านความปลอดภัยมากมาย นอกเหนือจากการรักษาโปรแกรมของคุณให้ปลอดภัยยิ่งขึ้น
แค่นั้นแหละ เราหวังว่าคุณจะสนุกกับบทความของเรา มาหยุดกันที่นี่ และตอนนี้คุณรู้แล้วว่าบั๊กคืออะไร พยายามอยู่ให้ห่างจากพวกมัน กอดที่ยิ่งใหญ่และประสบความสำเร็จ ?