什么是BUG?
熱心網友
所謂“(Bug)”,是指電腦系統的硬件、系統軟件(如操作系統)或應用軟件(如文字處理軟件)出錯。硬件的出錯有兩個原因,一是設計錯誤,一是硬件部件老化失效等。軟件的錯誤全是廠家設計錯誤。那種說用戶執行了非法操作的提示,是軟件廠商不負責的胡說八道。用戶可能會執行不正確的操作,比如本來是做加法但按了減法鍵。這樣用戶會得到一個不正確的結果,但不會引起bug發作。軟件廠商在設計產品時的一個基本要求,就是不允許用戶做非法的操作。只要允許用戶做的,都是合法的。用戶根本就沒有辦法知道廠家心里是怎么想的,哪些操作序列是非法的。從電腦誕生之日起,就有了電腦BUG。第一個有記載的bug是美國海軍的編程員,編譯器的發明者格蕾斯·哈珀(Grace Hopper)發現的。哈珀后來成了美國海軍的一個將軍,領導了著名計算機語言Cobol的開發。1945年9月9日,下午三點。哈珀中尉正領著她的小組構造一個稱為“馬克二型”的計算機。這還不是一個完全的電子計算機,它使用了大量的繼電器,一種電子機械裝置。第二次世界大戰還沒有結束。哈珀的小組日以繼夜地工作。機房是一間第一次世界大戰時建造的老建筑。那是一個炎熱的夏天,房間沒有空調,所有窗戶都敞開散熱。突然,馬克二型死機了。技術人員試了很多辦法,最后定位到第70號繼電器出錯。哈珀觀察這個出錯的繼電器,發現一只飛蛾躺在中間,已經被繼電器打死。她小心地用攝子將蛾子夾出來,用透明膠布帖到“事件記錄本”中,并注明“第一個發現蟲子的實例。”[1]從此以后,人們將計算機錯誤戲稱為蟲子(bug),而把找尋錯誤的工作稱為(debug)。哈珀的事件記錄本,連同那個飛蛾,現在陳列在美國歷史博物館中。3今天的電腦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的成本都是很大的。。
熱心網友
漏洞