Requirements traceability is an important activity to reach an effective requirements management method in the requirements engineering. Requirement-to-Code Traceability Links (RtC-TLs) shape the relations between requirement and source code artifacts. RtC-TLs can assist engineers to know which parts of software code implement a specific requirement. In addition, these links can assist engineers to keep a correct mental model of software, and decreasing the risk of code quality degradation when requirements change with time mainly in large sized and complex software. However, manually recovering and preserving of these TLs puts an additional burden on engineers and is error-prone, tedious, and costly task. This paper introduces YamenTrace, an automatic approach and implementation to recover and visualize RtC-TLs in Object-Oriented software based on Latent Semantic Indexing (LSI) and Formal Concept Analysis (FCA). The originality of YamenTrace is that it exploits all code identifier names, comments, and relations in TLs recovery process. YamenTrace uses LSI to find textual similarity across software code and requirements. While FCA employs to cluster similar code and requirements together. Furthermore, YamenTrace gives a visualization of recovered TLs. To validate YamenTrace, it applied on three case studies. The findings of this evaluation prove the importance and performance of YamenTrace proposal as most of RtC-TLs were correctly recovered and visualized.
翻译:需求追踪是需求工程中实现有效需求管理的重要活动。需求到代码的可追踪链接(RtC-TLs)刻画了需求与源代码制品之间的关系。RtC-TLs可帮助工程师了解软件的哪些部分实现了特定需求。此外,这些链接有助于工程师保持正确的软件心智模型,并在需求随时间变化时(尤其是在大规模复杂软件中)降低代码质量退化的风险。然而,手动恢复和维持这些可追踪链接会给工程师带来额外负担,且容易出错、繁琐且成本高昂。本文介绍了YamenTrace——一种基于潜在语义索引(LSI)和形式概念分析(FCA)的自动化方法及实现,用于恢复和可视化面向对象软件中的RtC-TLs。YamenTrace的创新之处在于,它在可追踪链接恢复过程中利用了所有代码标识符名称、注释及关系。YamenTrace通过LSI发现软件代码与需求之间的文本相似性,而FCA则用于将相似代码与需求聚类。此外,YamenTrace提供了恢复后链接的可视化功能。为验证YamenTrace,我们在三个案例研究中进行了应用。评估结果证明了YamenTrace方案的重要性和性能:大多数RtC-TLs被正确恢复和可视化。