語音播報
近日,中國科學(xué)院軟件研究所智能軟件研究中心研究員武延軍、吳敬征課題組在基于深度神經(jīng)網(wǎng)絡(luò)的靜態(tài)代碼分析研究中取得進展。課題組提出了基于多類型和多粒度的語義代碼表示學(xué)習(xí)模型——MultiCode,解決了工業(yè)場景中涉及多需求的開發(fā)任務(wù)時面臨的開發(fā)開銷大、模型集成困難、可擴展性受限等問題,實現(xiàn)了在多需求工業(yè)場景下的高效開發(fā)和準(zhǔn)確預(yù)測,在漏洞檢測、代碼克隆檢測等任務(wù)中得到了具體實踐,并獲得實際應(yīng)用。
基于深度神經(jīng)網(wǎng)絡(luò)的靜態(tài)代碼分析方法通常在不同代碼分析任務(wù)中引入針對性設(shè)計,導(dǎo)致模型呈現(xiàn)高度多樣化的態(tài)勢。在工業(yè)領(lǐng)域,該現(xiàn)象會使開發(fā)者在開發(fā)涉及多需求的代碼分析平臺時,面臨開發(fā)開銷大、模型集成困難、可擴展性受限等問題。
針對上述問題,MultiCode模型能夠?qū)W習(xí)代碼中多種類型和粒度的語義信息,進而支撐多種代碼分析任務(wù)。課題組提出使用抽象語法樹、控制流圖、程序依賴圖等結(jié)構(gòu),對代碼中不同類型和粒度的語義信息進行建模,并利用樹神經(jīng)網(wǎng)絡(luò)和圖神經(jīng)網(wǎng)絡(luò)分別對不同的語義信息進行處理。在該過程中,MultiCode模型自底向上地先學(xué)習(xí)語句級別的表示,再基于該表示學(xué)習(xí)代碼段級別的表示。將該模型作為編碼器進行神經(jīng)網(wǎng)絡(luò)構(gòu)建,能夠有效適配于不同的代碼分析任務(wù)。在漏洞檢測和代碼克隆檢測任務(wù)上的評估結(jié)果表明,其能夠在不需要重新構(gòu)建編碼器的情況下,在不同任務(wù)中有效地識別并區(qū)分不同類別代碼的語義,進而支撐多種任務(wù)上的預(yù)測。
相關(guān)研究成果以MultiCode: A Unified Code Analysis Framework based on Multi-type and Multi-granularity Semantic Learning為題,發(fā)表在軟件可靠性工程國際會議(ISSRE 2021)的Industry Track上,并被評為最佳實踐論文。研究工作得到國家重點研發(fā)計劃、國家自然科學(xué)基金的支持。
MultiCode基于多類型和多粒度的語義代碼表示學(xué)習(xí)模型框架
ISSRE 2021最佳實踐論文獎
© 1996 - 中國科學(xué)院 版權(quán)所有 京ICP備05002857號-1 京公網(wǎng)安備110402500047號 網(wǎng)站標(biāo)識碼bm48000002
地址:北京市西城區(qū)三里河路52號 郵編:100864
電話: 86 10 68597114(總機) 86 10 68597289(總值班室)
編輯部郵箱:casweb@cashq.ac.cn
© 1996 - 中國科學(xué)院 版權(quán)所有 京ICP備05002857號-1 京公網(wǎng)安備110402500047號 網(wǎng)站標(biāo)識碼bm48000002
地址:北京市西城區(qū)三里河路52號 郵編:100864
電話: 86 10 68597114(總機) 86 10 68597289(總值班室)
編輯部郵箱:casweb@cashq.ac.cn
© 1996 - 中國科學(xué)院 版權(quán)所有
京ICP備05002857號-1
京公網(wǎng)安備110402500047號
網(wǎng)站標(biāo)識碼bm48000002
地址:北京市西城區(qū)三里河路52號 郵編:100864
電話:86 10 68597114(總機)
86 10 68597289(總值班室)
編輯部郵箱:casweb@cashq.ac.cn