999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

Klockwork檢查工具部署的方案設(shè)計(jì)與實(shí)現(xiàn)

2020-08-04 10:20:37李學(xué)強(qiáng)
數(shù)碼世界 2020年7期

摘要:在大型軟件項(xiàng)目開發(fā)過程中,為了保證軟件質(zhì)量,除了對軟件功能進(jìn)行測試,同時也會引入源代碼靜態(tài)檢查工具對源代碼進(jìn)行掃描,及時發(fā)現(xiàn)代碼中的缺陷。Klockwork工具是Klockwork公司基于專利技術(shù)分析引擎開發(fā)的一款出色的靜態(tài)分析軟件。本文針對大型軟件項(xiàng)目代碼靜態(tài)檢查的發(fā)展趨勢,從多人并行開發(fā)代碼的流程出發(fā),通過對比Klockwork提交即檢查的方法,提出一種查詢?nèi)咳毕莶Υa提交執(zhí)行攔截的部署方法。希望能為軟件項(xiàng)目開發(fā)的代碼缺陷治理提供一種參考。本文首先在前言部分指出了當(dāng)前軟件項(xiàng)目在開發(fā)效率上的痛點(diǎn),并提出快速治理的方法 。然后介紹了多人并行開發(fā)的代碼提交流程,并詳細(xì)介紹了Klockwork工具的部署方法和使用效果。最后總結(jié)Klockwork工具部署的意義。

關(guān)鍵詞:VerifyCI? Klockwork 代碼安全

1 前言

在軟件開發(fā)過程中,由其是多人同時開發(fā)時,由于每個人的編碼習(xí)慣、能力大小、知識水平都有很大的不同,要想寫出沒有代碼缺陷的軟件幾乎是不可能的。如果有些代碼缺陷不能及時被發(fā)現(xiàn),如空指針訪問、數(shù)組越界、內(nèi)存泄漏或溢出等,很可能會對軟件的可靠性、穩(wěn)定性造成很大的影響。Klockwork工具可以通過跟蹤代碼編譯過程,分析出絕大部分的此類代碼缺陷。不過對于大型軟件項(xiàng)目,Klockwork工具對代碼完成一次全量檢查,將耗費(fèi)大量的時間,根據(jù)Klockwork工具檢查結(jié)果進(jìn)行分析,從而對代碼進(jìn)行修改,修改后又要進(jìn)行Klockwork工具的檢查,這樣的反復(fù)操作將使軟件開發(fā)效率及其低下。也有軟件項(xiàng)目采用Klockwork工具進(jìn)行增量檢查,增量檢查需要保留上次的編譯環(huán)境,而且需要同步全量檢查結(jié)果,對環(huán)境的依賴太大,而且增量檢查由于檢查不全面,很可能會出現(xiàn)代碼缺陷不能全部檢查出來的情況。本文提出一種新的檢查方法,既能不影響開發(fā)效率,又能保證檢查出的代碼缺陷沒有遺漏。

2 方案設(shè)計(jì)

多人同時開發(fā)的大型軟件項(xiàng)目,一般代碼都是由專門的代碼托管軟件進(jìn)行管理?,F(xiàn)在最為流行的代碼托管軟件主要是gerrit軟件,gerrit軟件經(jīng)常與jenkins軟件聯(lián)合管理代碼的提交、驗(yàn)證等。

2.1 代碼合入流程

如圖1所示,在多人同時進(jìn)行軟件開發(fā)時,開發(fā)人員首先從代碼庫中將已經(jīng)完成的存量代碼更新到本地,然后就可以在存量的基礎(chǔ)上進(jìn)行代碼開發(fā),待本次代碼開發(fā)完成后,將本次開發(fā)完成的代碼提交到Gerrit,此時其他開發(fā)人員都可以通過Gerrit的web頁面看到該次提交的代碼內(nèi)容,可以對該次提交進(jìn)行評審,同時本次代碼提交也會觸發(fā)jenkins任務(wù),即VerifyCI,VerifyCI負(fù)責(zé)拖取本次代碼進(jìn)行編譯構(gòu)建和其他檢查,當(dāng)代碼評審和VerifyCI檢查全部通過后,代碼提交到Git庫里,這是代碼開發(fā)流程的整個過程。

2.2 Klockwork檢查工具在VerifyCI中的部署

如圖2所示,Klockwork檢查代碼庫中代碼的缺陷,檢查動作可以定時器完成觸發(fā),也可以代碼入庫的動作觸發(fā)。Klockwork檢查任務(wù)被觸發(fā)后,將從代碼庫中拖取代碼進(jìn)行掃描,Klockwork掃描會跟蹤編譯過程分析出代碼中存在的缺陷,并將缺陷生成報告以web站點(diǎn)的方式查看,在VerifyCI中并不直接對代碼進(jìn)行Klockwork掃描,而是通過Klockwork站點(diǎn)的api接口查詢存量代碼的缺陷治理情況。為了能推動開發(fā)人員盡快處理代碼缺陷,在VerifyCI中查詢到存量代碼有未治理的代碼缺陷時,使本次VerifyCI構(gòu)建失敗,并將失敗結(jié)果回填給Gerrit,從而限制代碼入庫。這種部署方式即可以快速得到VerifyCI的構(gòu)建結(jié)果,又可以推動開發(fā)人員積極治理存量代碼中的缺陷。

