Software errors and complexity: an empirical investigation0
Communications of the ACM
Collecting and categorizing software error data in an industrial environment
Journal of Systems and Software - Special issue on the fifth Minnowbrook workshop on software performance evaluation
Orthogonal Defect Classification-A Concept for In-Process Measurements
IEEE Transactions on Software Engineering - Special issue on software measurement principles, techniques, and environments
Shotgun correlations in software measures
Software Engineering Journal
A case study in root cause defect analysis
Proceedings of the 22nd international conference on Software engineering
Predicting Fault Incidence Using Software Change History
IEEE Transactions on Software Engineering
Extended static checking for Java
PLDI '02 Proceedings of the ACM SIGPLAN 2002 Conference on Programming language design and implementation
Software Faults in Evolving a Large, Real-Time System: a Case Study
ESEC '93 Proceedings of the 4th European Software Engineering Conference on Software Engineering
Hipikat: recommending pertinent software development artifacts
Proceedings of the 25th International Conference on Software Engineering
Experiments with computer software complexity and reliability
ICSE '82 Proceedings of the 6th international conference on Software engineering
An analysis of errors and their causes in system programs
Proceedings of the international conference on Reliable software
Identifying Reasons for Software Changes Using Historic Databases
ICSM '00 Proceedings of the International Conference on Software Maintenance (ICSM'00)
Populating a Release History Database from Version Control and Bug Tracking Systems
ICSM '03 Proceedings of the International Conference on Software Maintenance
Identification of Software Instabilities
WCRE '03 Proceedings of the 10th Working Conference on Reverse Engineering
ACM SIGPLAN Notices
Automatic Mining of Source Code Repositories to Improve Bug Finding Techniques
IEEE Transactions on Software Engineering
DynaMine: finding common error patterns by mining software revision histories
Proceedings of the 10th European software engineering conference held jointly with 13th ACM SIGSOFT international symposium on Foundations of software engineering
MSR '05 Proceedings of the 2005 international workshop on Mining software repositories
The Top Ten List: Dynamic Fault Prediction
ICSM '05 Proceedings of the 21st IEEE International Conference on Software Maintenance
Automatic Identification of Bug-Introducing Changes
ASE '06 Proceedings of the 21st IEEE/ACM International Conference on Automated Software Engineering
Have things changed now?: an empirical study of bug characteristics in modern open source software
Proceedings of the 1st workshop on Architectural and system support for improving software dependability
Emulation of Software Faults: A Field Data Study and a Practical Approach
IEEE Transactions on Software Engineering
Using evolution patterns to find duplicated bugs
Using evolution patterns to find duplicated bugs
Identifying static analysis techniques for finding non-fix hunks in fix revisions
Proceedings of the ACM first international workshop on Data-intensive software management and mining
Fault-prone module detection using large-scale text features based on spam filtering
Empirical Software Engineering
Using semantic templates to study vulnerabilities recorded in large software repositories
Proceedings of the 2010 ICSE Workshop on Software Engineering for Secure Systems
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
Security versus performance bugs: a case study on Firefox
Proceedings of the 8th Working Conference on Mining Software Repositories
A control theory based approach for self-healing of un-handled runtime exceptions
Proceedings of the 8th ACM international conference on Autonomic computing
Proceedings of the 19th ACM SIGSOFT symposium and the 13th European conference on Foundations of software engineering
Finding relevant answers in software forums
ASE '11 Proceedings of the 2011 26th IEEE/ACM International Conference on Automated Software Engineering
On the improvement of a fault classification scheme with implications for white-box testing
Proceedings of the 27th Annual ACM Symposium on Applied Computing
Supervisory control for software runtime exception avoidance
Proceedings of the Fifth International C* Conference on Computer Science and Software Engineering
Proceedings of the 27th IEEE/ACM International Conference on Automated Software Engineering
A characteristic study on failures of production distributed data-parallel programs
Proceedings of the 2013 International Conference on Software Engineering
Linux variability anomalies: what causes them and how do they get fixed?
Proceedings of the 10th Working Conference on Mining Software Repositories
Inferring project-specific bug patterns for detecting sibling bugs
Proceedings of the 2013 9th Joint Meeting on Foundations of Software Engineering
Exception handlers for healing component-based systems
ACM Transactions on Software Engineering and Methodology (TOSEM) - Testing, debugging, and error handling, formal methods, lifecycle concerns, evolution and maintenance
An Empirical Analysis of Software Changes on Statement Entity in Java Open Source Projects
International Journal of Open Source Software and Processes
Comparison and evaluation of source code mining tools and techniques: A qualitative approach
Intelligent Data Analysis
Hi-index | 0.00 |
Twenty-seven automatically extractable bug fix patterns are defined using the syntax components and context of the source code involved in bug fix changes. Bug fix patterns are extracted from the configuration management repositories of seven open source projects, all written in Java (Eclipse, Columba, JEdit, Scarab, ArgoUML, Lucene, and MegaMek). Defined bug fix patterns cover 45.7% to 63.3% of the total bug fix hunk pairs in these projects. The frequency of occurrence of each bug fix pattern is computed across all projects. The most common individual patterns are MC-DAP (method call with different actual parameter values) at 14.9---25.5%, IF-CC (change in if conditional) at 5.6---18.6%, and AS-CE (change of assignment expression) at 6.0---14.2%. A correlation analysis on the extracted pattern instances on the seven projects shows that six have very similar bug fix pattern frequencies. Analysis of if conditional bug fix sub-patterns shows a trend towards increasing conditional complexity in if conditional fixes. Analysis of five developers in the Eclipse projects shows overall consistency with project-level bug fix pattern frequencies, as well as distinct variations among developers in their rates of producing various bug patterns. Overall, data in the paper suggest that developers have difficulty with specific code situations at surprisingly consistent rates. There appear to be broad mechanisms causing the injection of bugs that are largely independent of the type of software being produced.