The structures of large-scale software systems are complex and difficult to understand for designers and developers. Traditional software metrics can hardly describe the structural complexity in modern software, and finding a quantitative method to depict and analyze large-scale software is still a challenge. In this paper we use complex networks theory to study software structure; in particular, we visualize the software graph and use the k-core to study it based on a recursive pruning of the least connected vertices. Different types of software are analyzed and some new noticeable properties are found, such as similar coreness, the vital highest core, high-core connecting tendency, and evolution stability. These features suggest that software is organized in a defined hierarchy of increasing centrality from outside to inside. The k-core analysis can help developers to improve software understanding, instruction test, and measurement and evaluation of the system in development.
%0 Journal Article
%1 zhang2010using
%A Zhang, Haohua
%A Zhao, Hai
%A Cai, Wei
%A Liu, Jie
%A Zhou, Wanlei
%D 2010
%I Springer
%J The Journal of Supercomputing
%K core graph network software structure
%N 2
%P 352--369
%R 10.1007/s11227-009-0299-0
%T Using the k-core decomposition to analyze the static structure of large-scale software systems
%U http://dx.doi.org/10.1007/s11227-009-0299-0
%V 53
%X The structures of large-scale software systems are complex and difficult to understand for designers and developers. Traditional software metrics can hardly describe the structural complexity in modern software, and finding a quantitative method to depict and analyze large-scale software is still a challenge. In this paper we use complex networks theory to study software structure; in particular, we visualize the software graph and use the k-core to study it based on a recursive pruning of the least connected vertices. Different types of software are analyzed and some new noticeable properties are found, such as similar coreness, the vital highest core, high-core connecting tendency, and evolution stability. These features suggest that software is organized in a defined hierarchy of increasing centrality from outside to inside. The k-core analysis can help developers to improve software understanding, instruction test, and measurement and evaluation of the system in development.
@article{zhang2010using,
abstract = {The structures of large-scale software systems are complex and difficult to understand for designers and developers. Traditional software metrics can hardly describe the structural complexity in modern software, and finding a quantitative method to depict and analyze large-scale software is still a challenge. In this paper we use complex networks theory to study software structure; in particular, we visualize the software graph and use the k-core to study it based on a recursive pruning of the least connected vertices. Different types of software are analyzed and some new noticeable properties are found, such as similar coreness, the vital highest core, high-core connecting tendency, and evolution stability. These features suggest that software is organized in a defined hierarchy of increasing centrality from outside to inside. The k-core analysis can help developers to improve software understanding, instruction test, and measurement and evaluation of the system in development.},
added-at = {2013-08-27T16:56:48.000+0200},
author = {Zhang, Haohua and Zhao, Hai and Cai, Wei and Liu, Jie and Zhou, Wanlei},
biburl = {https://www.bibsonomy.org/bibtex/256695fbc098d6f80428f5a615940cd6c/jaeschke},
doi = {10.1007/s11227-009-0299-0},
interhash = {0c61b81e393a897bb2ef5efae265bb14},
intrahash = {56695fbc098d6f80428f5a615940cd6c},
issn = {0920-8542},
journal = {The Journal of Supercomputing},
keywords = {core graph network software structure},
language = {English},
number = 2,
pages = {352--369},
publisher = {Springer},
timestamp = {2014-07-28T15:57:31.000+0200},
title = {Using the k-core decomposition to analyze the static structure of large-scale software systems},
url = {http://dx.doi.org/10.1007/s11227-009-0299-0},
volume = 53,
year = 2010
}