A Validation of Object-Oriented Design Metrics as Quality Indicators
IEEE Transactions on Software Engineering
Predicting Fault-Prone Software Modules in Telephone Switches
IEEE Transactions on Software Engineering
Predicting Fault Incidence Using Software Change History
IEEE Transactions on Software Engineering
An industrial case study of implementing software risk management
Proceedings of the 8th European software engineering conference held jointly with 9th ACM SIGSOFT international symposium on Foundations of software engineering
Classification and evaluation of defects in a project retrospective
Journal of Systems and Software
Software Risk Management: Principles and Practices
IEEE Software
A Metrics Suite for Object Oriented Design
IEEE Transactions on Software Engineering
ICSE '76 Proceedings of the 2nd international conference on Software engineering
Conducting On-line Surveys in Software Engineering
ISESE '03 Proceedings of the 2003 International Symposium on Empirical Software Engineering
Use of relative code churn measures to predict system defect density
Proceedings of the 27th international conference on Software engineering
Static analysis tools as early indicators of pre-release defect density
Proceedings of the 27th international conference on Software engineering
MSR '05 Proceedings of the 2005 international workshop on Mining software repositories
Predicting fault-prone components in a java legacy system
Proceedings of the 2006 ACM/IEEE international symposium on Empirical software engineering
Towards a Theoretical Model for Software Growth
MSR '07 Proceedings of the Fourth International Workshop on Mining Software Repositories
Predicting Defects for Eclipse
PROMISE '07 Proceedings of the Third International Workshop on Predictor Models in Software Engineering
Proceedings of the 30th international conference on Software engineering
Open source software peer review practices: a case study of the apache server
Proceedings of the 30th international conference on Software engineering
Classifying Software Changes: Clean or Buggy?
IEEE Transactions on Software Engineering
Proceedings of the 16th ACM SIGSOFT International Symposium on Foundations of software engineering
Predicting faults using the complexity of code changes
ICSE '09 Proceedings of the 31st International Conference on Software Engineering
Software Dependencies, Work Dependencies, and Their Impact on Failures
IEEE Transactions on Software Engineering
Studying the Impact of Social Structures on Software Quality
ICPC '10 Proceedings of the 2010 IEEE 18th International Conference on Program Comprehension
Organizational volatility and its effects on software defects
Proceedings of the eighteenth ACM SIGSOFT international symposium on Foundations of software engineering
Choosing software metrics for defect prediction: an investigation on feature selection techniques
Software—Practice & Experience
Proceedings of the 2nd Workshop on Managing Technical Debt
International Conference on Software Engineering
Do time of day and developer experience affect commit bugginess?
Proceedings of the 8th Working Conference on Mining Software Repositories
ICST '11 Proceedings of the 2011 Fourth IEEE International Conference on Software Testing, Verification and Validation
Don't touch my code!: examining the effects of ownership on software quality
Proceedings of the 19th ACM SIGSOFT symposium and the 13th European conference on Foundations of software engineering
Proceedings of the 19th ACM SIGSOFT symposium and the 13th European conference on Foundations of software engineering
A Systematic Literature Review on Fault Prediction Performance in Software Engineering
IEEE Transactions on Software Engineering
Hi-index | 0.00 |
Modelling and understanding bugs has been the focus of much of the Software Engineering research today. However, organizations are interested in more than just bugs. In particular, they are more concerned about managing risk, i.e., the likelihood that a code or design change will cause a negative impact on their products and processes, regardless of whether or not it introduces a bug. In this paper, we conduct a year-long study involving more than 450 developers of a large enterprise, spanning more than 60 teams, to better understand risky changes, i.e., changes for which developers believe that additional attention is needed in the form of careful code or design reviewing and/or more testing. Our findings show that different developers and different teams have their own criteria for determining risky changes. Using factors extracted from the changes and the history of the files modified by the changes, we are able to accurately identify risky changes with a recall of more than 67%, and a precision improvement of 87% (using developer specific models) and 37% (using team specific models), over a random model. We find that the number of lines and chunks of code added by the change, the bugginess of the files being changed, the number of bug reports linked to a change and the developer experience are the best indicators of change risk. In addition, we find that when a change has many related changes, the reliability of developers in marking risky changes is negatively affected. Our findings and models are being used today in practice to manage the risk of software projects.