An empirical study of the relationship between the concepts expressed in source code and dependence

David Binkley,Nicolas Gold,Mark Harman,Zheng Li,Kiarash Mahdavi
DOI: https://doi.org/10.1016/j.jss.2008.04.007
IF: 3.5
2008-01-01
Journal of Systems and Software
Abstract:Programs express domain-level concepts in their source code. It might be expected that such concepts would have a degree of semantic cohesion. This cohesion ought to manifest itself in the dependence between statements all of which contribute to the computation of the same concept. This paper addresses a set of research questions that capture this informal observation. It presents the results of experiments on 10 programs that explore the relationship between domain-level concepts and dependence in source code. The results show that code associated with concepts has a greater degree of coherence, with tighter dependence. This finding has positive implications for the analysis of concepts as it provides an approach to decompose a program into smaller executable units, each of which captures the behaviour of the program with respect to a domain-level concept.
What problem does this paper attempt to address?