An empirical investigation of perceived reliability of open source Java programs

Background: Open Source Software (OSS) is used by a continuously growing number of people, both end-users and developers. The quality of OSS is thus an issue of increasing interest. Specifically, OSS stakeholders need to trust OSS with respect to a number of qualities. Objective: This paper focuses on the level of trust that OSS stakeholders have in OSS reliability, one of the most important software qualities. The goal of the work reported here is to investigate to what extent the perception of reliability by users depends on objectively measurable characteristics of software. Method: We collected subjective user evaluations of the reliability of 22 Java OSS products, and then we measured their code characteristics that are generally believed to affect the quality of software. Finally, we carried out a correlational study to predict the perceived level of reliability of OSS based on the measured characteristics of the software code. Result: We obtained a set of statistically significant quantitative models, collectively called MOSST\REL, which account for the dependence of the perceived reliability of OSS on objectively observable qualities of Java code. Conclusions: The models we obtained can be used by: 1) endusers and developers that would like to reuse existing OSS products and components, to evaluate the perceived level of reliability of these OSS products that can be expected based on the characteristics of code; 2) the developers of OSS products, who can set code quality targets based on the level of perceived reliability they want to achieve.

[1]  M. Mäntylä,et al.  Subjective evaluation of software evolvability using code smells: An empirical study , 2006, Empirical Software Engineering.

[2]  Sandro Morasca A probability-based approach for measuring external attributes of software artifacts , 2009, ESEM 2009.

[3]  Maurice H. Halstead,et al.  Elements of software science (Operating and programming systems series) , 1977 .

[4]  Sandro Morasca,et al.  An Investigation of the Users' Perception of OSS Quality , 2010, OSS.

[5]  Motoei Azuma SquaRE The next generation of the ISO/IEC 9126 and 14598 international standards series on software product quality , 2001 .

[6]  Sandro Morasca,et al.  A Survey on Open Source Software Trustworthiness , 2011, IEEE Software.

[7]  Sandro Morasca,et al.  On the use of weighted sums in the definition of measures , 2010, WETSoM '10.

[8]  Vishal Midha,et al.  Does Complexity Matter? The Impact of Change in Structural Complexity on Software Maintenance and New Developers' Contributions in Open Source Software , 2008, ICIS.

[9]  David Probert,et al.  Quality practices and problems in free software projects , 2005 .

[10]  Ioannis Stamelos,et al.  Code quality analysis in open source software development , 2002, Inf. Syst. J..

[11]  Sandro Morasca,et al.  A probability-based approach for measuring external attributes of software artifacts , 2009, 2009 3rd International Symposium on Empirical Software Engineering and Measurement.

[12]  Chris F. Kemerer,et al.  A Metrics Suite for Object Oriented Design , 2015, IEEE Trans. Software Eng..

[13]  Sandro Morasca,et al.  Defining and Validating Measures for Object-Based High-Level Design , 1999, IEEE Trans. Software Eng..

[14]  R Core Team,et al.  R: A language and environment for statistical computing. , 2014 .

[15]  Sandro Morasca,et al.  Predicting OSS trustworthiness on the basis of elementary code assessment , 2010, ESEM '10.

[16]  Maurice H. Halstead,et al.  Elements of software science , 1977 .