Abstract

Software modules and developers are two core elements during the process of software development. Previous studies have shown that analyzing relations between 1) software modules; (2) developers; and (3) modules and developers, is critical to understand how they interact with each other, which ultimately affects software quality. Specifically, relations such as developer contribution relation, module dependency relation, and developer collaboration relation have been used independently or in pairs to build networks for software fault-proneness prediction. However, none of them investigate the joint effort of these three relations. Bearing this in mind, in this paper, we propose a tri-relation network, a weighted network that integrates developer contribution, module dependency, and developer collaboration relations to study their combined impact on software quality. Four network node centrality metrics are further derived from the proposed network to predict the fault-proneness of a given software module at the file level. Moreover, we have explored a mechanism to refine current networks in order to further improve the effectiveness of software fault-proneness prediction.

Highlights

  • Software failures are becoming increasingly costly: a study by the National Institute of Standards and Technology reports that the annual cost of software bugs in the U.S is about $59.5 billion [66]

  • THE PROPOSED TRI-RELATION NETWORK (TRN) The motivation behind Tri-Relation Network (TRN) is that a network integrating developer contribution, module dependency, and developer collaboration can provide a more fully comprehensive insight into the interactions between developers and modules than the use of networks based on either a single or a paired relation

  • WORK Previous studies have shown that the developer contribution relation, module dependency relation, and developer collaboration relation have been used to build networks for software fault-proneness prediction

Read more

Summary

INTRODUCTION

Y. Li et al.: Using Tri-Relation Networks for Effective Software Fault-Proneness Prediction (which developers work together on the same modules). Li et al.: Using Tri-Relation Networks for Effective Software Fault-Proneness Prediction (which developers work together on the same modules) These relations have been used independently or in pairs in social network analysis to construct different networks to predict which modules are likely to contain faults at different levels such as developer contribution network (DCN) [59], module dependency network (MDN) [87], socio-technical network (STN) [11], [62], and developer collaboration network (DN) [46]. Case studies are conducted on six software projects to evaluate the effectiveness of TRN-based metrics in predicting software fault-proneness.

RELATED WORK
CASE STUDIES
Findings
CONCLUSIONS AND FUTURE WORK
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call