科研快訊丨必贏3003no1線路檢測(cè)中心黃袁副教授在TOSEM發(fā)文揭示了構(gòu)建函數(shù)內(nèi)部文檔自動(dòng)生成模型的理論基礎(chǔ)
【研究背景】
在生成式軟件工程中,利用人工智能技術(shù)自動(dòng)生成軟件制品成為可能。生成式軟件工程可以顯著降低軟件開(kāi)發(fā)過(guò)程中的人力投入,有效提升軟件開(kāi)發(fā)效率,從而節(jié)約開(kāi)發(fā)成本,助力軟件產(chǎn)業(yè)升級(jí)。必贏3003no1線路檢測(cè)中心黃袁副教授等人在生成式軟件工程研究中,面向軟件代碼文檔自動(dòng)生成任務(wù),揭示了函數(shù)級(jí)別外部文檔與內(nèi)部文檔的等價(jià)作用機(jī)理,探索了構(gòu)建代碼內(nèi)部文檔自動(dòng)生成模型的理論基礎(chǔ)。
代碼文檔是對(duì)軟件代碼功能的解釋和描述。研究顯示,程序員由于開(kāi)發(fā)任務(wù)繁重,往往會(huì)忽略代碼文檔的編寫,因此,已有研究提出了一系列自動(dòng)生成函數(shù)代碼文檔的方法。函數(shù)級(jí)別的代碼文檔分為兩類,即位于函數(shù)頭部的外部文檔及位于函數(shù)內(nèi)部的內(nèi)部文檔。必贏官網(wǎng)黃袁副教授團(tuán)隊(duì)研究發(fā)現(xiàn),函數(shù)內(nèi)部文檔與函數(shù)外部文檔在輔助程序員理解代碼的過(guò)程中發(fā)揮等價(jià)的作用,它們對(duì)于提升代碼的可讀性及可理解性具有同等作用。遺憾的是,與函數(shù)外部文檔相比,函數(shù)內(nèi)部文檔自動(dòng)生成研究并沒(méi)有得到足夠的重視。

▲示例:1為函數(shù)外部文檔,2為函數(shù)內(nèi)部文檔
【研究工作】
研究團(tuán)隊(duì)比較和分析了代碼外部文檔和內(nèi)部文檔的異同。首先構(gòu)建了一個(gè)包含函數(shù)外部文檔和內(nèi)部文檔的數(shù)據(jù)集,在該數(shù)據(jù)集上,通過(guò)將現(xiàn)有的生成函數(shù)外部文檔的模型直接應(yīng)用于內(nèi)部文檔生成任務(wù)上,發(fā)現(xiàn)現(xiàn)有模型表現(xiàn)較差。然后進(jìn)一步探索可能的原因,并獲得了一些新的觀察結(jié)果:(1)在函數(shù)外部文檔數(shù)據(jù)集中有很多模板(即具有相同或相似結(jié)構(gòu)的文本),使生成模型表現(xiàn)更好;(2)在已有研究中,一些被認(rèn)為是重要的術(shù)語(yǔ)(如API調(diào)用)在文檔自動(dòng)生成中并沒(méi)有明顯影響生成文檔的質(zhì)量;(3)從書寫風(fēng)格上看,函數(shù)外部文檔中的用詞比較集中,而內(nèi)部文檔中的用詞比較多樣等。
【研究意義】
基于以上研究結(jié)果,團(tuán)隊(duì)為構(gòu)建函數(shù)內(nèi)部文檔自動(dòng)生成模型提供了理論基礎(chǔ),可以幫助研究人員為內(nèi)部注釋生成設(shè)計(jì)更有針對(duì)性的模型。比如考慮對(duì)文本單詞多樣性問(wèn)題的處理,已有的函數(shù)外部文檔包含規(guī)模適中的語(yǔ)料庫(kù),而內(nèi)部文檔則包含規(guī)模更大的預(yù)料庫(kù),因此,要求函數(shù)內(nèi)部文檔自動(dòng)生成模型具有更高的語(yǔ)料庫(kù)建模能力,能處理更為廣泛的預(yù)料分布。此外,還需考慮對(duì)代碼語(yǔ)義碎片化問(wèn)題的處理。函數(shù)外部文檔的覆蓋范圍是一個(gè)語(yǔ)義完整的函數(shù),而函數(shù)內(nèi)部文檔的覆蓋范圍往往是單行或連續(xù)幾行代碼,因此,函數(shù)內(nèi)部文檔覆蓋的代碼具有語(yǔ)義碎片化的特征。最后, 該項(xiàng)研究工作可以將代碼文檔自動(dòng)生成任務(wù)從單一的函數(shù)外部文檔生成推廣到函數(shù)內(nèi)部文檔生成,實(shí)現(xiàn)場(chǎng)景多樣化。研究公開(kāi)第一個(gè)只包括函數(shù)內(nèi)部文檔的數(shù)據(jù)集,可以用于研究人員的函數(shù)內(nèi)部文檔生成任務(wù)的BeachMark。
該研究成果以“A Comparative Study on Method Comment and Inline Comment”為題發(fā)表于軟件工程領(lǐng)域旗艦期刊ACM Transactions on Software Engineering and Methodology。文章第一作者是必贏3003no1線路檢測(cè)中心黃袁副教授,鄭子彬教授、陳湘萍副教授等為合作作者。必贏3003no1線路檢測(cè)中心為第一完成單位。
原文信息:https://dl.acm.org/doi/abs/10.1145/3582570