Premium
Can method data dependencies support the assessment of traceability between requirements and source code?
Author(s) -
Kuang Hongyu,
Mäder Patrick,
Hu Hao,
Ghabi Achraf,
Huang LiGuo,
Lü Jian,
Egyed Alexander
Publication year - 2015
Publication title -
journal of software: evolution and process
Language(s) - English
Resource type - Journals
SCImago Journal Rank - 0.371
H-Index - 29
eISSN - 2047-7481
pISSN - 2047-7473
DOI - 10.1002/smr.1736
Subject(s) - traceability , computer science , requirements traceability , trace (psycholinguistics) , source code , code review , software engineering , code (set theory) , software , data mining , software development , static program analysis , programming language , requirement , set (abstract data type) , linguistics , philosophy
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 © 2015 John Wiley & Sons, Ltd.