Software errors and complexity: an empirical investigation0
Communications of the ACM
Seesoft-A Tool for Visualizing Line Oriented Software Statistics
IEEE Transactions on Software Engineering - Special issue on software measurement principles, techniques, and environments
The CM challenge: configuration management that works
Configuration management
Predicting Fault Incidence Using Software Change History
IEEE Transactions on Software Engineering
Does Code Decay? Assessing the Evidence from Change Management Data
IEEE Transactions on Software Engineering
Parallel changes in large-scale software development: an observational case study
ACM Transactions on Software Engineering and Methodology (TOSEM)
The Mythical Man-Month: Essays on Softw
The Mythical Man-Month: Essays on Softw
Proceedings of the 10th ACM SIGSOFT symposium on Foundations of software engineering
Classification and evaluation of defects in a project retrospective
Journal of Systems and Software
Reexamining the Fault Density-Component Size Connection
IEEE Software
Design Process Improvement Case Study Using Process Waiver Data
Proceedings of the 5th European Software Engineering Conference
Experiments in Process Interface Descriptions, Visualizations and Analyses
EWSPT '95 Proceedings of the 4th European Workshop on Software Process Technology
ICSE '76 Proceedings of the 2nd international conference on Software engineering
Inferring Change Effort from Configuration Management Databases
METRICS '98 Proceedings of the 5th International Symposium on Software Metrics
Implications of Evolution Metrics on Software Maintenance
ICSM '98 Proceedings of the International Conference on Software Maintenance
Identifying Reasons for Software Changes Using Historic Databases
ICSM '00 Proceedings of the International Conference on Software Maintenance (ICSM'00)
Studying the Chaos of Code Development
WCRE '03 Proceedings of the 10th Working Conference on Reverse Engineering
Mining software repositories to assist developers and support managers
Mining software repositories to assist developers and support managers
MSR '05 Proceedings of the 2005 international workshop on Mining software repositories
Mining version archives for co-changed lines
Proceedings of the 2006 international workshop on Mining software repositories
An empirical study of fine-grained software modifications
Empirical Software Engineering
Beyond source code: the importance of other artifacts in software development (a case study)
Journal of Systems and Software - Special issue: Selected papers from the 4th source code analysis and manipulation (SCAM 2004) workshop
Change Distilling: Tree Differencing for Fine-Grained Source Code Change Extraction
IEEE Transactions on Software Engineering
Extraction of bug localization benchmarks from history
Proceedings of the twenty-second IEEE/ACM international conference on Automated software engineering
Assisting potentially-repetitive small-scale changes via semi-automated heuristic search
Proceedings of the twenty-second IEEE/ACM international conference on Automated software engineering
Journal of Software Maintenance and Evolution: Research and Practice
What do large commits tell us?: a taxonomical study of large commits
Proceedings of the 2008 international working conference on Mining software repositories
Exploring the relationship of history characteristics and defect count: an empirical study
DEFECTS '08 Proceedings of the 2008 workshop on Defects in large software systems
Recommending method invocation context changes
Proceedings of the 2008 international workshop on Recommendation systems for software engineering
Characterizing software architecture changes: A systematic review
Information and Software Technology
Information and Software Technology
Automatically documenting program changes
Proceedings of the IEEE/ACM international conference on Automated software engineering
Efficient multi-objective higher order mutation testing with genetic programming
Journal of Systems and Software
Mining source codes to guide software development
ACIIDS'10 Proceedings of the Second international conference on Intelligent information and database systems: Part I
Automatically identifying changes that impact code-to-design traceability during evolution
Software Quality Control
MACs: Mining API code snippets for code reuse
Expert Systems with Applications: An International Journal
Evolutionary repair of faulty software
Applied Soft Computing
Do time of day and developer experience affect commit bugginess?
Proceedings of the 8th Working Conference on Mining Software Repositories
Identifying program, test, and environmental changes that affect behaviour
Proceedings of the 33rd International Conference on Software Engineering
Recovering traceability links between source code and fixed bugs via patch analysis
Proceedings of the 6th International Workshop on Traceability in Emerging Forms of Software Engineering
Proceedings of the ACM-IEEE international symposium on Empirical software engineering and measurement
Proceedings of the 2013 International Conference on Software Engineering
Inferring project-specific bug patterns for detecting sibling bugs
Proceedings of the 2013 9th Joint Meeting on Foundations of Software Engineering
Extended iterative maintenance life cycle using eXtreme programming
ACM SIGSOFT Software Engineering Notes
Hi-index | 0.01 |
Understanding the impact of software changes has been a challenge since software systems were first developed. With the increasing size and complexity of systems, this problem has become more difficult. There are many ways to identify the impact of changes on the system from the plethora of software artifacts produced during development, maintenance, and evolution. We present the analysis of the software development process using change and defect history data. Specifically, we address the problem of small changes by focusing on the properties of the changes rather than the properties of the code itself. Our study reveals that 1) there is less than 4 percent probability that a one-line change will introduce a fault in the code, 2) nearly 10 percent of all changes made during the maintenance of the software under consideration were one-line changes, 3) nearly 50 percent of the changes were small changes, 4) nearly 40 percent of changes to fix faults resulted in further faults, 5) the phenomena of change differs for additions, deletions, and modifications as well as for the number of lines affected, and 6) deletions of up to 10 lines did not cause faults.