源代碼分析讓開發(fā)變得更敏捷 提高軟件質(zhì)量

作者:IT新聞網(wǎng) 來源:IT新聞網(wǎng) 2011-12-30 17:52:28 閱讀 我要評論 直達商品

由于軟件質(zhì)量問題,可能會導致嚴重經(jīng)濟損失甚至災難事故的發(fā)生。源代碼分析技術(shù)是通過分析源代碼發(fā)現(xiàn)其中存在的代碼缺陷的技術(shù),是提高軟件質(zhì)量最有效的手段之一。

    【IT商業(yè)新聞網(wǎng)】軟件質(zhì)量保證正在越來越被人們所重視,由于軟件質(zhì)量問題,可能會導致嚴重經(jīng)濟損失甚至災難事故的發(fā)生。源代碼分析技術(shù)是通過分析源代碼發(fā)現(xiàn)其中存在的代碼缺陷的技術(shù),是提高軟件質(zhì)量最有效的手段之一。源代碼分析技術(shù)已經(jīng)有20多年的發(fā)展歷程,它不需設計測試用例,不需運行程序,因此被廣泛應用于各行各業(yè)。

2009年3月19日,源代碼分析領(lǐng)域的先驅(qū)——美國Klocwork公司在北京裕龍國際酒店會議廳舉辦Klocwork源代碼分析最佳實踐研討會。研討會以“源代碼分析讓開發(fā)變得更敏捷”為主題,圍繞源代碼分析的作用以及如何將源代碼分析融入開發(fā)流程展開研討。會議現(xiàn)場, Klocwork公司的高級技術(shù)專家Mark Grice先生詳細介紹了源代碼分析技術(shù)的發(fā)展,并結(jié)合具體技術(shù)案例講解在敏捷開發(fā)過程中,為什么以及如何利用源代碼分析技術(shù)實現(xiàn)效益最大化,Mark先生還講解了如何借助持續(xù)集成的思想實現(xiàn)第一時間發(fā)現(xiàn)并消除代碼缺陷的策略。

敏捷的前提是編寫無缺陷代碼

敏捷宣言中有一條重要原則:首要的進度測量標準是可正常運行的軟件。可正常運行的軟件是指軟件沒有下列問題:無法順利構(gòu)建、不可預期的行為、不滿足產(chǎn)品需求及常見的編程缺陷。這一原則不只適用于敏捷方法,很多軟件開發(fā)過程,包括CMMI和六西格瑪?shù)葒栏竦拈_發(fā)模型,均提倡把編寫無缺陷的代碼作為基本原則。這些過程都采取階段內(nèi)的缺陷控制措施(防止缺陷從引入階段泄漏到后續(xù)階段)。敏捷開發(fā)過程的迭代周期短,因此,必須保證能迅速識別并糾正潛在的軟件缺陷,才能進入下一次迭代。

盡管敏捷開發(fā)團隊普遍采用了持續(xù)集成和回歸測試方法,可以有效地發(fā)現(xiàn)導致構(gòu)建過程或回歸測試異常中斷的缺陷,但在清除如下幾類常見的編程缺陷時效果并不明顯:內(nèi)存及資源管理錯誤、空指針問題、未初始化變量、程序數(shù)據(jù)管理問題、緩沖區(qū)溢出、數(shù)組越界、未經(jīng)驗證的用戶輸入、存在安全漏洞的代碼、并發(fā)異常以及復雜、費時的維護性問題。缺陷多的代碼會導致本次迭代或者后續(xù)迭代產(chǎn)生風險,形成迭代不徹底或者延期。

以工具助推敏捷的理想

雖然敏捷宣言中的 “個人和交流勝于過程和工具” 原則看似并不強調(diào)工具的作用,但敏捷開發(fā)團隊仍然要用很多工具來支撐——包括軟件配置管理工具、構(gòu)建管理工具、需求跟蹤工具、測試工具、項目管理工具及其他工具。

