Product Architecture and Quality: A Study of Open-Source Software Development

Social Science Research Network(2010)

引用 2|浏览10
暂无评分
摘要
We examine how the architecture of products relates to their quality. Using an architectural representation that accounts for both the hierarchical and dependency relationships between modules 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 the products themselves. 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 study 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 a system. At the component level, we examine 28,395 components and find that components involved in loops are likely to be affected by a larger number of bugs. We find that, in order to identify the set of product components involved in cyclical dependencies that are detrimental to product quality, it is imperative to remove from consideration the architectural decisions by which components are assigned into modules: it is necessary to focus only on the patterns of dependencies among product components without considering how components are grouped together into modules. Our results suggest that new product development 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.
更多
查看译文
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要