How multiple-dependency structure of classes affects their functions a statistical perspective

Yutao Ma,Keqing He,Bing Li,Xiaoyan Zhou
DOI: https://doi.org/10.1109/ICSTE.2010.5608763
2010-01-01
Abstract:Networks have been considered an effective tool to describe the topological structure of software. Recently, many object-oriented software systems were found to share global network features such as scale free and small world. In this paper, we defined a special structural feature of individual class to investigate the relationship between external structure and internal function. The metric (m) takes in-degree and reachable set of nodes in class-level dependency graphs derived from source code into consideration. Experimental results show that (1) the distribution of frequency-of-occurrence of m roughly follows a power-law distribution, and (2) there is a weak but distinct positive correlation between m and either WMC or LCOM, and classes with complex multiple-dependency structure have on average more complicated functions (and less cohesion) than other classes within specific groups classified by m. Thus, the metric could be a useful complementary measure for traditional OO metrics to analyze the complexity, stability and maintainability of classes.
What problem does this paper attempt to address?