An enhanced zero-one optimal path set selection method

One issue in structural program testing is how to select a mimimal set of test paths to meet certain test requirements. This is referred to as the optimal path set selection problem. The previously proposed zero-one optimal path set selection method is a generalized method that can be applied to most coverage criteria. However, the major drawback of this method is that for a large program the computation may take ten or more hours because the computation is exponentially proportional to the number of candidate paths and proportional to the number of components to be covered. To alleviate the drawback, this paper enhances the method by (1) defining five reduction rules, and (2) reusing previously selected path sets to reduce both the number of candidate paths and the number of components to be covered. Since both the number of candidate paths and the number of components to be covered are reduced, the computation time can be greatly reduced. In addition, an efficient approach to handling infeasible paths is proposed. An evaluation of the enhanced zero-one method, the original zero-one method, and a greedy method is executed and the result is presented.

[1]  Takeshi Chusho,et al.  Test Data Selection and Quality Estimation Based on the Concept of Essential Branches for Path Testing , 1987, IEEE Transactions on Software Engineering.

[2]  Brent E. Nelson,et al.  Transforming an Ada Program Unit to Silicon and Verifying Its Behavior in an Ada Environment: A First Experiment , 1984, IEEE Software.

[3]  Boris Beizer,et al.  Software Testing Techniques , 1983 .

[4]  Jean Zoren Werner Hartmann,et al.  Techniques for selective revalidation , 1990, IEEE Software.

[5]  Elaine J. Weyuker,et al.  Selecting Software Test Data Using Data Flow Information , 1985, IEEE Transactions on Software Engineering.

[6]  W. Eric Wong,et al.  Effect of test set minimization on fault detection effectiveness , 1998 .

[7]  Antonia Bertolino,et al.  Unconstrained duals and their use in achieving all-uses coverage , 1996, ISSTA '96.

[8]  Anas N. Al-Rabadi,et al.  A comparison of modified reconstructability analysis and Ashenhurst‐Curtis decomposition of Boolean functions , 2004 .

[9]  J. Paul Myers,et al.  The Path Prefix Software Testing Strategy , 1987, IEEE Transactions on Software Engineering.

[10]  Jin-Cherng Lin,et al.  Zero-one integer programming model in path selection problem of structural testing , 1989, [1989] Proceedings of the Thirteenth Annual International Computer Software & Applications Conference.

[11]  Frederick S. Hillier,et al.  Introduction of Operations Research , 1967 .

[12]  Frederick S. Hillier,et al.  Introduction to Operations Research (3rd ed.). , 1982 .

[13]  H. S. Wang,et al.  A generalized optimal path-selection model for structural program testing , 1989, J. Syst. Softw..

[14]  Leon J. Osterweil,et al.  On Two Problems in the Generation of Program Test Paths , 1976, IEEE Transactions on Software Engineering.

[15]  Chyan-Goei Chung,et al.  A heuristic approach to path selection problem in concurrent program testing , 1992, Proceedings of the Third Workshop on Future Trends of Distributed Computing Systems.

[16]  S. Louis Hakimi,et al.  On Path Cover Problems in Digraphs and Applications to Program Testing , 1979, IEEE Transactions on Software Engineering.

[17]  Michael A. Hennell,et al.  The causes and effects of infeasible paths in computer programs , 1985, ICSE '85.