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

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

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

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

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

敏捷的前提是編寫(xiě)無(wú)缺陷代碼

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

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

以工具助推敏捷的理想

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

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

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

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

 

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

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

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

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

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

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

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

  推薦閱讀

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

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


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

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

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

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

評(píng)論

熱度

主站蜘蛛池模板: 日韩黄a级成人毛片| 国产成人精品999在线观看| 欧美成人亚洲欧美成人| 久久成人国产精品一区二区| 免看**一片成人123| 亚洲欧洲精品成人久久曰| 中文国产成人精品久久水| 成人欧美日韩一区二区三区| 成人一级黄色大片| 99国产精品久久久久久久成人热| 成人在线观看免费| 久久久久亚洲AV成人无码网站 | 红楼遗梦成人h文完整版| 成人区人妻精品一区二区不卡| 四虎影视成人永久免费观看视频 | 成人做受120秒试看动态图| 亚洲精品国产成人| 国产成人精品视频一区| 欧美成人免费香蕉| 亚洲欧洲国产成人精品| 成人免费看片又大又黄| 欧美成人性视频播放| 久久精品免视看国产成人| 国产成人久久777777| 成人动漫综合网| 成人羞羞视频网站| 欧美成人国产精品高潮| 中文国产成人精品久久久| 亚洲最大成人网色香蕉| 国产成人午夜福利在线播放| 国产精品成人无码久久久| 成人动漫在线观看免费| 成人嘿嘿视频网站在线| 欧美成人精品一区二三区在线观看| 四虎成人免费大片在线| 国产成人无码a区在线观看视频免费| 成人毛片免费观看视频大全| 爱情岛永久地址www成人| 1000部国产成人免费视频| 亚洲国产成人精品无码一区二区| 国产成人mv在线播放|