基于同構(gòu)網(wǎng)絡(luò)的代碼克隆檢測(cè)方法及系統(tǒng)

基本信息

申請(qǐng)?zhí)?/td> CN202010871698.X 申請(qǐng)日 -
公開(公告)號(hào) CN112035165A 公開(公告)日 2020-12-04
申請(qǐng)公布號(hào) CN112035165A 申請(qǐng)公布日 2020-12-04
分類號(hào) G06F8/75;G06F40/30;G06N3/04;G06N3/08 分類 計(jì)算;推算;計(jì)數(shù);
發(fā)明人 姚金龍;谷晶中;左洪強(qiáng);程杰;張陽(yáng)光;鄭宏亮;高軍濤 申請(qǐng)(專利權(quán))人 山谷網(wǎng)安科技股份有限公司
代理機(jī)構(gòu) 鄭州大通專利商標(biāo)代理有限公司 代理人 山谷網(wǎng)安科技股份有限公司
地址 450000 河南省鄭州市金水區(qū)楊金路199號(hào)河南新科技市場(chǎng)8號(hào)樓
法律狀態(tài) -

摘要

摘要 本發(fā)明屬于代碼檢測(cè)技術(shù)領(lǐng)域,特別涉及一種基于同構(gòu)網(wǎng)絡(luò)的代碼克隆檢測(cè)方法及系統(tǒng),對(duì)提取待比較程序源碼函數(shù)級(jí)別的抽象語法樹,其所有葉子節(jié)點(diǎn)對(duì)應(yīng)程序源碼的句子文本信息,非葉子節(jié)點(diǎn)對(duì)應(yīng)程序源碼的結(jié)構(gòu)信息;將抽象語法樹重新排列,得到與遞歸自編碼器形成同構(gòu)網(wǎng)絡(luò)模型的重構(gòu)抽象語法樹,遞歸自編碼器隱藏層每一個(gè)節(jié)點(diǎn)與重構(gòu)抽象語法樹非葉子節(jié)點(diǎn)關(guān)聯(lián);訓(xùn)練學(xué)習(xí)遞歸自編碼器模型收斂參數(shù),通過損失函數(shù)來訓(xùn)練用于獲取中間向量的模型參數(shù);提取語法樹的文本語義向量作為輸入,通過收斂后模型參數(shù)獲取待比較程序源碼的中間向量;根據(jù)中間向量近似程度判定待比較程序源碼相似性。本發(fā)明通過自動(dòng)學(xué)習(xí)代碼隱藏特征,提升代碼克隆檢測(cè)效率和準(zhǔn)確性。