The Open Software Engineering Journal

2013, 7 : 1-23
Published online 2013 February 22. DOI: 10.2174/1874107X01307010001
Publisher ID: TOSEJ-7-1

Fault-Proneness of Open Source Software: Exploring its Relations to Internal Software Quality and Maintenance Process

Denis Kozlov , Jussi Koskinen and Markku sakkinen
Department of Computer Science and Information Systems, University of Jyvaskyla, P.O. Box 35, 40014 Jyvaskyla, Finland.

ABSTRACT

The goal of this study is to explore how fault-proneness of open source software (OSS) could be explained in terms of internal quality attributes and maintenance process metrics. We reviewed earlier studies and performed a multiple case study of eight Java-based projects based on data available in the Source Forge repository. Overall, we studied 342 releases of those systems. As is usual, software quality was regarded as a set of internal and external quality attributes. A total of 76 internal quality attributes were measured from the source code of the selected systems via the tool SoftCalc. Two external quality attributes contributing to fault-proneness were in turn obtained from the Source Forge Issue Tracking System. The framework for assessing the maintenance process was adopted from our previous studies. Its distinguishing feature is that it takes into account the peculiarities of OSS development. We included 23 maintenance process metrics to this study. Relationships between the metrics under study were identified by means of correlation analysis, multiple regression analysis and factor analysis. The obtained results give an interesting insight into interpretation of the earlier results of other researchers, regarding especially their generalizability. The strengths of our study include the following: 1) we studied a greater number of metrics than most of the related studies, 2) we studied a greater number of OSS-systems than most of the studies, and 3) we focused on the fault-proneness of modern Java-based systems and investigated them as an aggregated sample.

Keywords:

Software quality, software maintenance process, open source software, software matrices, fault proneness.