Evaluating the Effects of Architectural Documentation: A Case Study of a Large Scale Open Source Project

  title={Evaluating the Effects of Architectural Documentation: A Case Study of a Large Scale Open Source Project},
  author={Rick Kazman and Dennis R. Goldenson and Ira Monarch and William R. Nichols and Giuseppe Valetto},
  journal={IEEE Transactions on Software Engineering},
Sustaining large open source development efforts requires recruiting new participants; however, a lack of architectural documentation might inhibit new participants since large amounts of project knowledge are unavailable to newcomers. We present the results of a multitrait, multimethod analysis of the effects of introducing architectural documentation into a substantial open source project-the Hadoop Distributed File System (HDFS). HDFS had only minimal architectural documentation, and we… Expand
Design Rule Spaces: A New Model for Representing and Analyzing Software Architecture
The quality, in terms of bug-proneness, of a large, complex software project cannot be fundamentally improved without first fixing its architectural flaws, and this model provides new ways to analyze software quality. Expand
Exploring Community Smells in Open-Source: An Automated Approach
It is highlighted that community smells are highly diffused in open-source and are perceived by developers as relevant problems for the evolution of software communities, and a number of state-of-the-art socio-technical indicators can be used to monitor how healthy a community is and possibly avoid the emergence of social debt. Expand
Practices and Perceptions of UML Use in Open Source Projects
Collaboration seems to be the most important motivation for using UML, which benefits new contributors and contributors who do not create models and its use within project teams. Expand
An Exploratory Study on Automatic Architectural Change Analysis Using Natural Language Processing Techniques
Overall, the study reveals that the automated architectural change analysis tool would be fruitful only if the developers provide considerable technical details in the commit messages or other text, and that the causes of the unpromising outcome are investigated. Expand
Empowering Empirical Research in Software Design: Construction and Studies on a Large-Scale Corpus of UML Models
This study shows that the use of UML modeling has a positive impact on software quality, i.e. it correlates with lower defect proneness, and that visualisation of design concepts, such as class role-stereotypes, helps developers to perform better in software comprehension tasks. Expand
Understanding and improving requirements discovery in open source software development: an initial exploration
The goal of this research is to gain a better understanding of the current state of RE in OSS, to identify potential directions for improving RE inOSS, and to empirically investigate the potential of some specific RE practices to improve OSS development. Expand
Architecture Information Communication in Two OSS Projects: the Why, Who, When, and What
This work employs a multiple case study approach to extract and analyze the architecture information communication from the developer mailing lists of two OSS projects, ArgoUML and Hibernate, during their development life-cycle of over 18 years. Expand
Architecture Anti-Patterns: Automatically Detectable Violations of Design Principles
This paper proposes and empirically validate a suite of architecture anti-patterns that occur in all large-scale software systems and are involved in high maintenance costs and shows that files involved in these architectureAnti-Patterns are more error-prone and change-prone. Expand
Rationale in Developers' Communication
To understand how developers discuss rationale in text-based communication channels during software development, and support software developers in capturing rationale by developing capturing methods integrated into these channels, REACT, a lightweight manual method is presented. Expand
Automatic Extraction of Design Decisions from Issue Management Systems: A Machine Learning Based Approach
This paper proposes a two-phase supervised machine learning based approach to first, automatically detect design decisions from issues and second, to automatically classify the identified design decisions into different decision categories. Expand


Software Architecture Documentation for Developers: A Survey
A survey with 147 industrial participants confirmed the common belief that architecture documentation is most frequently outdated and inconsistent and backed it up with data. Expand
How Do Open Source Communities Document Software Architecture: An Exploratory Survey
It is found that frequently-documented architectural information is model, system, and mission, natural language is the most frequently-used architectural language for specifying architectural information in OSS SA documents, and the likelihood that an OSS project will document SA is increased when more developers are involved in the project, and industry and research OSS projects are more likely to create SA documents than freelance projects. Expand
Software architecture in practice
This second edition of this book reflects the new developments in the field and new understanding of the important underpinnings of software architecture with new case studies and the new understanding both through new chapters and through additions to and elaboration of the existing chapters. Expand
Exploring the Structure of Complex Software Designs: An Empirical Study of Open Source and Proprietary Code
This paper reports data from a study that seeks to characterize the differences in design structure between complex software products. We use design structure matrices (DSMs) to map dependenciesExpand
Understanding Requirements for Open Source Software
This study presents findings from an empirical study directed at understanding the roles, forms, and consequences arising in requirements for open source software (OSS) development efforts. Five openExpand
Two case studies of open source software development: Apache and Mozilla
This work examines data from two major open source projects, the Apache web server and the Mozilla browser, and quantifies aspects of developer participation, core team size, code ownership, productivity, defect density, and problem resolution intervals for these OSS projects. Expand
Software architecture awareness in long-term software product evolution
Software architecture has been established in software engineering for almost 40 years. When developing and evolving software products, architecture is expected to be even more relevant compared toExpand
Developing Architectural Documentation for the Hadoop Distributed File System
The process and experiences in developing architectural documentation for the Hadoop Distributed File System (HDFS), a major open source project, are described and the documentation is illustrated by describing the redundancy mechanisms used in HDFS for reliability. Expand
What Industry Needs from Architectural Languages: A Survey
This study analyzes practitioners' perceived strengths, limitations, and needs associated with existing languages for software architecture modeling in industry and concludes that more formality and better usability are required of an architectural language. Expand
Software Architecture Knowledge Management
  • H. V. Vliet
  • Computer Science
  • 19th Australian Conference on Software Engineering (aswec 2008)
  • 2008
Establishing ways to effectively manage and organize architectural knowledge is one of the key challenges of the field of software architecture. Expand