Drawing uniformly at random in dynamic sets of paths
Résumé
In the case of coverage biased random testing of programs, random generation is used to first draw a set of paths from the control flow graph of the program. Then, some solver is used for trying to derive input values that leads the program to traverse these paths at run time. A well-known problem is that not all paths of the control flow graph correspond to feasible runs. Such paths must be rejected and other paths must be drawn. This is a severe limitation in the case of programs with a high ratio of infeasible paths. We propose a new technique that uses the information about the infea-sible prefixes already detected to prevent any of their extensions from being drawn. Based on uniform drawing from all the paths, our drawing algorithm remains uniform among the paths that do not have a known infeasible prefix. As the number of infeasible paths is often large, their elimination from the subsequent drawings is a substantial improvement w.r.t. the classical rejection method. Preliminary experiments are reported and commented.
Domaines
Génie logiciel [cs.SE]Origine | Fichiers produits par l'(les) auteur(s) |
---|
Loading...