敏捷開發(fā)團隊使用的大部分測試工具都將重點放在功能測試、單元測試以及構(gòu)建的質(zhì)量控制上,而不太強調(diào)通過審查源代碼來識別非功能性的錯誤,比如編程錯誤。這是由于以前發(fā)現(xiàn)這些缺陷的方法太繁瑣,敏捷團隊也沒有時間做冗長的代碼審查,更不愿意為了發(fā)現(xiàn)一個內(nèi)存泄露缺陷而進行數(shù)天的審查。即使是像單元測試這種在敏捷開發(fā)中不可缺少的測試,也需要創(chuàng)建和管理測試用例才能幫助開發(fā)人員查找缺陷。

無缺陷的代碼則可保證開發(fā)的進度及敏捷性。為實施階段內(nèi)缺陷控制,編寫無缺陷代碼,需要制定一套解決方案,使開發(fā)人員能控制缺陷的發(fā)現(xiàn)和清除過程,增強開發(fā)人員間的協(xié)作,以盡早消除缺陷。

Klocwork Insight是行業(yè)領(lǐng)先的源代碼分析工具,全面支持各類編碼缺陷的檢查,開發(fā)人員可以控制分析的過程,還能在無需進行后續(xù)審查的情況下,獲得集中式分析的準確度和效果。Klocwork Insight支持敏捷開發(fā)的主要原則,提供下面的特殊功能:

 

聯(lián)機桌面分析 Klocwork能與客戶的開發(fā)環(huán)境集成,既可以在個人開發(fā)環(huán)境級分析,也可在系統(tǒng)集成建級分析。與其他工具不同,Klocwork Insight提供了聯(lián)機桌面分析功能(專利技術(shù))。通過聯(lián)機桌面分析,開發(fā)人員可以在第一時間更準確的發(fā)現(xiàn)缺陷。該功能使開發(fā)人員可以在自己的環(huán)境進行快速的本地源代碼分析,這種分析能夠收集系統(tǒng)的全局信息用于提高分析的準確度,并為開發(fā)人員提供協(xié)同清除缺陷功能。

檢入無缺陷代碼 利用Klocwork在代碼檢入代碼庫之前,通過快速的代碼分析,發(fā)現(xiàn)并消除缺陷,避免缺陷流入公共范圍和后續(xù)階段。這種無需設計測試用例、無需執(zhí)行程序的高效率缺陷掃描方法,大大提高了敏捷性。

軟件度量和報告 Klocwork Insight提供了100多種客觀的、可操作的度量,這些度量可直接從軟件代碼計算得到。Klocwork的軟件度量功能可以解答關(guān)于軟件開發(fā)過程的關(guān)鍵性問題。例如,敏捷開發(fā)的一個關(guān)鍵問題是:軟件缺陷是在開發(fā)人員的桌面環(huán)境上即被發(fā)現(xiàn)并修復,還是泄漏到集成構(gòu)建階段?Klocwork Insight在缺陷還未擴散到代碼流之前就能在桌面自動匯集所發(fā)現(xiàn)和修復的缺陷信息。這一獨特功能使開發(fā)團隊能更好地理解缺陷控制活動。這一功能結(jié)合客戶自定義的度量模型――將度量按照人員、開發(fā)組、地域、軟件組件或者其他任何適合于組織的屬性進行統(tǒng)計分析――可以使開發(fā)團隊在迭代初期就能識別出代碼庫里風險最高的代碼。

重構(gòu) Klocwork Insight支持重構(gòu)。重構(gòu)是一種敏捷技術(shù),即在不改變軟件功能的前提下,重新構(gòu)造代碼單元以簡化設計和操作。Klocwork Insight提供了源代碼的圖形化表示法,顯示構(gòu)成系統(tǒng)的組件、塊、子塊及它們之間的關(guān)聯(lián)、依賴關(guān)系,輔助進行代碼的影響分析。代碼的架構(gòu)分析能力還可用于進行“假設(what if)”分析,以構(gòu)造維護性更好、可重用、復雜度更低的系統(tǒng)。

