Software traceability plays a critical role in software maintenance and evolution. We conducted a systematic mapping study with six research questions to understand the benefits, costs, and challenges of using traceability in maintenance and evolution. We systematically selected, analyzed, and synthesized 63 studies published between January 2000 and May 2020, and the results show that: traceability supports 11 maintenance and evolution activities, among which change management is the most frequently supported activity; strong empirical evidence from industry is needed to validate the impact of traceability on maintenance and evolution; easing the process of change management is the main benefit of deploying traceability practices; establishing and maintaining traceability links is the main cost of deploying traceability practices; 13 approaches and 32 tools that support traceability in maintenance and evolution were identified; improving the quality of traceability links, the performance of using traceability approaches and tools are the main traceability challenges in maintenance and evolution. The findings of this study provide a comprehensive understanding of deploying traceability practices in software maintenance and evolution phase, and can be used by researchers for future directions and practitioners for making informed decisions while using traceability in maintenance and evolution.
翻译:软件的可追踪性在软件维护和演进方面发挥着关键作用。我们开展了一项系统性的绘图研究,以了解在维护和演进方面使用可追踪性的好处、成本和挑战。我们系统地选定、分析和综合了2000年1月至2020年5月发表的63项研究,结果显示:可追踪性支持了11项维护和演进活动,其中变革管理是最经常支持的活动;需要行业的有力经验证据来验证可追踪性对维护和演进的影响;放宽变革管理进程是采用可追踪性做法的主要好处;建立和维持可追踪性联系是采用可追踪性做法的主要成本;确定了13项方法和32项工具,支持维护和演进方面的可追踪性联系;改进可追踪性联系的质量,使用可追踪方法和工具的绩效是维护和演化方面的主要可追踪性挑战。本研究的结果全面了解了在软件维护和演进阶段采用可追踪性做法的情况,研究人员可以使用未来方向和从业人员在使用可追踪性维护和演进方面作出知情决定。