An Exploration of Code Quality in FOSS Projects

It is a widely held belief that Free/Open Source Software (FOSS) development leads to the creation of software with the same, if not higher quality compared to that created using proprietary software development models. However there is little research on evaluating the quality of FOSS code, and the impact of project characteristics such as age, number of core developers, code-base size, etc. In this exploratory study, we examined 110 FOSS projects, measuring the quality of the code and architectural design using code smells. We found that, contrary to our expectations, the overall quality of the code is not affected by the size of the code base, but that it was negatively impacted by the growth of the number of code contributors. Our results also show that projects with more core developers don’t necessarily have better code quality.

[1]  J. Herbsleb,et al.  Two case studies of open source software development: Apache and Mozilla , 2002, TSEM.

[2]  Chandrasekar Subramaniam,et al.  Determinants of open source software project success: A longitudinal study , 2009, Decis. Support Syst..

[3]  Martin Michlmayr,et al.  How to have a successful free software project , 2004, 11th Asia-Pacific Software Engineering Conference.

[4]  Paul J. Adams,et al.  Call for Quality: Open Source Software Quality Observation , 2006, OSS.

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

[6]  Dag I. K. Sjøberg,et al.  Evaluating the effect of a delegated versus centralized control style on the maintainability of object-oriented software , 2004, IEEE Transactions on Software Engineering.

[7]  M. Mäntylä Mäntylä Bad Smells in Software – a Taxonomy and an Empirical Study , 2006 .

[8]  Ian Gorton,et al.  Software component quality assessment in practice: successes and practical impediments , 2002, Proceedings of the 24th International Conference on Software Engineering. ICSE 2002.

[9]  D HerbslebJames,et al.  Two case studies of open source software development , 2002 .

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

[11]  C.J.H. Mann,et al.  Object-Oriented Metrics in Practice: Using Software Metrics to Characterize, Evaluate, and Improve the Design of Object-Oriented Systems , 2007 .

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

[13]  Ephraim R. McLean,et al.  Information systems success revisited , 2002, Proceedings of the 35th Annual Hawaii International Conference on System Sciences.

[14]  R. Marticorena,et al.  Extending a Taxonomy of Bad Code Smells with Metrics , 2006 .

[15]  Brian Fitzgerald,et al.  Adopting Open Source Software Engineering (OSSE) Practices by Adopting OSSE Tools , 2007 .

[16]  Jason E. Robbins Adopting Open Source Software Engineering (OSSE) Practices by Adopting OSSE Tools , 2003 .

[17]  Jennifer Preece,et al.  Lurker demographics: counting the silent , 2000, CHI.

[18]  Mika Mäntylä,et al.  A taxonomy and an initial empirical study of bad smells in code , 2003, International Conference on Software Maintenance, 2003. ICSM 2003. Proceedings..

[19]  Brian Fitzgerald,et al.  Understanding Free/Open Source Software Development Processes , 2006, Softw. Process. Improv. Pract..

[20]  Sumeet Gupta,et al.  Measuring open source software success , 2009 .

[21]  Radu Marinescu,et al.  Detecting design flaws via metrics in object-oriented systems , 2001, Proceedings 39th International Conference and Exhibition on Technology of Object-Oriented Languages and Systems. TOOLS 39.

[22]  Bart Jacobs,et al.  Increased security through open source , 2007, Commun. ACM.

[23]  Ho-Won Jung,et al.  Measuring software product quality: a survey of ISO/IEC 9126 , 2004, IEEE Software.

[24]  Cornelia Boldyreff,et al.  Open Source Software: New Horizons - 6th International IFIP WG 2.13 Conference on Open Source Systems, OSS 2010, Notre Dame, IN, USA, May 30 - June 2, 2010. Proceedings , 2010, OSS.

[25]  Raed Shatnawi,et al.  An empirical study of the bad smells and class error probability in the post-release object-oriented system evolution , 2007, J. Syst. Softw..

[26]  Barry W. Boehm,et al.  Quantitative evaluation of software quality , 1976, ICSE '76.

[27]  Douglas C. Schmidt,et al.  Leveraging Open-Source Communities To Improve the Quality & Performance of Open-Source Software , 2001 .

[28]  David A. Wheeler,et al.  Why Open Source Software / Free Software (OSS/FS, FLOSS, or FOSS)? Look at the Numbers! , 2005 .

[29]  Francesca Arcelli Fontana,et al.  An Experience Report on Using Code Smells Detection Tools , 2011, 2011 IEEE Fourth International Conference on Software Testing, Verification and Validation Workshops.

[30]  Scott W. Ambler,et al.  The Elements of Java™ Style: Index , 2000 .

[31]  Stephen R. Walli,et al.  The Growth of Open Source Software in Organizations , 2005 .

[32]  Chandrasekar Subramaniam,et al.  Open source software licenses: Strong-copyleft, non-copyleft, or somewhere in between? , 2011, Decis. Support Syst..

[33]  Ephraim R. McLean,et al.  The DeLone and McLean Model of Information Systems Success: A Ten-Year Update , 2003, J. Manag. Inf. Syst..

[34]  Stefan Koch,et al.  Effort, co‐operation and co‐ordination in an open source software project: GNOME , 2002, Inf. Syst. J..

[35]  Bernard Golden Making Open Source Ready for the Enterprise: The Open Source Maturity Model , 2008 .

[36]  Ephraim R. McLean,et al.  Information Systems Success: The Quest for the Dependent Variable , 1992, Inf. Syst. Res..

[37]  Yann-Gaël Guéhéneuc,et al.  Using FCA to Suggest Refactorings to Correct Design Defects , 2006, CLA.

[38]  Michele Lanza,et al.  Object-Oriented Metrics in Practice - Using Software Metrics to Characterize, Evaluate, and Improve the Design of Object-Oriented Systems , 2006 .

[39]  J. R. Landis,et al.  The measurement of observer agreement for categorical data. , 1977, Biometrics.