Bug與Debug的由來

在科技業的辦公室裡不時會聽到工程師們嘴上提到:「欸,你的程式有Bug…」或是「我花了好久的時間在Debug…」等等與「Bug」有關的對話;雖然大部分的人都知道Bug是蟲子的意思,也知道工程師們在討論程式錯誤的問題,但蟲子跟程式錯誤到底有什麼關聯呢?

先把時光回溯到二次大戰終了前的西元1944年,哈佛大學的一位程式設計師Grace Murray Hopper。由於當時尚未發明電晶體與積體電路,整台電腦是由超過75萬個切換器、繼電器、離合器、轉軸、馬達及電線等元件所組成,是個重達4,500公斤且零件外露的龐然大物(如圖)。有一天,天外飛來了一隻蛾,那隻飛蛾被夾死在電腦中,導致了機器停止運作。Hopper的團隊花了將近一天的時間來檢查機器,終於找到了那隻死掉的飛蛾,接著便把那隻飛蛾夾出貼在管理日誌上,紀錄下這事件。爾後,該單位在電腦中遇上運作錯誤都稱為「Bug」;找出並移除錯誤則稱為「Debug」。漸漸造就了日後資訊業界所常用的暱稱,而Hopper也因而被稱為「Debug之母」。

此時,讀者們一定會產生一個疑問:「Bug與Debug跟資訊安全又有什麼關係呢?」。首先,資安弱點包含了邏輯錯誤、系統漏洞、權限控管缺失、設備設定錯誤、安全防護措施不足等眾多面向。很多時候一隻程式雖擁有完善的功能性與方便性,但設計師撰寫時對於安全性認知的不足或疏忽亦會產生資安漏洞與脆弱點。因此,安全問題理所當然也是Bug的一種,此時要求工程師Debug,便是期待一個更安全、更完善的系統。

總而言之,相當的安全性應該是一隻程式的基本配備,雖然安全與方便很難並存,但是如何在方便性與安全性間取得平衡更是大家需要戮力追求的目標。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。