Using Program Slicing Technique to Reduce the Cost of Software Testing



Systems of computers and their application in the lives of modern human beings are vastly expanding. In any kind of computer application, failure in computer systems can lead to a range of financial and mortal losses. Indeed, the major origin of software failure can be located in designing or implementing software. With regard to these statistics, 30% of the software projects have been prosperous and successful. The proposed method is intended to reduce the cost and time of testing and it focuses on enhancing the efficiency of software testing methods. In this paper, we investigated the effect of slicing techniques on the reduction rate of testing cost and time. The results of experiments show that we can cover a large number of program instructions, branches and paths by a small number of test cases in the sliced program


[1] M.R. Lyu, “Handbooks of Software Reliability Engineering”, ISBN 0 -07-039400-8, IEEE-CS Press, 1995.

[2] R.S. Pressman & Associates, “Software Engineering: A Practitioner's Approach, 6/e”, copyright 2005.

[3] T. Adams, “Total Variance Approach to Software Reliability Estimation”, IEEE Trans.SoftwareEngineering,Vol.22, No.9,1996,pp.687-688.

[4] P. Popic, D. Desovski, W. Abdelmoez, and B. Cukie, “Error Propagation in the Reliability Analysis of Component Based Systems,” Intel Symposium. Software Reliability Eng.,pp.53- 62,2005.

[5] B. Beizer, “Software Testing Techniques”, Second Edition. New York: Van Nostrand Reinhold, 1990.

[6] A. Bertolino and M. Marre´, “How Many Paths Are Needed for Branch Testing?” The J. Systems and Software, vol. 35, no. 2, pp. 95- 106, Nov. 1996.

[7] P.G. Frankl and E.J. Weyuker, “An Applicable Family of Data Flow Testing Criteria” IEEE Trans. Software Eng., vol. 14, no. 10, pp. 1483- 1498, Oct. 1988.

[8] M. Marre and A. Bertolino, “Reducing and Estimating the Cost of Test Coverage Criteria,” Proc. 18th Int’l Conf. Software Eng. (ICSE 18), pp. 486-494, Mar. 1996.

[9] S. Rapps and E.J. Weyuker, “Selecting Software Test Data Using Data Flow Information,” IEEE Trans. Software Eng., vol. 11, no. 4, pp. 367-375, Apr. 1985.

[10] G. Rothermel, M.J. Harrold, J. Ostrin, and C. Hong, “Empirical Study of the Effects of Minimization on the Fault Detection Capabilities of Test Suites,” Int’l Conf. Software Maintenance, pp. 34-43, Nov. 1998.

[11] W.E. Wong, J.R. Horgan, S. London, and A.P. Mathur, “Effect of Test Set Minimization on Fault Detection Effectiveness,” Proc. 17th Int’l

[12] C. R. Reeves, “Modern Heuristic Techniques for Combinatorial Problems”, McGraw-Hill, 1995.

[13] D. Corne, M. Dorigo, and F. Glover, editors. “New Ideas in Optimization”, McGraw-Hill, 1999.

[14] A. Mockus, "Test Coverage and PostVerification Defects: A Multiple Case Study", In the 3rd International Symposium on Empirical Software Engineering and Measurement, ESEM 2009.

[15] Y. Wei, “Is Coverage a Good Measure of Testing Effectiveness?”, Chair of software engineering ETH Zurich, CH-8092 Zurich, Switzerland.

[16] H. Pham, “System Software Reliability”, Springer Series in Reliability Engineering, ISBN 0 -07-039400-8, Springer-Verlag London Limited 2006.

[17] P. Ammann, J. Offutt, “Introduction to Software Testing”, CAMBRIDGE UNIVERSITY PRESS, ISBN 978-0-521-88038-1, 2008.

[18] 18 .G. A. Venkatesh, “The semantic approach to program slicing”, In ACM SIG-PLAN Conference on Programming Language Design and Implementation, pages 26, 1991.

[19] B. Korel, J. Rilling, “Dynamic program slicing methods”, Information and Software Technology special Issue on Program Slicing, volume 40, pages 647, 1998.

[20] G. Canfora, A. Cimitile, “Conditioned program slicing”, Information and Software Technology special Issue on Program Slicing, volume 40, pages 595, 1998.

[21] S. Horwitz, T. Reps, D. Binkley, “Interprocedural slicing using dependence graphs”, ACM Transactions on Programming Languages and Systems, 1990.