基于軟件維護(hù)歷史的代碼異味評(píng)估與檢測(cè)
【學(xué)位授予單位】:南京大學(xué)
【學(xué)位級(jí)別】:博士
【學(xué)位授予年份】:2018
【分類號(hào)】:TP311.53
【圖文】:
為了調(diào)查這個(gè)假設(shè)是否成立,我們?cè)冢牵椋簦龋酰馍鲜占隋澹保埃秱(gè)收藏?cái)?shù)最多的逡逑開(kāi)源Python項(xiàng)目語(yǔ)料庫(kù),包含了3.5MLOC代碼和25,882個(gè)Python文件。我們從這逡逑些項(xiàng)目中提取出策略框架中的所有度量數(shù)據(jù)集,最終每個(gè)度量的分布如圖3.1所逡逑不。度量值的分布均遵循冪律分布:絕大部分?jǐn)?shù)據(jù)點(diǎn)的分布集中于一小部分值逡逑空間內(nèi)。為此,本章采用的基于統(tǒng)計(jì)的閾值策略參考了邋Fontana等人提出的數(shù)據(jù)逡逑驅(qū)動(dòng)方法[118]。方法分為兩個(gè)步驟:逡逑第一步,按照非參數(shù)化過(guò)程丟棄對(duì)制定閾值無(wú)用的數(shù)據(jù)點(diǎn)集合。在106個(gè)逡逑Python項(xiàng)目的度量值分布中,度量值的分布呈現(xiàn)的普遍規(guī)律是:當(dāng)度量值較小逡逑時(shí),多數(shù)數(shù)據(jù)點(diǎn)落在該分布區(qū)域,即數(shù)據(jù)點(diǎn)的頻率高,例如PAi?度量表示的函逡逑數(shù)參數(shù)個(gè)數(shù)通常是1-3;隨著度量值變大,數(shù)據(jù)分布越來(lái)越稀疏,即數(shù)據(jù)點(diǎn)的頻逡逑率變小,例如度量值在10以上的概率很小,這些異常度量值很可能暗示了逡逑代碼異味。因此,那些頻率很高的度量值區(qū)域上的數(shù)據(jù)點(diǎn)失去了研究意義,故逡逑而要丟棄那一部分度量值區(qū)域上的數(shù)據(jù)點(diǎn)。
邐2逡逑基于訓(xùn)練機(jī)的閾值策略)開(kāi)發(fā)出了一個(gè)代碼異味檢測(cè)工具,名為Pysmell8,能夠逡逑檢測(cè)Python軟件中的10種代碼異味。它的體系框架如圖3.2所示,主要包含了三逡逑個(gè)功能模塊:逡逑AST分析器分析了軟件系統(tǒng)的結(jié)構(gòu)并從中將Python文件轉(zhuǎn)化為抽象語(yǔ)法樹(shù)逡逑(AST)。通過(guò)遍歷抽象語(yǔ)法樹(shù),該模塊抽取了Python文件中的所有實(shí)體(例如逡逑類和函數(shù)),并收集了相關(guān)的度量值。逡逑閾值選擇器實(shí)現(xiàn)了三種閾值策略,計(jì)算出度量閾值。基于經(jīng)驗(yàn)的閾值是根逡逑據(jù)問(wèn)卷調(diào)查中程序員反饋的經(jīng)驗(yàn)值設(shè)定。基于統(tǒng)計(jì)的閾值選取是利用AST分析逡逑器模塊收集的度量值分布來(lái)提取度量的異常值作為閾值。基于訓(xùn)練機(jī)的閾值選逡逑取是基于一個(gè)足夠大的代碼異味實(shí)例庫(kù)來(lái)迭代地訓(xùn)練閾值,使得最終閾值滿足逡逑檢測(cè)準(zhǔn)確率要求。逡逑代碼異味檢測(cè)器使用了不同閾值策略計(jì)算出的閾值來(lái)檢測(cè)目標(biāo)系統(tǒng)中的每逡逑個(gè)實(shí)體是否滿足各代碼異味的檢測(cè)策略。在該檢測(cè)過(guò)程之后,該模塊將檢測(cè)結(jié)逡逑果報(bào)告給用戶,同時(shí)也將檢測(cè)結(jié)果輸出給閾值選擇器模塊中的訓(xùn)練機(jī)以便于繼逡逑續(xù)訓(xùn)練閾值。逡逑8https://github.com/chenzhifei731/Pysmell逡逑25逡逑
【相似文獻(xiàn)】
相關(guān)期刊論文 前10條
1 Aron Sorensen;;建立船舶設(shè)備軟件維護(hù)標(biāo)準(zhǔn)[J];中國(guó)遠(yuǎn)洋海運(yùn);2017年05期
2 朱罡;;軍用軟件維護(hù)方法探析[J];中小企業(yè)管理與科技(中旬刊);2016年10期
3 劉棟;劉中杰;尚玉;文昌辭;孟慶鑫;;對(duì)軍用軟件維護(hù)標(biāo)準(zhǔn)更新的探討[J];航空標(biāo)準(zhǔn)化與質(zhì)量;2015年02期
4 趙春城;;軟件維護(hù)之重要性及方法[J];環(huán)球市場(chǎng)信息導(dǎo)報(bào);2015年26期
5 牧童;張會(huì)娜;潘曉平;;醫(yī)學(xué)信息系統(tǒng)軟件維護(hù)問(wèn)題及其對(duì)策[J];醫(yī)學(xué)信息學(xué)雜志;2009年06期
6 許軍剛;金融軟件維護(hù)工作淺析[J];中國(guó)金融電腦;1994年09期
7 張社英;劉又誠(chéng);郭江;;軟件維護(hù)技術(shù)(上)[J];計(jì)算機(jī)世界;1994年05期
8 NORMAN F.SCHNEIDEWIND;朝陽(yáng);;軟件維護(hù)的現(xiàn)狀[J];航空計(jì)算技術(shù);1988年03期
9 王德澤;普通高校計(jì)算中心的配置及其實(shí)施[J];實(shí)驗(yàn)室研究與探索;1988年01期
10 趙保華;屈玉貴;;軟件工程(八)——軟件維護(hù)、小項(xiàng)目軟件的開(kāi)發(fā)方法[J];微型機(jī)與應(yīng)用;1989年01期
相關(guān)會(huì)議論文 前9條
1 趙明航;;中廣核信息系統(tǒng)維護(hù)探討[A];2008電力行業(yè)信息化年會(huì)會(huì)議論文集[C];2008年
2 趙明航;高柯夫;;中廣核信息系統(tǒng)維護(hù)探討[A];2009電力行業(yè)信息化年會(huì)論文集[C];2009年
3 矯文成;張政保;霍曉磊;李曉輝;;指揮信息系統(tǒng)裝備軟件保障問(wèn)題研究[A];第三屆中國(guó)指揮控制大會(huì)論文集(上冊(cè))[C];2015年
4 趙宏;;網(wǎng)格理論與技術(shù)在工程計(jì)算中的應(yīng)用[A];計(jì)算機(jī)技術(shù)在工程建設(shè)中的應(yīng)用——第十二屆全國(guó)工程建設(shè)計(jì)算機(jī)應(yīng)用學(xué)術(shù)會(huì)議論文集[C];2004年
5 童麗娟;;軟件維護(hù)方法綜述[A];河南省冶金行業(yè)低碳冶金與節(jié)能減排學(xué)術(shù)研討會(huì)論文集[C];2011年
6 顧秀君;;艦船中軟件保障的研究[A];中國(guó)造船工程學(xué)會(huì)修船技術(shù)學(xué)術(shù)委員會(huì)船舶維修理論與應(yīng)用論文集第七集(2004年度)[C];2004年
7 趙勃;孫鐵鑫;王征;;高校計(jì)算機(jī)實(shí)驗(yàn)室綜合信息管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[A];第二屆世紀(jì)之星創(chuàng)新教育論壇論文集[C];2015年
8 高紅光;;高速公路ETC系統(tǒng)養(yǎng)護(hù)維修與收費(fèi)運(yùn)營(yíng)管理相結(jié)合的探索與實(shí)踐[A];中國(guó)公路學(xué)會(huì)養(yǎng)護(hù)與管理分會(huì)第七屆學(xué)術(shù)年會(huì)論文集[C];2017年
9 楊曉飛;;微機(jī)實(shí)驗(yàn)室管理的探討[A];第五屆中國(guó)教育技術(shù)裝備論壇獲獎(jiǎng)?wù)撐募ㄏ拢C];2014年
相關(guān)重要報(bào)紙文章 前9條
1 劉培臣;如何做好軟件維護(hù)工作[N];中國(guó)計(jì)算機(jī)報(bào);2008年
2 福建省南平市醫(yī)保中心 許椿榕;應(yīng)用CMM改進(jìn)軟件維護(hù)過(guò)程[N];計(jì)算機(jī)世界;2005年
3 樂(lè)天 編譯;軟件維護(hù)你會(huì)選擇第三方嗎?[N];計(jì)算機(jī)世界;2010年
4 本報(bào)記者 李燕京;軟件維護(hù)成消費(fèi)者之痛[N];中國(guó)消費(fèi)者報(bào);2013年
5 萊蕪職業(yè)技術(shù)學(xué)院 亓云;淺談學(xué)校計(jì)算機(jī)房的軟件維護(hù)技術(shù)與措施[N];萊蕪日?qǐng)?bào);2006年
6 左權(quán)縣城鎮(zhèn)環(huán)境衛(wèi)生管理站 喬霞;計(jì)算機(jī)軟件信息軟件維護(hù)和管理探討[N];晉中日?qǐng)?bào);2015年
7 楊正軍;格柏科技AccuMark 8.2版正式發(fā)布[N];中國(guó)服飾報(bào);2006年
8 小 云;軟硬兼施維護(hù)服務(wù)器[N];中國(guó)國(guó)門時(shí)報(bào);2005年
9 ;Linux開(kāi)發(fā)比Microsoft軟件費(fèi)用更高[N];計(jì)算機(jī)世界;2003年
相關(guān)博士學(xué)位論文 前8條
1 陳芝菲;基于軟件維護(hù)歷史的代碼異味評(píng)估與檢測(cè)[D];南京大學(xué);2018年
2 王帆;軟件維護(hù)中的成本估算和質(zhì)量保證技術(shù)研究[D];浙江大學(xué);2011年
3 鄢萌;軟件倉(cāng)庫(kù)的主題挖掘及其在軟件維護(hù)中的應(yīng)用研究[D];重慶大學(xué);2017年
4 王金水;交互式特征定位過(guò)程及支持技術(shù)研究[D];復(fù)旦大學(xué);2013年
5 楊夢(mèng)寧;軟件維護(hù)中的關(guān)鍵預(yù)測(cè)問(wèn)題研究[D];重慶大學(xué);2016年
6 高原;面向軟件重構(gòu)的推薦方法研究[D];北京理工大學(xué);2015年
7 徐小輝;構(gòu)件化軟件動(dòng)態(tài)更新關(guān)鍵技術(shù)及形式化研究[D];上海交通大學(xué);2011年
8 郁抒思;軟件工程數(shù)據(jù)挖掘若干問(wèn)題研究[D];復(fù)旦大學(xué);2011年
相關(guān)碩士學(xué)位論文 前10條
1 周香云;精益思想在軟件維護(hù)項(xiàng)目中的應(yīng)用研究[D];東南大學(xué);2015年
2 關(guān)士慧;軟件維護(hù)管理平臺(tái)的設(shè)計(jì)與開(kāi)發(fā)[D];電子科技大學(xué);2014年
3 陳瑜;面向嵌入式系統(tǒng)的在軌軟件維護(hù)技術(shù)研究[D];浙江大學(xué);2006年
4 范佳佳;兼顧軟件維護(hù)開(kāi)發(fā)以及提供技術(shù)支持的流程管理研究[D];上海交通大學(xué);2013年
5 李玉鵬;維護(hù)離岸外包過(guò)程管理及應(yīng)用研究[D];西北大學(xué);2007年
6 曾映雪;基于C/S的遠(yuǎn)程軟件維護(hù)系統(tǒng)的研究與實(shí)現(xiàn)[D];河海大學(xué);2003年
7 劉玉羊;軟件維護(hù)精益模型以及數(shù)據(jù)挖掘技術(shù)的應(yīng)用[D];復(fù)旦大學(xué);2008年
8 周思成;福田公司維護(hù)項(xiàng)目交接案例研究[D];大連理工大學(xué);2013年
9 劉湘月;基于主題模型的程序理解技術(shù)的研究[D];揚(yáng)州大學(xué);2016年
10 孫贏盈;基于程序關(guān)聯(lián)性分析的軟件測(cè)試方法研究[D];西安理工大學(xué);2008年
本文編號(hào):2719083
本文鏈接:http://sikaile.net/kejilunwen/ruanjiangongchenglunwen/2719083.html