Correlation between the Distribution of Software Bugs and Network Motifs

With the increase of scale and complexity of software systems as well as the long existing threats of software accidents such as Therac-25 radiation exposure and the Toyota Prius braking system failure, improving the reliability and quality has become the major pressure in developing safety-or secur...

Full description

Saved in:
Bibliographic Details
Published in2016 IEEE International Conference on Software Quality, Reliability and Security (QRS) pp. 202 - 213
Main Authors Shaoxiong Zhang, Jun Ai, Xuelin Li
Format Conference Proceeding
LanguageEnglish
Published IEEE 01.08.2016
Subjects
Online AccessGet full text

Cover

Loading…
More Information
Summary:With the increase of scale and complexity of software systems as well as the long existing threats of software accidents such as Therac-25 radiation exposure and the Toyota Prius braking system failure, improving the reliability and quality has become the major pressure in developing safety-or security-critical software systems. Since more and more large-scale software systems exhibit the properties of complex network, how can we employ the concepts and metrics of complex networks to the area of software engineering? What structural patterns can be used as indications for software quality and reliability? Though applying the concept of complex network to the field of software engineering has attracted attentions from both the academia and industry, these questions have not been researched thoroughly with satisfactory unanimity. In this study, we analyzed the bug distribution in 1,047 versions of four open source software projects downloaded from GitHub with complex network theory and focused on the correlation between software bugs and a specific type of software network structure -- network motifs. Our results indicate that the functions containing bugs are more likely to be involved in feedforward loop motifs, one type of network motifs with highest degree of uniqueness. This paper could serve as a guide to further investigate the nature of software failures and a powerful tool for software fault prediction and quality evaluation.
DOI:10.1109/QRS.2016.32