Easier Said than Done: An Empirical Investigation of Software Design and Quality in Open Source Software Development

TitleEasier Said than Done: An Empirical Investigation of Software Design and Quality in Open Source Software Development
Publication TypeJournal Article
Year of Publication2009
AuthorsConley, Caryn A., and Sproull Lee
Secondary Title2009 42nd Hawaii International Conference on System Sciences (HICSS 2009)
Pagination1-10
PublisherIEEE Computer Society
Place PublishedLos Alamitos, CA, USA
ISBN Number978-0-7695-3450-3
Keywordsmodularity, quality, source code, sourceforge
Abstract

We empirically examine the relationship between software design modularity and software quality in open source software (OSS) development projects. Conventional wisdom suggests that degree of software modularity affects software quality. An analysis of 203 software releases in 46 OSS projects hosted on SourceForge.net lends support for a more complex relationship between software modularity and software quality than conventional wisdom suggests. We find that software modularity is associated with reduced software complexity, an increased number of static software bugs, and a mixed relationship with the percentage of bugs closed. We do not find empirical evidence supporting any relationship between modularity and other measures of customer satisfaction. In addition to empirically testing the relationship between modularity and quality, we introduce new measures of software modularity and software quality. Implications are developed for the theory of modularity and the practice of software development.

Notes

"projects that do not exhibit obvious corporate or organizational sponsorship or involvement, projects with at least one software release in a relatively mature development stage (Beta or Production/Stable), projects exhibiting a minimum level of project activity, and products written only using Java."
"The frame includes approximately 180 projects from which a random sample of 46 was drawn"
"For each project, we sample each major software release (e.g. 1.x, 2.x) as our unit of analysis for a total of 203 releases."
"We calculate the degree of modularity for each major software release sampled using the source code contained in each release"
"To measure intrinsic software quality, we calculate the number of static bugs and software complexity based on objective evaluations of the source code included in the software release using two static source code analysis tools"
"To assess customer satisfaction, we use three measures of software quality previously identified in OSS research as a proxy for software quality and OSS project success [3]: number of bugs reported, percentage of bugs closed, and time to close bugs."

DOIhttp://doi.ieeecomputersociety.org/10.1109/HICSS.2009.687
AttachmentSize
09-14-05.pdf268.86 KB