by Mouna Hammoudi, Christoph Mayr-Dorn, Atif Mashkoor, Alexander Egyed
Abstract:
Requirement-to-code traces reveal the code location(s) where a requirement is implemented. Traceability is essential for code evolution and understanding. However, creating and maintaining requirement-to-code traces is a tedious and costly process. In this paper, we introduce TraceRefiner, a novel technique for automatically refining coarse-grained requirement-to-class traces to fine-grained requirement-to-method traces. The inputs of TraceRefiner are (1) the set of requirement-to-class traces, which are easier to create as there are far fewer traces to capture, and (2) information about the code structure (i.e., method calls). The output of TraceRefiner is the set of requirement-to-method traces (providing additional, fine-grained information to the developer). We demonstrate the quality of TraceRefiner on four case study systems (7-72KLOC) and evaluated it on over 230,000 requirement-to-method predictions. The evaluation demonstrates TraceRefiner's ability to refine traces even if many requirement-to-class traces are undefined (incomplete input). The obtained results show that the proposed technique is fully automated, tool-supported, and scalable.
Reference:
TraceRefiner: An Automated Technique for Refining Coarse-Grained Requirement-to-Class Traces (Mouna Hammoudi, Christoph Mayr-Dorn, Atif Mashkoor, Alexander Egyed), In 28th Asia-Pacific Software Engineering Conference, APSEC 2021, Taipei, Taiwan, December 6-9, 2021, IEEE, 2021.
Bibtex Entry:
@Conference{Hammoudi2021,
author = {Mouna Hammoudi and Christoph Mayr-Dorn and Atif Mashkoor and Alexander Egyed},
booktitle = {28th Asia-Pacific Software Engineering Conference, {APSEC} 2021, Taipei, Taiwan, December 6-9, 2021},
title = {TraceRefiner: An Automated Technique for Refining Coarse-Grained Requirement-to-Class Traces},
year = {2021},
pages = {12--21},
publisher = {{IEEE}},
abstract = {Requirement-to-code traces reveal the code location(s) where a requirement is implemented. Traceability is essential for code evolution and understanding. However, creating and maintaining requirement-to-code traces is a tedious and costly process. In this paper, we introduce TraceRefiner, a novel technique for automatically refining coarse-grained requirement-to-class traces to fine-grained requirement-to-method traces. The inputs of TraceRefiner are (1) the set of requirement-to-class traces, which are easier to create as there are far fewer traces to capture, and (2) information about the code structure (i.e., method calls). The output of TraceRefiner is the set of requirement-to-method traces (providing additional, fine-grained information to the developer). We demonstrate the quality of TraceRefiner on four case study systems (7-72KLOC) and evaluated it on over 230,000 requirement-to-method predictions. The evaluation demonstrates TraceRefiner's ability to refine traces even if many requirement-to-class traces are undefined (incomplete input). The obtained results show that the proposed technique is fully automated, tool-supported, and scalable.},
bibsource = {dblp computer science bibliography, https://dblp.org},
biburl = {https://dblp.org/rec/conf/apsec/HammoudiMME21.bib},
doi = {10.1109/APSEC53868.2021.00009},
keywords = {FWF P31989, FWF P29415, FWF I4744, LIT Secure and Correct Systems Lab},
timestamp = {Wed, 23 Feb 2022 18:55:47 +0100},
url = {https://doi.org/10.1109/APSEC53868.2021.00009},
}