Building Knowledge through Families of Experiments
IEEE Transactions on Software Engineering
An empirical study of global software development: distance and speed
ICSE '01 Proceedings of the 23rd International Conference on Software Engineering
Parallel changes in large-scale software development: an observational case study
ACM Transactions on Software Engineering and Methodology (TOSEM)
A Unified Framework for Cohesion Measurement in Object-OrientedSystems
Empirical Software Engineering
High-Level Best Practices in Software Configuration Management
ECOOP '98 Proceedings of the SCM-8 Symposium on System Configuration Management
A Branching/Merging Strategy for Parallel Software Development
SCM-9 Proceedings of the 9th International Symposium on System Configuration Management
Use of relative code churn measures to predict system defect density
Proceedings of the 27th international conference on Software engineering
CSCW '06 Proceedings of the 2006 20th anniversary conference on Computer supported cooperative work
The influence of organizational structure on software quality: an empirical case study
Proceedings of the 30th international conference on Software engineering
Do Crosscutting Concerns Cause Defects?
IEEE Transactions on Software Engineering
Predicting faults using the complexity of code changes
ICSE '09 Proceedings of the 31st International Conference on Software Engineering
The promises and perils of mining git
MSR '09 Proceedings of the 2009 6th IEEE International Working Conference on Mining Software Repositories
Software Dependencies, Work Dependencies, and Their Impact on Failures
IEEE Transactions on Software Engineering
Programmer-based fault prediction
Proceedings of the 6th International Conference on Predictive Models in Software Engineering
Organizational volatility and its effects on software defects
Proceedings of the eighteenth ACM SIGSOFT international symposium on Foundations of software engineering
Understanding context: creating a lasting impact in experimental software engineering research
Proceedings of the FSE/SDP workshop on Future of software engineering research
A theory of branches as goals and virtual teams
Proceedings of the 4th International Workshop on Cooperative and Human Aspects of Software Engineering
Proceedings of the 2011 International Conference on Software and Systems Process
Proactive detection of collaboration conflicts
Proceedings of the 19th ACM SIGSOFT symposium and the 13th European conference on Foundations of software engineering
Cohesive and isolated development with branches
FASE'12 Proceedings of the 15th international conference on Fundamental Approaches to Software Engineering
Will my patch make it? and how fast?: case study on the Linux kernel
Proceedings of the 10th Working Conference on Mining Software Repositories
Towards automatic software lineage inference
SEC'13 Proceedings of the 22nd USENIX conference on Security
Hi-index | 0.00 |
Branching plays a major role in the development process of large software. Branches provide isolation so that multiple pieces of the software system can be modified in parallel without affecting each other during times of instability. However, branching has its own issues. The need to move code across branches introduces addition-al overhead and branch use can lead to integration failures due to conflicts or unseen dependencies. Although branches are used ex-tensively in commercial and open source development projects, the effects that different branch strategies have on software quality are not yet well understood. In this paper, we present the first empirical study that evaluates and quantifies the relationship between soft-ware quality and various aspects of the branch structure used in a software project. We examine Windows Vista and Windows 7 and compare components that have different branch characteristics to quantify differences in quality. We also examine the effectiveness of two branching strategies -- branching according to the software architecture versus branching according to organizational structure. We find that, indeed, branching does have an effect on software quality and that misalignment of branching structure and organiza-tional structure is associated with higher post-release failure rates.