中文

跨多样化软件项目议题识别技术债务及其类型

软件工程 2024-08-20 v1 人工智能

摘要

在软件项目议题中识别技术债务(Technical Debt, TD)对于维护代码质量、降低长期维护成本及改善整体项目健康状况至关重要。本研究利用基于Transformer的模型推进了TD分类,解决了大规模软件开发中对准确高效识别TD的关键需求。我们的方法采用多个针对TD及其类型的二元分类器,通过集成学习进行组合,以增强检测各种形式TD的准确性和鲁棒性。我们在一个来自GitHub Archive Issues(2015-2024)的综合数据集上训练并评估了这些模型,并辅以工业数据验证。我们证明,在TD分类任务中,经过项目内微调的Transformer模型显著优于经过任务特定微调的模型,这突显了项目特定上下文在准确识别TD中的重要性。我们的研究还揭示了专用二元分类器在多类模型上对于TD及其类型识别的优越性,从而能够制定更具针对性的债务解决策略。对比分析显示,对于TD分类任务,尤其是在微调之后,较小的DistilRoBERTa模型比GPT等大型语言模型更有效,为特定TD检测任务的高效模型选择提供了见解。该研究还使用MCC、AUC ROC、Recall和F1分数等指标评估了泛化能力,重点关注模型有效性、微调影响和相对性能。通过在分布外和真实世界工业数据集上验证我们的方法,我们确保了其实际适用性,以应对软件项目的多样性。

关键词

引用

@article{arxiv.2408.09128,
  title  = {Identifying Technical Debt and Its Types Across Diverse Software Projects Issues},
  author = {Karthik Shivashankar and Mili Orucevic and Maren Maritsdatter Kruke and Antonio Martini},
  journal= {arXiv preprint arXiv:2408.09128},
  year   = {2024}
}