2024年上半年,智能化软件开发研究组在软件可跟踪性方面取得了系列研究进展,相关工作分别发表在计算机科学领域中科院二区期刊《Journal of King Saud University - Computer and Information Sciences,简称JKSUCIS》、中国计算机学会(CCF)推荐B类会议《18th ACM/IEEE International Symposium on Empirical Software Engineering and Measurement,简称ESEM 2024》、C类会议《2024 IEEE International Conference on Systems, Man, and Cybernetics,简称SMC 2024》和《The 34rd International Joint Conference on Neural Network, IJCNN 2024》,系列论文第一单位均为武汉纺织大学。
工作一:MTLink: Adaptive multi-task learning based pre-trained language model for traceability link recovery between issues and commits发表在期刊JKSUCIS。本文提出了一种名为MTLink的跟踪链接恢复方法,该方法利用多教师知识蒸馏对模型进行压缩,并采用自适应多任务策略来减少信息损失和提高issue-commit跟踪链接的精度,为issue-commit跟踪链接恢复活动提供了一种有效的解决方案。
0
图1 MTLink方法概览
工作二:MLTracer: An Approach Based on Multi-Layered Gradient Boosting Decision Trees for Requirements Traceability Recovery发表在CCF会议IJCNN 2024。本文提出了一种基于mGBDT(Multi-Layered Gradient Boosting Decision Trees)的需求跟踪生成方法(MLTracer)。MLTracer方法集成了多层GBDT(Gradient Boosting Decision Trees),并学习制品链接特征的层次表示。通过逐层训练,适应不同场景下的特征分布,提高泛化能力。
图2 MLTracer方法概览
工作三:An Empirical Study on the State-of-the-Art Methods for Requirement-to-code Traceability Link Recovery发表在期刊JKSUCIS。本文指出需求到代码的跟踪链接恢复对于大型软件系统的维护和演进至关重要。然而,目前还没有针对该主题的最新(SOTA)方法的实验研究,并且也缺乏评估该主题新方法的统一基准(Benchmark)。参考系统文献综述的方法,本文提出了一个识别SOTA方法的框架,并针对2018-2023年的原始研究展开分析。通过对6种方法在13个数据集上的实验复现,结果表明:对于基于信息检索的方法,CRT、TAROT和FTLR等方法在COEST数据集上表现良好,而Conpos和TAROT方法则在大数据集上取得了较好的结果。就基于机器学习的方法而言,随机森林在所有数据集上始终表现出较好的性能。总体上,本研究能为需求到代码的跟踪链接恢复的效果评估提供比较基准。本文建立的资源库有望减轻研究人员在效果评估方面的工作量,以促进该领域的进步。
图3 SOTA方法研究框架
工作四:XWCoDe: XGBoost with Weighted Code Dependency for Requirements-to-Code Traceability Link Recovery发表在CCF会议SMC 2024。本文提出了一种名为XWCoDe的模型,该模型将XGBoost与加权代码依赖策略相结合,应用于可跟踪性性链接恢复领域。为了对XGBoost模型生成的初始候选链路进行细化,该策略仅对低置信度的候选链路进行修改,并第一次使用图嵌入技术node2vec来计算每个代码依赖关系的重要性。实验结果表明,XWCoDe在4个数据集和9种训练/测试比率上的平均F1值比最先进的DF4RT方法高12.93%。
图4 XWCoDe方法概览
工作五:Advancements in Bug Traceability: A Systematic Mapping Study发表在CCF会议SMC 2024。本文是一篇关于Bug跟踪的系统映射研究。研究指出Bug跟踪对于提高软件质量、降低维护成本和提高团队效率至关重要。为了探索Bug跟踪的趋势和发展进程,本文选取了2014年至2023年作为研究的时间区间,通过对7个数据库中检索的4674篇论文进行严格筛选,最终有24篇原始研究被作为最后的分析对象。结果表明,本文确定了 6 种类型的Bug 追踪链接、8 种跟踪策略和 47 种 Bug 跟踪技术。同时,本文还对 113 个数据集和 16 个评估指标进行了统计,用于评估各种Bug跟踪技术的性能。该研究不仅为Bug跟踪提供了明确的定义,还通过实证研究得出了信息检索(IR)、机器学习(ML)和深度学习(DL)技术是Bug跟踪领域的主流技术。
图5 关于Bug跟踪的系统映射研究过程示意图
工作六:PromptLink: Multi-template prompt learning with adversarial training for issue-commit link recovery发表在CCF会议ESEM 2024。近年来,基于预训练、提示和预测的提示学习在自然语言处理(NLP)方面取得了巨大的成功。当前的issue-commit链接恢复 (ILR) 方法使用预训练的语言模型 (PLM) 和专用神经网络将ILR任务转换为分类任务。然而,由于 ILR 任务和 PLM 之间的不一致,这些方法没有充分利用 PLM 中的语义信息。为了缓解上述问题,本文尝试了新范式,首次提出了一种带有对抗训练的多模板提示学习方法(PromptLink),该方法通过模板将ILR任务转化为完形填空任务。具体来说,多模板PromptLink旨在通过集成各种模板和采用对抗训练来减轻模型过拟合,从而增强泛化能力。六个开源项目上的实验结果表明:PromptLink的平均F1值为96.10%,准确率为96.49%,召回率为95.92%,MCC为94.04%,AUC为96.05%,ACCof为98.15%,在所有指标上均显著优于现有最先进的方法。总体而言,PromptLink不仅提高了性能和泛化能力,而且还为未来的研究提供了新的想法和方法。
图6 PromptLink方法概览
近年来,在学校、学院的大力支持下,智能化软件开发研究组凝聚学科方向,加强团队建设,科研成效逐渐凸显,近二十项成果发表在中国计算机学会CCF推荐的期刊或会议上。据悉,该系列研究得到国家自然科学基金项目、湖北省教育厅科学研究计划中青年人才项目和湖北省服装信息化工程技术研究中心开放课题的资助。