by Hongyu Kuang, Patrick Mäder, Hao Hu, Achraf Ghabi, LiGuo Huang, Jian Lu, Alexander Egyed
Abstract:
Requirements traceability benefits many software engineering activities, such as change impact analysis and risk assessment. However, capturing and maintaining the required complete and correct traceability links is not trivial, making traceability assessment an important field of study. In recent years, requirements traceability research has focused on call dependencies within source code to understand how code properties contribute to the implementation of a requirement and to assess whether traceability links are correct and complete. These approaches largely ignore the role of existing data dependencies within the source code. Methods may never call each other, but may still depend upon another by sharing data. We identified five research questions and validated them on five software systems, covering 4 to 72 KLOC. We found that data dependencies are as relevant as call dependencies for assessing requirements traceability. Even more interesting, our analyses show that data dependencies complement call dependencies in the assessment. These findings have strong implications on code understanding, including trace capture, maintenance, and validation techniques.
Reference:
Can Method Data Dependencies support the Assessment of Traceability between Requirements and Source Code? (Hongyu Kuang, Patrick Mäder, Hao Hu, Achraf Ghabi, LiGuo Huang, Jian Lu, Alexander Egyed), In Journal of Software: Evolution and Process, volume 27, 2015.
Bibtex Entry:
@Article{DBLP:journals/smr/KuangMHGHLE15,
author = {Hongyu Kuang and Patrick Mäder and Hao Hu and Achraf Ghabi and LiGuo Huang and Jian Lu and Alexander Egyed},
title = {Can Method Data Dependencies support the Assessment of Traceability between Requirements and Source Code?},
journal = {Journal of Software: Evolution and Process},
year = {2015},
volume = {27},
number = {11},
pages = {838--866},
abstract = {Requirements traceability benefits many software engineering activities,
such as change impact analysis and risk assessment. However, capturing
and maintaining the required complete and correct traceability links
is not trivial, making traceability assessment an important field
of study. In recent years, requirements traceability research has
focused on call dependencies within source code to understand how
code properties contribute to the implementation of a requirement
and to assess whether traceability links are correct and complete.
These approaches largely ignore the role of existing data dependencies
within the source code. Methods may never call each other, but may
still depend upon another by sharing data. We identified five research
questions and validated them on five software systems, covering 4
to 72 KLOC. We found that data dependencies are as relevant as call
dependencies for assessing requirements traceability. Even more interesting,
our analyses show that data dependencies complement call dependencies
in the assessment. These findings have strong implications on code
understanding, including trace capture, maintenance, and validation
techniques.},
bibsource = {dblp computer science bibliography, http://dblp.org},
biburl = {http://dblp.uni-trier.de/rec/bib/journals/smr/KuangMHGHLE15},
doi = {10.1002/smr.1736},
file = {:Journals\\JSEP 2015 - Can Method Data Dependencies Support Traceability between Requirements and Code\\Can Method Data Dependencies Support Traceability between Requirements and Code-preprint.pdf:PDF},
keywords = {FWF P23115},
timestamp = {Tue, 01 Dec 2015 14:50:29 +0100},
url = {http://dx.doi.org/10.1002/smr.1736},
}