Identifying Error Prone Paths in Software With Genetic Algorithms

J.R. Birt and R. Sitte (Australia)


Software reliability, genetic algorithms, error clustering,software testing, software inspection


Although various methods have been applied for detecting and reducing errors in software, little research has been done into partitioning a system into smaller, error prone domains for Software Quality Assurance. In this paper we demonstrate that it is possible to identify error prone parts in programs. This is important because by identifying them, they can be given priority in code inspections or testing. We use a scheme for allocating a potential Source of Error to the code instructions. Then we use Genetic Algorithms to find the most error prone parts in that software. We do this by observing to what extent the Genetic Algorithms identifies the heaviest error seeded paths by applying clustered error seeding strategies. We have compared the performance of the Genetic Algorithms in identifying error prone paths with random path selection. Results from our experiments show that the Genetic Algorithms can identify the most potentially error prone paths that would contain at least 85% of the clustered seeded errors.

Important Links:

Go Back