Can we predict the generation of bugs? Software architecture and quality in open-source development
Author: Sosa, Manuel ; Mihm, Jürgen ; Browing, TysonINSEAD Area: Technology and Operations Management Series: Working Paper ; 2009/45/TOM Publisher: Fontainebleau : INSEAD, 2009.Language: EnglishType of document: INSEAD Working PaperAbstract: We empirically study how the architecture of software products relates to their quality. Using an architectural representation that accounts for both the hierarchical and dependency relationships between subsystems and components, we define a new construct, system cyclicality. System cyclicality recognizes component loops, which are akin to design iterations, a concept typically associated with models of product development processes rather than products. System cyclicality captures the fraction of mutually interdependent components in a system. Through a multilevel analysis of several open-source, Java-based applications developed by the Apache Software Foundation, we examine the relationship between system cyclicality and the generation of bugs. At the system level, we examine 122 releases representing 19 applications and find that system cyclicality is positively associated with the number of bugs in the system. At the component level, we examine 30,057 components and find that components involved in loops are more likely to be affected by a larger number of bugs. Overall, our results suggest that system cyclicality is a key determinant in the generation of bugs. Hence, managers are likely to benefit from proactively examining the architecture of the system they develop and monitoring its cyclicality as one of their strategies to reduce defects. Next title: Product architecture and quality: a study of open-source software development (RV of 2009/45/TOM) - Sosa, Manuel;Mihm, Jürgen;Browning, Tyso - 2010 - INSEAD Working PaperItem type | Current location | Collection | Call number | Status | Date due | Barcode | Item holds |
---|---|---|---|---|---|---|---|
![]() |
Asia Campus Archives | Available | BC008792 | ||||
![]() |
Europe Campus Archives | Available | BC008791 |
We empirically study how the architecture of software products relates to their quality. Using an architectural representation that accounts for both the hierarchical and dependency relationships between subsystems and components, we define a new construct, system cyclicality. System cyclicality recognizes component loops, which are akin to design iterations, a concept typically associated with models of product development processes rather than products. System cyclicality captures the fraction of mutually interdependent components in a system. Through a multilevel analysis of several open-source, Java-based applications developed by the Apache Software Foundation, we examine the relationship between system cyclicality and the generation of bugs. At the system level, we examine 122 releases representing 19 applications and find that system cyclicality is positively associated with the number of bugs in the system. At the component level, we examine 30,057 components and find that components involved in loops are more likely to be affected by a larger number of bugs. Overall, our results suggest that system cyclicality is a key determinant in the generation of bugs. Hence, managers are likely to benefit from proactively examining the architecture of the system they develop and monitoring its cyclicality as one of their strategies to reduce defects.
Do not digitize
There are no comments for this item.