Can Method Data Dependencies Support the Assessment of Traceability Between Requirements and Source Code?

Hongyu Kuang,Patrick Maeder,Hao Hu,Achraf Ghabi,LiGuo Huang,Jian Lue,Alexander Egyed
DOI: https://doi.org/10.1002/smr.1736
2015-01-01
Journal of Software
Abstract:Requirements traceability benefits many software engineering activities, such as change impact analysis and risk assessment. However, these activities require complete and correct traceability links which is not trivial, making traceability assessment an important field of study. In recent years, requirements traceability research has focused on using 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. That is, 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. Copyright (c) 2015 John Wiley & Sons, Ltd.
What problem does this paper attempt to address?