基于關鍵類判定的代碼提交理解輔助方法
本文選題:代碼修改 + 代碼修改理解 ; 參考:《軟件學報》2017年06期
【摘要】:軟件代碼提交是最重要的軟件版本演化數(shù)據(jù)之一,被廣泛應用于軟件審查和軟件理解中.對于程序員,提交的理解難度隨著受影響的類數(shù)量、修改的代碼量的增加而增加.通過對大量數(shù)據(jù)的分析發(fā)現(xiàn):識別出提交中核心的修改類(關鍵類)以及為了完成這個核心修改所進行的依賴性改動的類(非關鍵類),能夠輔助代碼提交的理解.受機器學習技術在分類領域有效性的啟發(fā),提出一種基于機器學習的關鍵類識別方法,將判定提交中的關鍵類建模為二分類問題(即關鍵和非關鍵類),從軟件演化過程中產生的海量提交數(shù)據(jù)中抽取可判別性特征來度量類的關鍵性.在多個數(shù)據(jù)集上的實驗結果表明:該方法判定關鍵類的綜合準確率達到了87%;相比于開發(fā)人員直接理解提交,使用關鍵類信息提示來輔助理解提交,能夠顯著提高開發(fā)人員的效率和正確率.
[Abstract]:Software code submission is one of the most important software version evolution data, which is widely used in software review and software understanding. For programmers, the difficulty of understanding submission increases with the number of affected classes and the amount of code modified. Through the analysis of a large number of data, it is found that the core modification class (key class) in the submission and the dependent change class (non-critical class) in order to complete the core modification can assist in the understanding of code submission. Inspired by the effectiveness of machine learning technology in classification field, a key class recognition method based on machine learning is proposed. The key class in decision submission is modeled as a two-class problem (i.e. key and non-critical classes), and the discriminability features are extracted from the massive submitted data generated in the process of software evolution to measure the criticality of the class. The experimental results on several data sets show that the synthetic accuracy of this method is 87%, compared with the developer's direct understanding of submission, the key class information hint is used to assist in understanding the submission. It can significantly improve the developer's efficiency and accuracy.
【作者單位】: 中山大學數(shù)據(jù)科學與計算機學院;國家數(shù)字家庭工程技術研究中心;中山大學先進技術研究院;北京大學信息科學技術學院軟件研究所;高可信軟件技術教育部重點實驗室(北京大學);
【基金】:NSFC-廣東聯(lián)合基金(U1201252) 國家重點研發(fā)計劃(2016YFB1000101) 國家自然科學基金(61672545,61672045) 廣東科技計劃(2015B040403005)~~
【分類號】:TP181;TP311.5
【相似文獻】
相關期刊論文 前10條
1 ;第十屆中國機器學習會議征文通知2006年10月13~15日,海口[J];計算機研究與發(fā)展;2005年10期
2 邵平;;機器學習與人臉識別方法概述[J];玉林師范學院學報;2006年03期
3 ;第12屆中國機器學習會議征文通知 2010年8月6—8日 濟南[J];計算機研究與發(fā)展;2009年11期
4 ;第12屆中國機器學習會議征文通知[J];計算機研究與發(fā)展;2009年12期
5 ;第12屆中國機器學習會議征文通知 2010年8月6-8日 濟南[J];計算機研究與發(fā)展;2010年01期
6 柏宏權;韓慶年;;機器學習在適應性教學系統(tǒng)中的應用研究[J];南京師范大學學報(工程技術版);2007年04期
7 吳肖炎;郭瑞;;基于機器學習的計算機安全技術綜述(上)[J];保密科學技術;2013年03期
8 楊升;常勝;侯麗;;機器學習在計算機免疫中的應用[J];微計算機信息;2007年30期
9 ;《軟件學報》統(tǒng)計學習研究與應用?魑耐ㄖ猍J];軟件學報;2012年11期
10 黃健;;何清:挖掘數(shù)據(jù)開啟新知[J];科學中國人;2013年12期
相關會議論文 前5條
1 李剛;郭崇慧;林鴻飛;楊志豪;唐煥文;;基于詞典法和機器學習法相結合的蛋白質名識別[A];大連理工大學生物醫(yī)學工程學術論文集(第2卷)[C];2005年
2 周軍;何力;韓偉紅;鄧璐;;基于機器學習的中文評論傾向性分類實證研究[A];第28次全國計算機安全學術交流會論文集[C];2013年
3 陳文亮;朱靖波;姚天順;張宇新;;基于Bootstrapping的領域詞匯自動獲取[A];語言計算與基于內容的文本處理——全國第七屆計算語言學聯(lián)合學術會議論文集[C];2003年
4 陳振興;賁可榮;;機器學習在軟件預測與評估中的應用[A];2006年全國理論計算機科學學術年會論文集[C];2006年
5 焦妍;王厚峰;;基于機器學習方法與搜索引擎驗證的縮略語預測[A];中國計算語言學研究前沿進展(2009-2011)[C];2011年
相關重要報紙文章 前5條
1 百度公司技術副總監(jiān) 多媒體部負責人 余凱;深度學習與多媒體搜索技術演進[N];中國信息化周報;2013年
2 本報記者 余建斌;機器學習與互聯(lián)網(wǎng)搜索[N];人民日報;2011年
3 本報記者 張曄邋通訊員 李瑋;周志華:永不墨守成規(guī)[N];科技日報;2008年
4 沈建苗 編譯;如何成為大數(shù)據(jù)科學家[N];計算機世界;2013年
5 本報記者 閔杰;大數(shù)據(jù):價值創(chuàng)造“殺手锏”[N];中國電子報;2013年
相關博士學位論文 前7條
1 劉章林;基于機器學習的編譯優(yōu)化適應性研究[D];中國科學院研究生院(計算技術研究所);2006年
2 杜偉;機器學習及數(shù)據(jù)挖掘在生物信息學中的應用研究[D];吉林大學;2011年
3 王秉卿;基于機器學習的查詢優(yōu)化研究[D];復旦大學;2012年
4 陳東成;基于機器學習的目標跟蹤技術研究[D];中國科學院研究生院(長春光學精密機械與物理研究所);2015年
5 毛慧蕓;人臉美麗吸引力的特征分析與機器學習[D];華南理工大學;2011年
6 譚治英;核機器學習方法及其在視覺檢測中的應用研究[D];電子科技大學;2013年
7 文學志;基于機器學習的路面對象識別關鍵技術研究[D];東北大學;2008年
相關碩士學位論文 前10條
1 毛海斌;基于半監(jiān)督機器學習的情感分類領域適應問題研究[D];南京理工大學;2015年
2 王成;基于半監(jiān)督機器學習的文本情感分析技術[D];南京理工大學;2015年
3 孫科;基于Spark的機器學習應用框架研究與實現(xiàn)[D];上海交通大學;2015年
4 劉江龍;基于機器學習的射頻指紋定位方法研究[D];電子科技大學;2015年
5 周文U,
本文編號:2096792
本文鏈接:http://sikaile.net/kejilunwen/zidonghuakongzhilunwen/2096792.html