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

by Hongyu Kuang, Patrick Mäder, Hao Hu, Achraf Ghabi, LiGuo Huang, Jian Lv, Alexander Egyed
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).
Reference:
Hongyu Kuang, Patrick Mäder, Hao Hu, Achraf Ghabi, LiGuo Huang, Jian Lv, Alexander Egyed, "Do data dependencies in source code complement call dependencies for understanding requirements traceability?", pp. 181-190, 2012.
Bibtex Entry:
@Conference{DBLP:conf/icsm/KuangMHGHJE12,
  Title                    = {Do data dependencies in source code complement call dependencies for understanding requirements traceability?},
  Author                   = {Hongyu Kuang and Patrick Mäder and Hao Hu and Achraf Ghabi and LiGuo Huang and Jian Lv and Alexander Egyed},
  Booktitle                = {28th International Conference on Software Maintenance (ICSM), Riva del Garda, Italy},
  Year                     = {2012},
  Pages                    = {181-190},

  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).},
  File                     = {Do Data Dependencies in Source Code complement Call Dependencies for Understanding Requirements Traceability:Conferences\\ICSM 2012 - On the Relationship between Requirements, Code, and Code Dependencies\\Do Data Dependencies in Source Code complement Call Dependencies for Understanding Requirements Traceability.pdf:PDF},
  Keywords                 = {traceability, traceability, FWF P23115-N23, FWF M1268-N23},
  Url                      = {http://doi.ieeecomputersociety.org/10.1109/ICSM.2012.6405270}
}
Powered by bibtexbrowser