Software survivability evaluation method based on software calling structure

Yuqiao Hou,Yu Qu,Linfeng Liu,Qinghua Zheng,Ting Liu,Chao Zheng,Zijiang Yang
2013-01-01
Abstract: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.
What problem does this paper attempt to address?