當前位置:編程學習大全網 - 編程語言 - bug是什麽意思啊?

bug是什麽意思啊?

所謂“(Bug)”,是指電腦系統的硬件、系統軟件(如操作系統)或應用軟件(如文字處理軟件)出錯。硬件的出錯有兩個原因,壹是設計錯誤,壹是硬件部件老化失效等。軟件的錯誤全是廠家設計錯誤。那種說用戶執行了非法操作的提示,是軟件廠商不負責的胡說八道。用戶可能會執行不正確的操作,比如本來是做加法但按了減法鍵。這樣用戶會得到壹個不正確的結果,但不會引起bug發作。軟件廠商在設計產品時的壹個基本要求,就是不允許用戶做非法的操作。只要允許用戶做的,都是合法的。用戶根本就沒有辦法知道廠家心裏是怎麽想的,哪些操作序列是非法的。

從電腦誕生之日起,就有了電腦BUG。第壹個有記載的bug是美國海軍的編程員,編譯器的發明者格蕾斯·哈珀(Grace Hopper)發現的。哈珀後來成了美國海軍的壹個將軍,領導了著名計算機語言Cobol的開發。

1945年9月9日,下午三點。哈珀中尉正領著她的小組構造壹個稱為“馬克二型”的計算機。這還不是壹個完全的電子計算機,它使用了大量的繼電器,壹種電子機械裝置。第二次世界大戰還沒有結束。哈珀的小組日以繼夜地工作。機房是壹間第壹次世界大戰時建造的老建築。那是壹個炎熱的夏天,房間沒有空調,所有窗戶都敞開散熱。

突然,馬克二型死機了。技術人員試了很多辦法,最後定位到第70號繼電器出錯。哈珀觀察這個出錯的繼電器,發現壹只飛蛾躺在中間,已經被繼電器打死。她小心地用攝子將蛾子夾出來,用透明膠布帖到“事件記錄本”中,並註明“第壹個發現蟲子的實例。”[1]

從此以後,人們將計算機錯誤戲稱為蟲子(bug),而把找尋錯誤的工作稱為(debug)。

哈珀的事件記錄本,連同那個飛蛾,現在陳列在美國歷史博物館中。

今天的電腦BUG之多,是難以令人置信的。據電腦業界媒體報道,微軟視窗98操作系統改正了視窗95裏面5000多個bug。也就是說,當幾年前視窗95軟件推向市場時,每套裏都含有5000個bug!全世界有數千億個bug在我們的微機中飛來爬去,這就難怪我們的微機應用老會出問題了。

電腦含有這麽多bug有壹個技術原因,就是軟件越來越龐大復雜。在任何復雜的大系統中,錯誤是難以避免的。大型軟件尤其難以按時按預算完成。1995年,國外的壹個大規模的研究調查了17萬個軟件開發項目(總投資達2500億美元)。結果發現,只有6%按時按預算完成,31%的項目被中途取消。其余53%的項目最終完成,但都超出了預算和進度。這些項目中,壹大半項目的實際花費超出預算達189%。

電腦程序是由語句組成的。據報道,視窗95含有1500萬行代碼。假設每行代碼包含壹個語句,那麽視窗95的潛在臭蟲就會有200多萬個(見下頁規則4)。在出廠之前,微軟做了大量測試。根據瓊斯規則5,需要做18次測試才能把臭蟲數降低到5000個。假設測試壹次耗時壹個月(實際上常常不止壹個月),那也需要壹年半的時間。如果要把bug個數降到1,總***需要做42次測試,或三年半還多的時間。當然,微軟的視窗95建築在視窗3.1版多年的開發和使用基礎上,並不是完全從頭做起,用不了這麽多時間。但不論怎麽算,測試和糾正bug的成本都是很大的。

  • 上一篇:軟件工程專業的大學四年要學習哪些專業課?
  • 下一篇:我應該在結構筆記中記些什麽?
  • copyright 2024編程學習大全網