Reducing the cost of mutation testing: an empirical study
Journal of Systems and Software
An experimental determination of sufficient mutant operators
ACM Transactions on Software Engineering and Methodology (TOSEM)
Effect of test set minimization on fault detection effectiveness
Software—Practice & Experience
Test set size minimization and fault detection effectiveness: a case study in a space application
Journal of Systems and Software
Dynamically Discovering Likely Program Invariants to Support Program Evolution
IEEE Transactions on Software Engineering - Special issue on 1999 international conference on software engineering
Test Case Prioritization: A Family of Empirical Studies
IEEE Transactions on Software Engineering
A Study of the Effect of Imperfect Debugging on Software Development Cost
IEEE Transactions on Software Engineering
An Empirical Study of the Effects of Minimization on the Fault Detection Capabilities of Test Suites
ICSM '98 Proceedings of the International Conference on Software Maintenance
Basic Concepts and Taxonomy of Dependable and Secure Computing
IEEE Transactions on Dependable and Secure Computing
Locating causes of program failures
Proceedings of the 27th international conference on Software engineering
Is mutation an appropriate tool for testing experiments?
Proceedings of the 27th international conference on Software engineering
Scalable statistical bug isolation
Proceedings of the 2005 ACM SIGPLAN conference on Programming language design and implementation
MuJava: an automated class mutation system: Research Articles
Software Testing, Verification & Reliability
Empirical evaluation of the tarantula automatic fault-localization technique
Proceedings of the 20th IEEE/ACM international Conference on Automated software engineering
Statistical debugging: simultaneous identification of multiple bugs
ICML '06 Proceedings of the 23rd international conference on Machine learning
A survey of intelligent debugging
AI Communications
Using Mutation Analysis for Assessing and Comparing Testing Coverage Criteria
IEEE Transactions on Software Engineering
On the Use of Mutation Faults in Empirical Assessments of Test Case Prioritization Techniques
IEEE Transactions on Software Engineering
Statistical Debugging: A Hypothesis Testing-Based Approach
IEEE Transactions on Software Engineering
Proceedings of the 2007 international symposium on Software testing and analysis
Software Reliability Models: Assumptions, Limitations, and Applicability
IEEE Transactions on Software Engineering
An empirical study of the effects of test-suite reduction on fault localization
Proceedings of the 30th international conference on Software engineering
Program Repair Suggestions from Graphical State-Transition Specifications
FORTE '08 Proceedings of the 28th IFIP WG 6.1 international conference on Formal Techniques for Networked and Distributed Systems
Healing Web applications through automatic workarounds
International Journal on Software Tools for Technology Transfer (STTT)
Automatic generation of local repairs for Boolean programs
Proceedings of the 2008 International Conference on Formal Methods in Computer-Aided Design
Using Execution Paths to Evolve Software Patches
ICSTW '09 Proceedings of the IEEE International Conference on Software Testing, Verification, and Validation Workshops
Automatically finding patches using genetic programming
ICSE '09 Proceedings of the 31st International Conference on Software Engineering
A practical evaluation of spectrum-based fault localization
Journal of Systems and Software
A family of code coverage-based heuristics for effective fault localization
Journal of Systems and Software
Insights on Fault Interference for Programs with Multiple Bugs
ISSRE '09 Proceedings of the 2009 20th International Symposium on Software Reliability Engineering
Using Mutation to Automatically Suggest Fixes for Faulty Programs
ICST '10 Proceedings of the 2010 Third International Conference on Software Testing, Verification and Validation
On the estimation of adequate test set size using fault failure rates
Journal of Systems and Software
CHARME'05 Proceedings of the 13 IFIP WG 10.5 international conference on Correct Hardware Design and Verification Methods
The Art of Software Testing
Debugging From the Student Perspective
IEEE Transactions on Education
Hi-index | 0.00 |
This paper proposes a strategy for automatically fixing faults in a program by combining the ideas of mutation and fault localization. Statements ranked in order of their likelihood of containing faults are mutated in the same order to produce potential fixes for the faulty program. The proposed strategy is evaluated using 8 mutant operators against 19 programs each with multiple faulty versions. Our results indicate that 20.70% of the faults are fixed using selected mutant operators, suggesting that the strategy holds merit for automatically fixing faults. The impact of fault localization on efficiency of the overall fault-fixing process is investigated by experimenting with two different techniques, Tarantula and Ochiai, the latter of which has been reported to be better at fault localization than Tarantula, and also proves to be better in the context of fault-fixing using our proposed strategy. Further experiments are also presented to evaluate stopping criteria with respect to the mutant examination process and reveal that a significant fraction of the (fixable) faults can be fixed by examining a small percentage of the program code. We also report on the relative fault-fixing capabilities of mutant operators used and present discussions on future work.