High Performance Software Testing on SIMD Machines
IEEE Transactions on Software Engineering
Constraint-Based Automatic Test Data Generation
IEEE Transactions on Software Engineering
Mutation analysis using mutant schemata
ISSTA '93 Proceedings of the 1993 ACM SIGSOFT international symposium on Software testing and analysis
An experimental determination of sufficient mutant operators
ACM Transactions on Software Engineering and Methodology (TOSEM)
All-uses vs mutation testing: an experimental comparison of effectiveness
Journal of Systems and Software
The dynamic domain reduction procedure for test data generation
Software—Practice & Experience
Yesterday, my program worked. Today, it does not. Why?
ESEC/FSE-7 Proceedings of the 7th European software engineering conference held jointly with the 7th ACM SIGSOFT international symposium on Foundations of software engineering
Regression test selection for Java software
OOPSLA '01 Proceedings of the 16th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Prioritizing Test Cases For Regression Testing
IEEE Transactions on Software Engineering
POPL '80 Proceedings of the 7th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Visualization of test information to assist fault localization
Proceedings of the 24th International Conference on Software Engineering
Automated Debugging: Are We Close
Computer
Chianti: a tool for change impact analysis of java programs
OOPSLA '04 Proceedings of the 19th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Scalable statistical bug isolation
Proceedings of the 2005 ACM SIGPLAN conference on Programming language design and implementation
Empirical Software Engineering
Pruning dynamic slices with confidence
Proceedings of the 2006 ACM SIGPLAN conference on Programming language design and implementation
HDD: hierarchical delta debugging
Proceedings of the 28th international conference on Software engineering
Locating faults through automated predicate switching
Proceedings of the 28th international conference on Software engineering
Finding failure-inducing changes in java programs using change classification
Proceedings of the 14th ACM SIGSOFT international symposium on Foundations of software engineering
IEEE Transactions on Software Engineering
Regression Test Selection for AspectJ Software
ICSE '07 Proceedings of the 29th international conference on Software Engineering
Crisp--A Fault Localization Tool for Java Programs
ICSE '07 Proceedings of the 29th international conference on Software Engineering
Instrumenting where it hurts: an automatic concurrent debugging technique
Proceedings of the 2007 international symposium on Software testing and analysis
Heuristic ranking of java program edits for fault localization
Proceedings of the 2007 international symposium on Software testing and analysis
On the Accuracy of Spectrum-based Fault Localization
TAICPART-MUTATION '07 Proceedings of the Testing: Academic and Industrial Conference Practice and Research Techniques - MUTATION
Weak Mutation Testing and Completeness of Test Sets
IEEE Transactions on Software Engineering
Testing Programs with the Aid of a Compiler
IEEE Transactions on Software Engineering
Introduction to Software Testing
Introduction to Software Testing
An empirical study of the effects of test-suite reduction on fault localization
Proceedings of the 30th international conference on Software engineering
On similarity-awareness in testing-based fault localization
Automated Software Engineering
Fault localization using value replacement
ISSTA '08 Proceedings of the 2008 international symposium on Software testing and analysis
Classifying Software Changes: Clean or Buggy?
IEEE Transactions on Software Engineering
Effective identification of failure-inducing changes: a hybrid approach
Proceedings of the 8th ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering
Automatically finding patches using genetic programming
ICSE '09 Proceedings of the 31st International Conference on Software Engineering
Efficient mutation testing by checking invariant violations
Proceedings of the eighteenth international symposium on Software testing and analysis
Javalanche: efficient mutation testing for Java
Proceedings of the the 7th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering
Test input reduction for result inspection to facilitate fault localization
Automated Software Engineering
Interactive fault localization using test information
Journal of Computer Science and Technology - Special section on trust and reputation management in future computing systmes and applications
ReAssert: Suggesting Repairs for Broken Unit Tests
ASE '09 Proceedings of the 2009 IEEE/ACM International Conference on Automated Software Engineering
Is operator-based mutant selection superior to random mutant selection?
Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 1
Mutation-driven generation of unit tests and oracles
Proceedings of the 19th international symposium on Software testing and analysis
On test repair using symbolic execution
Proceedings of the 19th international symposium on Software testing and analysis
Test generation via Dynamic Symbolic Execution for mutation testing
ICSM '10 Proceedings of the 2010 IEEE International Conference on Software Maintenance
Are automated debugging techniques actually helping programmers?
Proceedings of the 2011 International Symposium on Software Testing and Analysis
Strong higher order mutation-based test data generation
Proceedings of the 19th ACM SIGSOFT symposium and the 13th European conference on Foundations of software engineering
Localizing failure-inducing program edits based on spectrum information
ICSM '11 Proceedings of the 2011 27th IEEE International Conference on Software Maintenance
Fault-localization using dynamic slicing and change impact analysis
ASE '11 Proceedings of the 2011 26th IEEE/ACM International Conference on Automated Software Engineering
Automated documentation inference to explain failed tests
ASE '11 Proceedings of the 2011 26th IEEE/ACM International Conference on Automated Software Engineering
Using Mutants to Locate "Unknown" Faults
ICST '12 Proceedings of the 2012 IEEE Fifth International Conference on Software Testing, Verification and Validation
Proceedings of the 2012 International Symposium on Software Testing and Analysis
A systematic study of automated program repair: fixing 55 out of 105 bugs for $8 each
Proceedings of the 34th International Conference on Software Engineering
Characterizing and predicting which bugs get reopened
Proceedings of the 34th International Conference on Software Engineering
Practical isolation of failure-inducing changes for debugging regression faults
Proceedings of the 27th IEEE/ACM International Conference on Automated Software Engineering
An empirical study of the influence of static type systems on the usability of undocumented software
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
A Static Approach to Prioritizing JUnit Test Cases
IEEE Transactions on Software Engineering
Selective mutation testing for concurrent code
Proceedings of the 2013 International Symposium on Software Testing and Analysis
Faster mutation testing inspired by test prioritization and reduction
Proceedings of the 2013 International Symposium on Software Testing and Analysis
Using automated program repair for evaluating the effectiveness of fault localization techniques
Proceedings of the 2013 International Symposium on Software Testing and Analysis
Bridging the gap between the total and additional test-case prioritization strategies
Proceedings of the 2013 International Conference on Software Engineering
Proceedings of the 2013 International Conference on Software Engineering
Practical semantic test simplification
Proceedings of the 2013 International Conference on Software Engineering
An empirical study on the use of mutant traces for diagnosis of faults in deployed systems
Journal of Systems and Software
Hi-index | 0.00 |
This paper presents a novel methodology for localizing faults in code as it evolves. Our insight is that the essence of failure-inducing edits made by the developer can be captured using mechanical program transformations (e.g., mutation changes). Based on the insight, we present the FIFL framework, which uses both the spectrum information of edits (obtained using the existing FaultTracer approach) as well as the potential impacts of edits (simulated by mutation changes) to achieve more accurate fault localization. We evaluate FIFL on real-world repositories of nine Java projects ranging from 5.7KLoC to 88.8KLoC. The experimental results show that FIFL is able to outperform the state-of-the-art FaultTracer technique for localizing failure-inducing program edits significantly. For example, all 19 FIFL strategies that use both the spectrum information and simulated impact information for each edit outperform the existing FaultTracer approach statistically at the significance level of 0.01. In addition, FIFL with its default settings outperforms FaultTracer by 2.33% to 86.26% on 16 of the 26 studied version pairs, and is only inferior than FaultTracer on one version pair.