《面向功能挖掘的代碼主題建模技術研究》是依託北京大學,由趙俊峰擔任負責人的面上項目。
基本介紹
- 中文名:面向功能挖掘的代碼主題建模技術研究
- 項目負責人:趙俊峰
- 項目類別:面上項目
- 依託單位:北京大學
項目摘要,結題摘要,
項目摘要
代碼復用中,開發人員需要理解軟體的功能及其代碼實現。近年來,基於主題建模技術的代碼理解方法成為研究熱點之一。現有工作大多將代碼作為普通文本,直接利用針對普通文本的主題建模技術,缺少對代碼特點的考慮;並且挖掘出的主題語義不明確,多種類型主題混雜在一起,開發人員難以理解與套用。 本項目以功能性主題為核心,研究面向功能挖掘的代碼主題建模技術。首先,在針對普通文本的主題建模技術基礎上,結合軟體代碼靜態結構與動態行為特點進行改進,提出適合代碼的主題建模技術,並研究區分不同類型主題及識別功能性主題的技術;進而,構建主題及其關聯實體描述模型,在此基礎上研究描述功能性主題語義的技術,並建立主題-主題之間、主題-關聯實體之間關聯關係。最後,研究基於主題的代碼理解、軟體分類、領域分析等套用技術,並研製相應的原型系統,利用開源軟體數據和企業實踐進行技術驗證。
結題摘要
代碼復用中,開發人員需要理解軟體的功能及其代碼實現。基於主題建模技術的代碼理解方法已成為近年來研究熱點之一。現有工作大多將代碼作為普通文本,直接利用針對普通文本的主題建模技術,缺少對代碼特點的考慮;並且挖掘出的主題語義不明確,多種類型主題混雜在一起,開發人員難以理解與套用。本項目針對上述問題,以功能性主題為核心,研究了面向功能挖掘的代碼主題建模技術。 本項目從網際網路上收集了不同類別、不同規模的開源軟體項目資源,針對這些資源進行了主題建模技術方面的研究。首先,針對所收集的軟工數據高維稀疏的特徵,以及其結構化、半結構化的特徵,重點開展了主題建模技術的改進方法研究,以及基於改進張量分解技術的稀疏數據處理方法。在針對普通文本的主題建模技術基礎上,結合軟體代碼靜態結構與動態行為特點進行了改進,對現有的主題建模技術進行了改進與擴展,使其可以處理多關聯關係以及屬性值情況的軟工數據。 進而,研究了主題建模技術的計算機制、參數設定、主題詞權重判定、主題描述自動生成等工作,並結合軟體知識圖譜構造技術,研究了主題-主題之間、主題-關聯實體之間關聯關係的構建技術,構建了主題及其關聯實體描述模型,在此基礎上研究了描述功能性主題語義的技術,研究了基於主題建模技術的代碼主題摘要自動生成方法。將所提煉的功能性主題作為知識圖譜中的成分加入其中,構建了一個具有可擴展性的、更適合代碼特點的主題及其關聯實體描述模型,基於此模型,研究了智慧型檢索與問答技術。 最後,基於上述研究,設計並實現了一個基於擴展主題模型的多源數據分析平台,通過所採集的開源項目數據驗證了方法的有效性,並將研究成果套用到神州數碼等軟體企業中,驗證了原型工具的實際套用效果。 本項目共發表論文10篇,發布專利2項申請專利1項,獲得軟體著作權2項,培養1名博士生、4名碩士生,5名本科生。