亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

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

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

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

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

        1 前言

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

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

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

        2.1 代碼合入流程

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

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

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

        2.3 Klockwork檢查效果

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

        3 總結(jié)

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

        參考文獻(xiàn)

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

        [2]Klocwork在軍用軟件測(cè)試中的應(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測(cè)試規(guī)則的二次開(kāi)發(fā)測(cè)試規(guī)則的本地化[J].王寧.電子世界.2013(17).

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

        作者簡(jiǎn)介

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

        国产av无码专区亚洲avjulia| 国产目拍亚洲精品二区| 日本一区二区三深夜不卡| 国产精品亚洲在钱视频| 自拍av免费在线观看| av网站免费在线浏览| 欧美亅性猛交内射| 亚洲av一二三四区四色婷婷| 国产精品美女久久久网av| 少妇愉情理伦片| 精品无码久久久久成人漫画| 96精品在线| 青青草99久久精品国产综合| 日本亚洲视频免费在线看| 中文字幕本久久精品一区| 日韩av高清在线观看| 野狼第一精品社区| 亚洲日韩欧美国产另类综合| 中文字幕一区二区三区日韩网| 亚洲国产最新免费av| 草草影院ccyy国产日本欧美| 亚洲精品美女久久久久99 | 99久久久无码国产精品9| 99久久超碰中文字幕伊人| 国产精品人人爱一区二区白浆| 人妻少妇精品视频一区二区三| 日韩精品一区二区午夜成人版| 国产在线播放网址| 波多野无码AV中文专区 | 蜜桃视频一区二区三区| 中文字幕乱码日本亚洲一区二区| 午夜裸体性播放| 亚洲乱码日产精品bd| 国产午夜亚洲精品不卡福利| 亚洲一区二区三区国产精品视频 | 国产成人无码精品久久久露脸| 99精产国品一二三产品香蕉| 日本a在线免费观看| 国产啪啪视频在线观看| 一区二区三区在线视频观看 | 亚洲97成人在线视频|