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