2.3 Klockwork檢查效果

當(dāng)VerifyCI查詢到存量代碼存在代碼缺陷未治理時,要通過郵件形式給出具體的缺陷信息,以方便開發(fā)人員分析和治理。由于在VerifyCI中查詢到未處理的代碼缺陷時,將不允許新的代碼合入,這樣開發(fā)人員將不得不優(yōu)先處理存量代碼的缺陷問題。極大的加快了代碼缺陷的治理速度,提交軟件質(zhì)量和開發(fā)效率。

3 總結(jié)

綜上所述,在軟件開發(fā)過程中,為了提高代碼質(zhì)量,一方面要努力提高開發(fā)人員的代碼設(shè)計(jì)能力,盡量做到按規(guī)范設(shè)計(jì)代碼,努力減少因不規(guī)范的編程行為而引入代碼缺陷。另一方面,要通過部署各種代碼檢查工具來為軟件質(zhì)量保駕護(hù)航,盡量早的發(fā)現(xiàn)代碼缺陷,并能夠快速進(jìn)行治理。本文設(shè)計(jì)的Klockwork工具部署方案同樣適用于部署Coverity等檢查工具。

參考文獻(xiàn)

[1]快速檢測代碼缺陷與安全漏洞的方法與實(shí)踐[J].陳學(xué)勤.指揮信息系統(tǒng)與技術(shù). 2010(05).

[2]Klocwork在軍用軟件測試中的應(yīng)用[J].梅磊,劉先博.航天標(biāo)準(zhǔn)化.2017(03).

[3]麒麟系統(tǒng)下Klocwork的靜態(tài)分析方法[J].馬萌,谷偉,趙煜.計(jì)算機(jī)與網(wǎng)絡(luò).2019(20).

[4]關(guān)于Klocwork測試規(guī)則的二次開發(fā)測試規(guī)則的本地化[J].王寧.電子世界.2013(17).

[5]基于Klocwork的C/C++軟件靜態(tài)檢查[J].姜文,劉立康.航空計(jì)算技術(shù).2016(04).

作者簡介

李學(xué)強(qiáng)(1981.9.20-)男,漢,山東菏澤人,本科學(xué)歷碩士學(xué)位,中興通訊股份有限公司,助理工程師,研究方向:操作系統(tǒng)及支撐軟件開發(fā)。

主站蜘蛛池模板: 一级在线毛片| yjizz视频最新网站在线| 欧美人与性动交a欧美精品| 99尹人香蕉国产免费天天拍| 伊人91在线| 久青草免费视频| 毛片手机在线看| 爱色欧美亚洲综合图区| 欧美日韩中文字幕在线| 欧美成人国产| 久草视频一区| 91毛片网| 国内老司机精品视频在线播出| Jizz国产色系免费| 一本大道东京热无码av| 中文字幕第4页| 操美女免费网站| 亚洲一区二区约美女探花| 亚洲欧美一级一级a| 老司机久久99久久精品播放| 欧美国产视频| 久久久久国产精品熟女影院| 激情视频综合网| 国产乱人伦偷精品视频AAA| 亚州AV秘 一区二区三区| 四虎影视库国产精品一区| 欧美激情首页| 亚洲va在线观看| 国产一区二区丝袜高跟鞋| 国产va欧美va在线观看| 在线无码私拍| 亚洲欧美成人在线视频| 天天做天天爱夜夜爽毛片毛片| 国产a v无码专区亚洲av| 99热这里只有精品2| 国产成人综合日韩精品无码不卡| 国产一级毛片网站| 日本午夜视频在线观看| 国产成人区在线观看视频| 88国产经典欧美一区二区三区| 午夜视频在线观看免费网站| 国产青青草视频| 爽爽影院十八禁在线观看| 无码福利日韩神码福利片| 国产美女在线观看| 2020精品极品国产色在线观看 | 国产91视频免费观看| 成年人国产视频| 午夜精品久久久久久久99热下载| 国产女人综合久久精品视| 欧美无专区| 国产18页| 欧美午夜视频| 狠狠色丁香婷婷| 国产免费看久久久| 亚洲首页国产精品丝袜| 成人午夜精品一级毛片| 四虎成人精品在永久免费| 成人夜夜嗨| 国产区91| 五月婷婷导航| 国产亚洲欧美日本一二三本道| 9999在线视频| 国产肉感大码AV无码| 国产精品女在线观看| 国产永久免费视频m3u8| 中文字幕日韩欧美| 福利在线免费视频| 青青国产成人免费精品视频| 国产主播喷水| 99热最新在线| 99re这里只有国产中文精品国产精品| 福利在线不卡| 91福利片| 人妻21p大胆| 看国产毛片| 欧美黄色网站在线看| 午夜影院a级片| 日韩人妻精品一区| 青草视频久久| 国产黄网永久免费| 国产欧美在线视频免费|