
誰也無法真正說得清楚軟件將來會變成什么樣。能看到的是,不論學術界還是商業界,大家目前都非常一致的對軟件質量投入著巨大熱情,同時也寄托著越來越復雜的情緒。
若上聯給出“娃挖瓦中蛙”,你會如何對下聯?有“人”可以在瞬間作答:“煙掩檐上燕”。而對出這副工整的對聯的,并不是什么國學高手,而是微軟亞洲研究院所開發出的一款軟件。
早在50年前,英國的數學家艾倫·圖靈便預言,在21世紀,計算機將可以像人類一樣進行“思考”。當然,這個預言到了現在也并沒有完全實現。但我們可以看到,隨著軟件質量的提高,計算如今已經滲透到了各個領域中,而軟件的質量、計算水平的高低將直接影響各個領域的發展。
Eric Grimson博士是美國麻省理工學院的教授,也是哈佛醫學院和放射學院的博士。他在利用計算技術控制疾病發展、管理疾病方面,研究成果顯著。對于一個患了腦瘤的病人來說,周而復始的頭痛會令其倍受折磨,但他可能還是不愿接受治療,害怕手術會影響健康部位,從而留下后遺癥?,F在,Grimson所研究的軟件系統已可以減輕這種擔憂。它通過數據建模的方式,為醫生實時呈現病人腦內3D結構圖像,使其知道從何處開刀可以最準確的完成治療。
主角之憂
計算已經今非昔比。從Grimson的研究例子中,你可以充分認識到,計算科學已與其他科學纏繞在一起,互相影響。與此同時,軟件像包裹在硬件身上的肌肉和皮膚,它的健壯度和完美度,也將直接影響硬件的性能發揮。
回顧計算技術的發展史,軟件的地位一直處在不斷上升的過程中。以擁有50年歷史的磁盤產業為例,曾經決定了該行業發展的磁盤硬件技術,如今同微處理器技術一樣,面臨著越前行越艱難的境地,因為受到了許多物理學方面的極限挑戰。從發明第一塊磁盤至今,IBM參與了磁盤業的整個發展過程。而早在三年前,IBM便把磁盤的研發重心從硬件轉移至軟件,利用虛擬存儲等磁盤管理技術來彌補磁盤硬件緩慢的發展問題?!按疟P的未來將由軟件決定。”IBM系統與科技事業部的技術專家在接受本刊記者采訪時曾如是表示。
但軟件的發展似乎總是要比硬件滯后一個階段。而從“今天輸入計算內容,明天才能得到答案”的早期大型機時代,到計算機硬件技術高度發達的現在,軟件技術也跨越了幾代的更迭。對Pascal等編程語言和數據結構有著卓越貢獻的1984年圖靈獎得主Niklaus Wirth,總是對軟件工程的演變和計算能力的提高感慨萬千。
但是,隨著計算能力的提高,對軟件的要求也越來越高。軟件方法的進展很快就被計算任務的復雜程度所吞噬。硬件雖然越來越快,系統卻要受制于軟件的發展。代碼的冗余度、算法的精良,都將直接影響軟件質量的高低。“我們已經不再被運行緩慢的硬件所局限,但卻受困于我們自己的智能。”Wirth在接受本刊記者采訪時這樣表示,面對軟件工程的未來,他對人類所要攻克的難關顯出幾分擔憂。
以質取勝
沿著Wirth的思路,你便不難理解,為什么一直以來,“提高軟件質量”始終是軟件產業掛在嘴邊的一個熱門話題。目前在全球,計算已經由人類活動的一個重要因素轉化為核心要素,可靠的、可以安全運行的計算機系統和計算服務受到廣泛歡迎,而日益增強的功能性和復雜性也使保障安全運行成為一種挑戰。即便在目前的國際學術圈子中,如何提高計算的穩定性及安全性也可以稱得上是最熱門的話題之一。
你也不難理解,為何在10月24日的清華大學,微軟在經歷了“計算與你同行”、“無‘數’不在的計算”等一系列主題后,會把第8屆“21世紀的計算”會議的主題命名為“‘質’取計算未來”。這個每年一度的國際學術研討會議是微軟總結研究的重頭戲,而由于其每年都會邀請一些圖靈獎得主來做主題演講,因此這一會議在某種程度上也反映了當前計算領域的最高水準和最前沿的發展方向。
從強調計算的重要性,回歸到“軟件質量”的話題,表面上看像在炒冷飯,但卻從側面反映出,目前不論是在學術界還是商業界,大家都非常一致的對提高軟件質量投入著巨大熱情。
在微軟研究院成立15周年之際,專程來北京參加今年“21世紀的計算”大會的微軟全球副總裁、微軟研究院院長Rick Rashid,就“提高軟件質量”這一話題,總結了微軟多年來在此方面的工具和成果。比如,能夠提高軟件性能的BBT技術(原來的LEGO項目)、分析和優化軟件Prefix和Prefast、可以保證軟件開發質量的SLAM(軟件、語音、分析和模型檢查項目),以及 ESP(通過可伸縮的程序分析檢測錯誤)等可靠性工具。
“Bug”總是難以避免的,而采用上述的工具可以將錯誤降到最低。但有些軟件的質量問題卻不是由程序開發質量造成的,而是由算法和理論本身造成的?!皩嶋H上,有時用代碼解決不了的問題,用一個巧妙的算法就能輕易解決?!?000年圖靈獎得主姚期智博士在接受本刊記者采訪時,如是總結計算機理論對于軟件質量的重要性。作為目前惟一的華裔圖靈獎得主,姚期智曾在美國普林斯頓等諸多國際高等學府任教,現在在清華大學擔任高等研究中心全職教授。他在計算機理論及算法方面有著卓越貢獻,近日被微軟亞洲研究院邀請擔任其新成立的理論研究組的顧問。
互聯網的效能
“互聯網的發展為我們提出了新的科學現象,使得我們現在更致力于討論這些問題:什么是可靠的知識?怎樣在不太有利的互聯網環境中,傳遞可靠的知識?”姚期智認為,目前在網絡數據安全及驗證方面,還存在著非常廣闊的理論研究空間。
互聯網的確帶來了更多可供研究的軟件應用課題。Jim Gray是一位數據庫專家,也是微軟硅谷研究院院士、1998年圖靈獎得主。早在1998年,他便帶領其舊金山團隊建立了世界上最大的互聯網數據庫,存儲了來自美國及俄羅斯等國家的超過1TB的、經過壓縮的地球航空和衛星照片,并建立了可通過Internet訪問的門戶(www.terraserver.net)。這一功能與目前Google和雅虎所提供的相應地圖服務十分類似。在Gray看來,網絡數據庫應該可以存儲更加海量的內容,并更加智能。他對全球化的海量圖書館充滿興趣,比如PubMed,可以讓提供此服務的國家在架設于本國的服務器上,看到來自全世界的書刊、論文。Gray認為它在商業和權威性上比維基百科更行之有效。
那么除了工具和理論算法之外,還有什么會對提高軟件質量起到立竿見影的作用?微軟亞洲研究院院長沈向洋認為,還需要有一些更高明的手段,比如借助互聯網。盡管正如姚博士所言,在互聯網時代,軟件的安全性等方面受到了前所未有的挑戰,但是在另一方面,互聯網也為更好的研發提供了支持。
沈向洋認為,Web 2.0表現了互聯網時代的軟件特性:可以搜集集體智能,數據變成了國王。而這些時代特征是研發所不能忽略的,他把基于互聯網的研發稱作“研發2.0”。也就是說,借助網絡這個平臺,充分利用社區的優勢,在這個最大的社會網絡上,使集體智慧得以發揮,互相影響,實現知識的更有效傳播。