LIPLAB 在自承认技术债识别研究中取得新进展

发布日期:2025-07-02 浏览次数:

近年来自承认技术债( Self-Admitted Technical Debt,SATD )已成为软件维护与演进研究的热点。SATD 不仅来源多样,包括代码注释、拉取请求、提交记录与 GitHub issue 等;同时类别繁多,涵盖架构债、构建债、代码债、缺陷债、设计债、文档债、需求债和测试债等。然而,现有方法往往只针对单一来源或有限类别,且由于数据分布极度不均衡而难以取得理想性能。


南京大学语言智能处理实验室( LIPLAB )博士生李卿源、尹志欣和杨耀鹏等针对上述瓶颈,提出了一种名为 IMPACT 的 SATD 识别与分类框架,如图 1 所示。研究主要贡献包括:


(1)ChatGPT 驱动的数据增强方法

通过多轮对话式提示,利用 ChatGPT 生成与原始 SATD 语句语义等价且保留特殊标记的变体。显著扩充了数据的规模,并且平衡了数据集分布。


(2)双模型流水线框架,分离识别与分类任务

设计了两阶段的 SATD 识别和分类框架 IMPACT:第一阶段采用 MT-MoE-BERT( Multi - task Mixture - of - Experts BERT)对多源 SATD 进行二分类识别,节约计算资源且性能良好。第二阶段使用 GLM - 4 - 9B - Chat 结合少量示例的 In-Context Learning,对识别出的 SATD 进行八分类,提升了分类精度。


(3)大规模、多语言、跨来源地系统性评估

         实验采用了主流指标,并对多种主流方法展开对比评测,并在跨项目测试集( 包括 Gradle、Maven、Spring 等未见项目 )上验证了 IMPACT 的泛化能力。


(4)显著性能提升

IMPACT 在原始测试集上平均 F1 达到了 0.876,在最具挑战性的 Pull Request 来源下也取得 0.697 的优异表现,大幅超越现有最先进方法和其基础模型,并在跨项目测试集上保持了优异的泛化能力( F1 达到了 0.813 )。



图1:IMPACT的流程图


该研究工作由李传艺、葛季栋老师指导完成,成果已被软件工程领域顶级期刊《 ACM Transactions on Software Engineering and Methodology 》( TOSEM,CCF A 类 )录用,葛季栋老师为通讯作者。未来,团队将继续深入探究面向不同场景的自承认技术债识别与分类,以及技术债的偿还,欢迎对自承认技术债感兴趣的研究人员持续关注LIPLAB最新研究进展( http://liplab.site  )。