软件可追踪性( Software Traceability )是指一种将软件系统内各类软件制品相互关联,并随系统变化对这些追踪线索进行维护的特性。长期的研究与实践表明,软件可追踪性能够极大地提升软件开发的正确性与效率。然而,当前主流的自动化追踪技术普遍受到软件系统中 ” 语义失配 ” 问题的制约,即不同类型的软件制品处于不同的抽象层次( 存在语义鸿沟 ),高抽象层次的制品多用于描述问题域的相关概念( 如规约或需求 ),低抽象层的制品多侧重于描述解决方案域的实现细节( 如代码 ),且不同抽象层次制品之间往往采用不同的词汇来表达同一个概念。该问题极大地限制了软件可追踪性在实践中的应用。另外,现有研究技术普遍关注两种不同软件制品之间的追踪关系( 如需求到代码 ),忽视了引入其他类型制品分析对优化可追踪技术的重要性。
针对上述问题,软件研发效能实验室匡宏宇老师与奥地利林茨大学 Alexander Egyed 教授联合指导博士生高辉,创新性的提出了一种结合共识词对( 发表于 ASE 2022,https://software.nju.edu.cn//xyxw/20220820/i226551.html )和多类型制品之间追踪关系可传递性的自动化追踪技术 TRIAD。考虑到不同软件制品之间的抽象层次不同,该方法首先在抽象层次差异较大的源制品和目标制品之间引入了中间制品作为沟通二者抽象层级差异的桥梁,接着抽取三种制品之间共识词并利用中间制品中已抽取的共识词对分别扩充到源制品与目标制品的初始文本中以实现文本优化。然后,该方法进一步提出了多类型制品之间追踪关系的可传递性,即同类型制品之间的内传递性语不同类型制品之间的外传递性,并利用这两种可传递性对候选追踪列列表进行优化。实验结果显示 TRIAD 方法在5个真实数据集上普遍优于3种基线方法。
该工作通过在源制品和目标制品之间引入中间制品分析的基础上,提出利用共识词优化初始文本和利用多类型制品之间追踪关系的可传递性对候选追踪列表进行优化,从而缓解不同抽象层级软件制品之间语义失配问题,对构建多制品间可追踪网络具有重要意义。该工作相关研究成果《 TRIAD: Automated Traceability Recovery based on Biterm-enhanced Deduction of Transitive Links among Artifacts 》现已被软件工程领域顶级国际会议 The 46th International Conference on Software Engineering ( ICSE 2024,CCF – A会议 )全文录用,南京大学为第一作者单位。
高辉同学由马晓星教授和匡宏宇助理研究员共同指导,其主要研究方向包括软件可追踪性和程序理解,研究成果先后发表在 ICSE、ASE、EMSE ( https://software.nju.edu.cn//xyxw/20211210/i216751.html ) 和 ICPC 等国际顶级软件工程会议和期刊。