基于復(fù)用代碼檢測的缺陷發(fā)現(xiàn)方法
本文選題:代碼復(fù)用 切入點:復(fù)用缺陷檢測 出處:《系統(tǒng)工程與電子技術(shù)》2017年09期
【摘要】:軟件開發(fā)中,因代碼復(fù)用導(dǎo)致復(fù)用缺陷的現(xiàn)象時常發(fā)生,針對此提出一種基于代碼復(fù)用檢測的缺陷發(fā)現(xiàn)方法。首先通過代碼比對或補(bǔ)丁還原的方式定位缺陷相關(guān)的代碼,將缺陷代碼和待測代碼以函數(shù)為單位進(jìn)行劃分,提取并量化各函數(shù)的度量特征、結(jié)構(gòu)特征和文本特征,采用遞進(jìn)式相似函數(shù)逐輪篩選的方式,確定可能存在復(fù)用缺陷的函數(shù),并基于模型檢測和數(shù)據(jù)流分析技術(shù)對疑似缺陷進(jìn)一步判斷。實驗選取典型開源項目進(jìn)行測試,發(fā)現(xiàn)了多處潛在的復(fù)用缺陷,結(jié)果證明了所提方法的有效性,同時發(fā)現(xiàn)每個缺陷平均要對2~5個可能的復(fù)用點進(jìn)行判斷。
[Abstract]:In software development, multiplexing defects often occur due to code reuse. A defect detection method based on code reuse detection is proposed in this paper.Firstly, the defect related code is located by code comparison or patch restore, and the defect code and the code to be tested are divided into function units to extract and quantify the metric feature, structure feature and text feature of each function.In this paper, the progressive similarity function is used to determine the function with multiplexing defects, and the suspected defects are further judged based on model detection and data flow analysis techniques.The experiment selected typical open source projects to test, found many potential reuse defects, the results show the effectiveness of the proposed method, and found that each defect has an average of 2 to 5 possible reuse points to judge.
【作者單位】: 電子工程學(xué)院博士生隊;電子工程學(xué)院網(wǎng)絡(luò)系;
【基金】:國家自然科學(xué)基金(61472357,61602491)資助課題
【分類號】:TP311.5
【相似文獻(xiàn)】
相關(guān)期刊論文 前10條
1 Patrick Gallucci;崔建海;;Visual Studio 2005的智能感應(yīng)代碼段[J];程序員;2006年07期
2 史慶慶;孟繁軍;張麗萍;劉東升;;克隆代碼技術(shù)研究綜述[J];計算機(jī)應(yīng)用研究;2013年06期
3 何曉琴;;深入剖析C++中的指針與C#中的委托[J];重慶電力高等?茖W(xué)校學(xué)報;2009年01期
4 朱天明;劉嘉勇;;基于代碼搬移的PE文件信息隱藏[J];通信技術(shù);2010年08期
5 楊群;楊獻(xiàn)春;許滿武;;代碼縮減技術(shù)的研究[J];計算機(jī)科學(xué);2006年02期
6 李淑彪;通過“需求配置”改進(jìn)類代碼的重用性能[J];小型微型計算機(jī)系統(tǒng);2004年11期
7 阿布力米提·阿不都熱依木,吐爾根·伊布拉音,牙森·艾則孜;Windows9X API的攔截技術(shù)[J];新疆大學(xué)學(xué)報(自然科學(xué)版);2003年02期
8 譚東;;根據(jù)JAVA語言命名的特征,分析代碼段的組織結(jié)構(gòu)[J];黑龍江科技信息;2010年17期
9 馮士德;;基于C++/CLI實現(xiàn)托管代碼與非托管代碼的交互[J];微型電腦應(yīng)用;2013年01期
10 劉偉;劉宏韜;胡志剛;;代碼缺陷與代碼味道的自動探測與優(yōu)化研究[J];計算機(jī)應(yīng)用研究;2014年01期
相關(guān)博士學(xué)位論文 前6條
1 邊奕心;可重構(gòu)克隆代碼的過程提取方法研究[D];哈爾濱工業(yè)大學(xué);2014年
2 孫喁喁;基于代碼迷惑的軟件保護(hù)及惡意代碼檢測技術(shù)研究[D];西安建筑科技大學(xué);2014年
3 張剛;代碼克隆擴(kuò)展分析及管理技術(shù)研究[D];復(fù)旦大學(xué);2013年
4 解培岱;惡意代碼行為挖掘關(guān)鍵技術(shù)研究[D];國防科學(xué)技術(shù)大學(xué);2013年
5 韓曉光;惡意代碼檢測關(guān)鍵技術(shù)研究[D];北京科技大學(xué);2015年
6 何麗莉;橫切關(guān)注分離方法研究[D];吉林大學(xué);2007年
相關(guān)碩士學(xué)位論文 前10條
1 董沖;無定型克隆代碼檢測及重構(gòu)系統(tǒng)的設(shè)計與實現(xiàn)[D];哈爾濱工業(yè)大學(xué);2014年
2 劉鑫;重復(fù)代碼檢測方法及其應(yīng)用[D];哈爾濱工業(yè)大學(xué);2007年
3 舒翔;基于索引和序列匹配的代碼克隆檢測技術(shù)研究[D];杭州電子科技大學(xué);2015年
4 張鵬;C程序相似代碼識別方法的研究與實現(xiàn)[D];大連理工大學(xué);2008年
5 黨舒凡;具有時間多樣性的JavaScript代碼保護(hù)方法的研究與實現(xiàn)[D];西北大學(xué);2014年
6 梁婕;一種靜態(tài)代碼安全分析系統(tǒng)的設(shè)計與實現(xiàn)[D];北京郵電大學(xué);2008年
7 程金宏;程序代碼相似度度量研究[D];內(nèi)蒙古師范大學(xué);2007年
8 尹麗麗;基于主題模型的克隆代碼有害性預(yù)測研究[D];內(nèi)蒙古師范大學(xué);2014年
9 張亮;源代碼專家推薦系統(tǒng)設(shè)計與實現(xiàn)[D];山東大學(xué);2010年
10 官強(qiáng);基于系統(tǒng)函數(shù)序列的惡意代碼同源分析[D];國防科學(xué)技術(shù)大學(xué);2012年
,本文編號:1721439
本文鏈接:http://sikaile.net/kejilunwen/ruanjiangongchenglunwen/1721439.html