人非聖賢 - Bug-free 的迷思
剛剛閱讀 [
BUG,規範,斷言和調試] 從經典的 "Bug-free" 宣稱出發,探討軟體測試的嚴謹與問題,Donald E. Knuth 在《TeX: The Program》的前言提到:
「我相信,在 1985 年 11 月 27 日,TeX 代碼裡面的最後一個 BUG已經被發現和解決了。但是,如果代碼中仍舊有 BUG,我很高興付給任何第一個發現 BUG 的人 20.48 美元(這是前一個金額的兩倍,而且我計劃在一年內把它翻倍。你看,我很自信!)」
後續發生的事件與反省,可看原 blog 精彩的描述。
此外,我最近又回頭閱讀 GCC Hacker - Joseph Myers - 詳細整理的 [
GCC and C standards development],有許多先進的 GCC / Target/Frontend-specific optimizations & improvements 也由 [
CodeSourcery] 公司 (Joseph Myers 任職的專業 GCC 顧問公司) 所主導。
「人非聖賢,孰能無過」,Bug-free 的神話或許只可能在 "Hello World" 這種規模的程式落實,不過我弄 MCP 或其他低階 micro-controller 時,也發現因為 hardware signal synchronization 的議題,讓 LCD 說個 "Hello World" 都會有 bug 的時候。但是,無論如何,隨著軟體開發的標準化、各式高低階工具的發展,我們更能洞見這些「陷於焦油坑的恐龍」。
由 jserv 發表於 February 7, 2006 09:48 PM