TY - JOUR
T1 - Software survivability evaluation method based on software calling structure
AU - Hou, Yuqiao
AU - Qu, Yu
AU - Liu, Linfeng
AU - Zheng, Qinghua
AU - Liu, Ting
AU - Zheng, Chao
AU - Yang, Zijiang
PY - 2013
Y1 - 2013
N2 - A new method was proposed to evaluate the survivability of the software system based on the calling structure of the software. Firstly, the interactions among the components of the software were obtained using the static lexical analysis technology and dynamic monitoring of the AOP (Aspect ORIENTED PROGRAmming). The calling network was constructed to model the calling structure of the software. Secondly, a component failure simulation method was proposed by removing the nodes and edges corresponding to the selected components from the calling network. The residual calling network was considered as the software calling structure when the components are disabled. Then, the survivability coefficient was presented to measure the survivability of the software system, the proportion of the biggest connected subgraph of the residual network compared to the original call network diagram. In the experiments, nine open source software projects were selected to compare their survivability, and 20 versions of Struts (J2EE framework) were chosen to investigate the changes of the software survivability during their updating. Our evaluation concurs with the intuition that minor upgrades, aimed at fixing bugs and adding minor functionality quickly, reduce software survivability, whereas major upgrades, which normally clean up messy code and re-construct the software, improve software quality.
AB - A new method was proposed to evaluate the survivability of the software system based on the calling structure of the software. Firstly, the interactions among the components of the software were obtained using the static lexical analysis technology and dynamic monitoring of the AOP (Aspect ORIENTED PROGRAmming). The calling network was constructed to model the calling structure of the software. Secondly, a component failure simulation method was proposed by removing the nodes and edges corresponding to the selected components from the calling network. The residual calling network was considered as the software calling structure when the components are disabled. Then, the survivability coefficient was presented to measure the survivability of the software system, the proportion of the biggest connected subgraph of the residual network compared to the original call network diagram. In the experiments, nine open source software projects were selected to compare their survivability, and 20 versions of Struts (J2EE framework) were chosen to investigate the changes of the software survivability during their updating. Our evaluation concurs with the intuition that minor upgrades, aimed at fixing bugs and adding minor functionality quickly, reduce software survivability, whereas major upgrades, which normally clean up messy code and re-construct the software, improve software quality.
KW - Complex network theory
KW - Software call structure
KW - Software survivability
UR - https://www.scopus.com/pages/publications/84882952664
M3 - 文章
AN - SCOPUS:84882952664
SN - 1672-7207
VL - 44
SP - 443
EP - 448
JO - Zhongnan Daxue Xuebao (Ziran Kexue Ban)/Journal of Central South University (Science and Technology)
JF - Zhongnan Daxue Xuebao (Ziran Kexue Ban)/Journal of Central South University (Science and Technology)
IS - SUPPL.1
ER -