บั๊กซอฟต์แวร์
บั๊กซอฟต์แวร์ (อังกฤษ: software bug) หรือเรียกสั้น ๆ ว่า บั๊ก หรือ จุดบกพร่อง[1] หมายถึง ปัญหาที่เกิดขึ้นกับโปรแกรมอันเนื่องมาจากคำสั่งในโปรแกรมนั้น ๆ เอง ซึ่งทำให้การทำงานของโปรแกรมไม่ถูกต้อง มีข้อผิดพลาด หรือไม่ราบรื่นเท่าที่ควร นอกจากปัญหาเกี่ยวกับโปรแกรมแล้ว อาจเป็นปัญหาเกี่ยวกับตัวเครื่องก็ได้
คำนี้มาจากคำว่า bug ที่แปลว่าตัวด้วงหรือตัวแมลง ที่เข้าไปติดอยู่ในสวิตช์ relay ของเครื่องคอมพิวเตอร์ Mark II ทำให้การทำงานขัดข้อง[2]
ส่วนการแก้ไขจุดบกพร่องของโปรแกรมนั้น จะใช้คำว่า ดีบั๊ก (debug)
ตัวอย่าง
แก้- ความผิดพลาดทางการคำนวณ เช่น
- การปัดเศษ ซึ่งอาจทำให้เลขนัยสำคัญคลาดเคลื่อน
- การหารด้วยศูนย์ ซึ่งอาจให้ผลเป็นค่าไม่ใช่จำนวน (อังกฤษ: NaN (Not a Number)) หรือค่าอนันต์
- สภาวะติดตาย (อังกฤษ: deadlock)
- ความผิดพลาดทางวากยสัมพันธ์ (อังกฤษ: syntax error) เช่น ใช้ x = 5 แทนที่จะใช้ x == 5
- ฮาร์ตบลีด (อังกฤษ: Heartbleed) เป็นบั๊กของ โอเพนเอสเอสแอล