Information Processing Letters
Generalized algorithmic debugging and testing
PLDI '91 Proceedings of the ACM SIGPLAN 1991 conference on Programming language design and implementation
Enhancing model checking in verification by AI techniques
Artificial Intelligence
Programmers use slices when debugging
Communications of the ACM
Introduction to algorithms
Foundations of genetic programming
Foundations of genetic programming
Visualization of test information to assist fault localization
Proceedings of the 24th International Conference on Software Engineering
Isolating cause-effect chains from computer programs
Proceedings of the 10th ACM SIGSOFT symposium on Foundations of software engineering
Automated Debugging: Are We Close
Computer
The Vision of Autonomic Computing
Computer
A Pragmatic Survey of Automated Debugging
AADEBUG '93 Proceedings of the First International Workshop on Automated and Algorithmic Debugging
A Technique for Dynamic Updating of Java Software
ICSM '02 Proceedings of the International Conference on Software Maintenance (ICSM'02)
IEEE Transactions on Software Engineering
A Comparison of Bug Finding Tools for Java
ISSRE '04 Proceedings of the 15th International Symposium on Software Reliability Engineering
ACM SIGPLAN Notices
Data structure repair using goal-directed reasoning
Proceedings of the 27th international conference on Software engineering
Locating causes of program failures
Proceedings of the 27th international conference on Software engineering
Why Programs Fail: A Guide to Systematic Debugging
Why Programs Fail: A Guide to Systematic Debugging
Search-based software test data generation: a survey: Research Articles
Software Testing, Verification & Reliability
MuJava: an automated class mutation system: Research Articles
Software Testing, Verification & Reliability
Automatic Mining of Source Code Repositories to Improve Bug Finding Techniques
IEEE Transactions on Software Engineering
Toward Understanding the Rhetoric of Small Source Code Changes
IEEE Transactions on Software Engineering
Empirical evaluation of the tarantula automatic fault-localization technique
Proceedings of the 20th IEEE/ACM international Conference on Automated software engineering
CP-Miner: Finding Copy-Paste and Related Bugs in Large-Scale Software Code
IEEE Transactions on Software Engineering
Proceedings of the 5th international conference on Generative programming and component engineering
A comparison of bloat control methods for genetic programming
Evolutionary Computation
A survey of intelligent debugging
AI Communications
A study of effectiveness of dynamic slicing in locating real faults
Empirical Software Engineering
Using Mutation Analysis for Assessing and Comparing Testing Coverage Criteria
IEEE Transactions on Software Engineering
On the possibilities of (pseudo-) software cloning from external interactions
Soft Computing - A Fusion of Foundations, Methodologies and Applications
An automated model-based debugging approach
Proceedings of the twenty-second IEEE/ACM international conference on Automated software engineering
Coevolving programs and unit tests from their specification
Proceedings of the twenty-second IEEE/ACM international conference on Automated software engineering
Extraction of bug localization benchmarks from history
Proceedings of the twenty-second IEEE/ACM international conference on Automated software engineering
Using Machine Learning to Support Debugging with Tarantula
ISSRE '07 Proceedings of the The 18th IEEE International Symposium on Software Reliability
An empirical study of the effects of test-suite reduction on fault localization
Proceedings of the 30th international conference on Software engineering
Debugging reinvented: asking and answering why and why not questions about program behavior
Proceedings of the 30th international conference on Software engineering
On the automation of fixing software bugs
Companion of the 30th international conference on Software engineering
Search based software testing of object-oriented containers
Information Sciences: an International Journal
A Crosstab-based Statistical Method for Effective Fault Localization
ICST '08 Proceedings of the 2008 International Conference on Software Testing, Verification, and Validation
An Evaluation of Two Bug Pattern Tools for Java
ICST '08 Proceedings of the 2008 International Conference on Software Testing, Verification, and Validation
Semi-automatic fault localization
Semi-automatic fault localization
MILU: A Customizable, Runtime-Optimized Higher Order Mutation Testing Tool for the Full C Language
TAIC-PART '08 Proceedings of the Testing: Academic & Industrial Conference - Practice and Research Techniques
Multi-objective Improvement of Software Using Co-evolution and Smart Seeding
SEAL '08 Proceedings of the 7th International Conference on Simulated Evolution and Learning
Automatic generation of local repairs for Boolean programs
Proceedings of the 2008 International Conference on Formal Methods in Computer-Aided Design
HVC '08 Proceedings of the 4th International Haifa Verification Conference on Hardware and Software: Verification and Testing
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 genetic programming approach to automated software repair
Proceedings of the 11th Annual conference on Genetic and evolutionary computation
Genetic programming in the wild: evolving unrestricted bytecode
Proceedings of the 11th Annual conference on Genetic and evolutionary computation
CTL model update for system modifications
Journal of Artificial Intelligence Research
ASE '08 Proceedings of the 2008 23rd IEEE/ACM International Conference on Automated Software Engineering
Evolving modular recursive sorting algorithms
EuroGP'07 Proceedings of the 10th European conference on Genetic programming
A Field Guide to Genetic Programming
A Field Guide to Genetic Programming
It Does Matter How You Normalise the Branch Distance in Search Based Software Testing
ICST '10 Proceedings of the 2010 Third International Conference on Software Testing, Verification and Validation
Repair of boolean programs with an application to c
CAV'06 Proceedings of the 18th international conference on Computer Aided Verification
CAV'05 Proceedings of the 17th international conference on Computer Aided Verification
CHARME'05 Proceedings of the 13 IFIP WG 10.5 international conference on Correct Hardware Design and Verification Methods
No free lunch theorems for optimization
IEEE Transactions on Evolutionary Computation
IEEE Transactions on Software Engineering
Representations and operators for improving evolutionary software repair
Proceedings of the 14th annual conference on Genetic and evolutionary computation
Multi-objective coevolutionary automated software correction
Proceedings of the 14th annual conference on Genetic and evolutionary computation
Evolutionary algorithms for the multi-objective test data generation problem
Software—Practice & Experience
Using automated program repair for evaluating the effectiveness of fault localization techniques
Proceedings of the 2013 International Symposium on Software Testing and Analysis
Current challenges in automatic software repair
Software Quality Control
Estimating software testing complexity
Information and Software Technology
Hi-index | 0.01 |
Abstract: Testing and fault localization are very expensive software engineering tasks that have been tried to be automated. Although many successful techniques have been designed, the actual change of the code for fixing the discovered faults is still a human-only task. Even in the ideal case in which automated tools could tell us exactly where the location of a fault is, it is not always trivial how to fix the code. In this paper we analyse the possibility of automating the complex task of fixing faults. We propose to model this task as a search problem, and hence to use for example evolutionary algorithms to solve it. We then discuss the potential of this approach and how its current limitations can be addressed in the future. This task is extremely challenging and mainly unexplored in the literature. Hence, this paper only covers an initial investigation and gives directions for future work. A research prototype called JAFF and a case study are presented to give first validation of this approach.