本研究旨在分析源代碼和提交消息,以調查償還不同類型的自承認技術債務(SATD)和非SATD項目所需的努力,自動估計這種償還努力,並確定與不同償還努力水平相關的關鍵詞。
首先,我們發現SATD項目的償還需要更多的代碼更改和文件更改,以及更高水平的代碼更改,這表明SATD項目需要更多的努力來處理其對系統其他部分的連鎖影響。
其次,我們發現不同類型的SATD項目需要不同程度的償還努力。文檔債務需要最少的努力,而需求債務需要最大的努力。代碼/設計債務和測試債務的努力程度介於兩者之間。
此外,我們提出了一種基於SATD文本信息預測償還努力的創新方法,並證明深度學習方法(如BERT和TextCNN)優於傳統機器學習方法。我們的模型能夠準確預測所需的代碼更改行數、文件更改數量以及不同重要性級別的代碼更改。
最後,我們分析並總結了與不同償還努力水平相關的關鍵詞。當償還努力較低時,關鍵詞通常與錯誤修復、警告更新或代碼註釋有關。而當償還努力較高時,關鍵詞則與代碼清理、更多測試和文檔更新等有關。這些發現有助於理解影響SATD償還複雜性的因素。
Til et andet sprog
fra kildeindhold
arxiv.org
Vigtigste indsigter udtrukket fra
by Yikun Li, Mo... kl. arxiv.org 09-20-2024
https://arxiv.org/pdf/2309.06020.pdfDybere Forespørgsler