Do data dependencies in source code complement call dependencies for understanding requirements traceability?

Lv Jian,Achraf Ghabi,LiGuo Huang,Patrick Mader,Alexander Egyed,Hongyu Kuang,Hao Hu
DOI: https://doi.org/10.1109/ICSM.2012.6405270
2012-01-01
Abstract:It is common practice for requirements traceability research to consider method call dependencies within the source code (e.g., fan-in/fan-out analyses). However, current approaches largely ignore the role of data. The question this paper investigates is whether data dependencies have similar relationships to requirements as do call dependencies. For example, if two methods do not call one another, but do have access to the same data then is this information relevant? We formulated several research questions and validated them on three large software systems, covering about 120 KLOC. Our findings are that data relationships are roughly equally relevant to understanding the relationship to requirements traces than calling dependencies. However, most interestingly, our analyses show that data dependencies complement call dependencies. These findings have strong implications on all forms of code understanding, including trace capture, maintenance, and validation techniques (e.g., information retrieval).
What problem does this paper attempt to address?