降低總成本 敏捷開發(fā)團隊通常都是工作在需要嚴格控制成本的環(huán)境中。Klocwork Insight的綜合分析能力強,軟件開發(fā)機構(gòu)只需部署一種這樣的工具,即可具備全面的功能,降低了成本:支持C、C++、JAVA多種語言;檢測關(guān)鍵性的缺陷;檢測安全漏洞;體系架構(gòu)分析與再工程;生成并管理100多種軟件度量。敏捷開發(fā)團隊使用Klocwork工具后,還可降低在用戶現(xiàn)場發(fā)現(xiàn)軟件缺陷的風險,從而對軟件的實際成本產(chǎn)生直接的影響。

具有說服力的是,Klocwork開發(fā)團隊本身就是一個敏捷開發(fā)團隊。Klocwork使用Klocwork Insight對Klocwork源代碼進行分析,是源代碼分析結(jié)合敏捷開發(fā)的實踐者和受益者。本次研討會,正是結(jié)合軟件開發(fā)領(lǐng)域的先進理念,將Klocwork源代碼分析的應用提升到了一個新的層次,對于將Klocwork源代碼分析融入軟件開發(fā)生命周期具有現(xiàn)實意義。(編輯:Kobe)

進入論壇>>聲明:IT商業(yè)新聞網(wǎng)登載此文出于傳遞更多信息之目的,并不意味著贊同其觀點或證實其描述。文章內(nèi)容僅供參考。新聞咨詢:(010)68023640.

  推薦閱讀

  瀏覽器惡戰(zhàn) 微軟IE8如何卷起互聯(lián)網(wǎng)千層浪

但自去年以來,這個沉寂已經(jīng)久的市場悄然打響了一場瀏覽器大戰(zhàn),包括GOOGLE、蘋果在內(nèi)相繼加入這場戰(zhàn)役,IBM名為“藍杉”項目的秘密團隊也是聚焦在瀏覽器平臺上。為何巨頭們相繼在這場瀏覽器大戰(zhàn)中燃起硝煙,加碼這個>>>詳細閱讀


本文標題:源代碼分析讓開發(fā)變得更敏捷 提高軟件質(zhì)量

地址:http://www.sdlzkt.com/a/xie/20111230/205793.html

樂購科技部分新聞及文章轉(zhuǎn)載自互聯(lián)網(wǎng),供讀者交流和學習,若有涉及作者版權(quán)等問題請及時與我們聯(lián)系,以便更正、刪除或按規(guī)定辦理。感謝所有提供資訊的網(wǎng)站,歡迎各類媒體與樂購科技進行文章共享合作。

網(wǎng)友點評
我的評論: 人參與評論
驗證碼: 匿名回答
網(wǎng)友評論(點擊查看更多條評論)
友情提示: 登錄后發(fā)表評論,可以直接從評論中的用戶名進入您的個人空間,讓更多網(wǎng)友認識您。
自媒體專欄

評論

熱度

主站蜘蛛池模板: 国产成人女人在线观看| 免费在线成人网| 国产成人综合亚洲| 国产成人亚洲精品蜜芽影院| 免费成人在线电影| 色综合天天综合网国产成人网| 欧美成人在线视频| 国产成人综合久久精品下载| 亚洲成人一级电影| 成人毛片18女人毛片免费| 国产成人女人视频在线观看| 精品人妻无码一区二区色欲产成人| 成人永久福利免费观看| 亚洲国产精品一区二区成人片国内| 成人午夜18免费看| www.成人在线| 国产午夜成人AV在线播放| 无码国产成人av在线播放 | 中文国产成人精品少久久| 成人毛片18岁女人毛片免费看| 亚洲成人app| 国产成人精品一区二区三在线观看| 欧美.成人.综合在线| 久久久久99精品成人片试看| 国产成人无码AⅤ片在线观看 | 免费成人在线网站| 国产成人欧美一区二区三区| 成人妇女免费播放久久久| 狠狠色成人综合首页| 亚洲国产成人精品无码一区二区| 国产精品成人亚洲| 天天成人综合网| 国产精品成人h片在线| 成人3d动漫网址在线观看| 好男人社区成人影院在线观看| 成人动漫3d在线观看| 成人a在线观看| 成人免费黄色网址| 国产成人综合久久亚洲精品 | 国产成人AAAAA级毛片| 国产成人高清视频|