Automated Software Test Data Generation
IEEE Transactions on Software Engineering
Debugging with dynamic slicing and backtracking
Software—Practice & Experience
In-Parameter-Order: A Test Generation Strategy for Pairwise Testing
HASE '98 The 3rd IEEE International Symposium on High-Assurance Systems Engineering
Precise dynamic slicing algorithms
Proceedings of the 25th International Conference on Software Engineering
Bug isolation via remote program sampling
PLDI '03 Proceedings of the ACM SIGPLAN 2003 conference on Programming language design and implementation
Why Programs Fail: A Guide to Systematic Debugging
Why Programs Fail: A Guide to Systematic Debugging
SOBER: statistical model-based bug localization
Proceedings of the 10th European software engineering conference held jointly with 13th ACM SIGSOFT international symposium on Foundations of software engineering
Introduction to Data Mining, (First Edition)
Introduction to Data Mining, (First Edition)
Introduction to Software Testing
Introduction to Software Testing
Software Testing: Principles and Practices
Software Testing: Principles and Practices
Evolutionary software engineering, a review
Applied Soft Computing
Introduction to Genetic Algorithms
Introduction to Genetic Algorithms
Hi-index | 0.00 |
The aim of this paper is to improve the reliability of programs by generating test cases considering different execution paths of the program. The method introduced in this paper assumes that only a single failing run is available for the program and applies a genetic algorithm which searches for the most similar failing and passing runs in terms of their executed predicates. By contrasting the similar passing and failing runs, the predicates that are different in two executions could be reported as fault relevant ones. We have also applied the k-means clustering technique to partition test cases according to their corresponding execution paths in order to ensure about the quality of software and locate the existing faults of the program. To evaluate the accuracy of the proposed method, we have conducted some case studies on a number of Siemens programs including different faulty versions. The results show the capability of the proposed method in generating a wide variety of test cases which could cover different program execution paths. The results also show the effectiveness of the approach in localizing faults according to detected fault relevant predicates.