我院软件研发效能实验室匡宏宇老师指导的博士生高辉在软件可追踪性领域又取得新进展,其成果形成了题为《Using Consensual Biterms from Text Structures of Requirements and Code to Improve IR-Based Traceability Recovery》的会议论文,并被软件工程领域顶级国际会议 International Conference on Automated Software Engineering(ASE2022, CCF-A类会议)全文录用。
软件可追踪性(Software Traceability)是指一种将软件系统内各类软件制品相互关联,并随系统变化对这些追踪线索进行维护的特性。长期的研究与实践表明,软件可追踪性能够极大地提升软件开发的正确性与效率。然而,当前主流的基于制品文本相似度的自动化追踪技术在实践中受到软件系统中”词汇表失配”问题的制约,即不同类型的软件制品处于不同的抽象层次(存在语义鸿沟),因此往往用不同的词汇来表达同一个概念。该问题极大地限制了软件可追踪性在实践中的应用,是程序理解这一领域内共通的、亟待解决的重大挑战,也是该研究小组的重点研究方向之一。其前序研究通过发掘代码独有的结构特征,提出了结合用户反馈与代码依赖紧密度分析以应对上述挑战,相关论文发表于软工程顶级期刊《Empirical Software Engineering》(https://software.nju.edu.cn//xyxw/20211210/i216751.html )。
为了更深入地应对”词汇表失配”这一挑战,该小组进一步从需求和代码的文本结构特征出发,提出了TAROT (TraceAbility Recovery by cOsensual biTerms)方法。该方法首先根据需求和代码的文本结构对文本进行拆分,并利用自然语言处理技术对文本进行句法分析与词项依赖分析,从而抽取二者共有的词对(即”consensual biterm”,共识词对)。之后,TAROT方法基于抽取的共识词对实现:(1)对待分析的需求和代码语料库进行有效扩充;(2)基于此类词对的”共识”,设计相应的文本相似度增强方法。实验结果显示,TAROT方法在9个真实数据集上普遍优于各类基线方法。由于TAROT方法是从文本自身的结构特征出发,改善了不同软件制品之间的文本相似度计算,因此,该研究小组预期此方法能够和之前提出的各类自动化追踪技术(包含各类信息检索增强策略与基于机器学习的追踪技术等)互为补充,从而共同协作以更好地应对”词汇表失配”这一软件工程研究领域内的重大挑战。