Redundancy Based Test-Suite Reduction

  • Gordon Fraser
  • Franz Wotawa
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4422)


The size of a test-suite has a direct impact on the costs and the effort of software testing. Especially during regression testing, when software is re-tested after some modifications, the size of the test-suite is important. Common test-suite reduction techniques select subsets of test-suites that achieve given test requirements. Unfortunately, not only the test-suite size but also the fault detection ability is reduced as a consequence. This paper proposes a novel approach where test-cases created with model-checker based techniques are transformed such that redundancy within the test-suite is avoided, and the overall size is reduced. As test-cases are not simply discarded, the impact on the fault sensitivity is minimal.


Model Check Test Coverage Coverage Criterion System Under Test Kripke Structure 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


  1. 1.
    Harrold, M.J., Gupta, R., Soffa, M.L.: A methodology for controlling the size of a test suite. ACM Trans. Softw. Eng. Methodol. 2(3), 270–285 (1993), doi:10.1145/152388.152391CrossRefGoogle Scholar
  2. 2.
    Rothermel, G., Harrold, M.J., von Ronne, J., Hong, C.: Empirical studies of test-suite reduction. Software Testing, Verification and Reliability 12(4), 219–249 (2002)CrossRefGoogle Scholar
  3. 3.
    Zhong, H., Zhang, L., Mei, H.: An experimental comparison of four test suite reduction techniques. In: ICSE ’06: Proceeding of the 28th international conference on Software engineering, Shanghai, China, pp. 636–640. ACM Press, New York (2006), doi:10.1145/1134285.1134380CrossRefGoogle Scholar
  4. 4.
    Jones, J.A., Harrold, M.J.: Test-suite reduction and prioritization for modified condition/decision coverage. IEEE Trans. Softw. Eng. 29(3), 195–209 (2003)CrossRefGoogle Scholar
  5. 5.
    Rothermel, G., Harrold, M.J., Ostrin, J., Hong, C.: An empirical study of the effects of minimization on the fault detection capabilities of test suites. In: ICSM ’98: Proceedings of the International Conference on Software Maintenance, Washington, DC, USA, p. 34. IEEE Computer Society Press, Los Alamitos (1998)Google Scholar
  6. 6.
    Heimdahl, M.P.E., Devaraj, G.: Test-Suite Reduction for Model Based Tests: Effects on Test Quality and Implications for Testing. In: ASE, pp. 176–185. IEEE Computer Society Press, Los Alamitos (2004)Google Scholar
  7. 7.
    Wong, W.E., Horgan, J.R., London, S., Mathur, A.P.: Effect of test set minimization on fault detection effectiveness. In: ICSE ’95: Proceedings of the 17th international conference on Software engineering, Seattle, Washington, United States, pp. 41–50. ACM Press, New York (1995), doi:10.1145/225014.225018CrossRefGoogle Scholar
  8. 8.
    Gargantini, A., Heitmeyer, C.L.: Using Model Checking to Generate Tests from Requirements Specifications. In: Nierstrasz, O., Lemoine, M. (eds.) ESEC 1999 and ESEC-FSE 1999. LNCS, vol. 1687, pp. 146–162. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  9. 9.
    Rayadurgam, S., Heimdahl, M.P.E.: Coverage Based Test-Case Generation Using Model Checkers. In: Proceedings of the 8th Annual IEEE International Conference and Workshop on the Engineering of Computer Based Systems (ECBS 2001), April 2001, pp. 83–91. IEEE Computer Society, Los Alamitos (2001)CrossRefGoogle Scholar
  10. 10.
    Hamon, G., de Moura, L., Rushby, J.: Automated Test Generation with SAL. Technical report, Computer Science Laboratory, SRI International (2005)Google Scholar
  11. 11.
    Callahan, J.R., Easterbrook, S.M., Montgomery, T.L.: Generating Test Oracles Via Model Checking. Technical report, NASA/WVU Software Research Lab. (1998)Google Scholar
  12. 12.
    Ammann, P., Black, P.E., Majurski, W.: Using Model Checking to Generate Tests from Specifications. In: ICFEM (1998)Google Scholar
  13. 13.
    Black, P.E.: Modeling and Marshaling: Making Tests From Model Checker Counterexamples. In: Proc. of the 19th Digital Avionics Systems Conference (2000)Google Scholar
  14. 14.
    Okun, V., Black, P.E., Yesha, Y.: Testing with Model Checker: Insuring Fault Visibility. In: Mastorakis, N.E., Ekel, P. (eds.) Proceedings of 2002 WSEAS International Conference on System Science, Applied Mathematics & Computer Science, and Power Engineering Systems, pp. 1351–1356 (2003)Google Scholar
  15. 15.
    Ammann, P., Black, P.E.: A Specification-Based Coverage Metric to Evaluate Test Sets. In: HASE, pp. 239–248. IEEE Computer Society, Los Alamitos (1999)Google Scholar
  16. 16.
    Hamon, G., de Moura, L., Rushby, J.: Generating Efficient Test Sets with a Model Checker. In: Proceedings of the Second International Conference on Software Engineering and Formal Methods (SEFM’04), pp. 261–270 (2004)Google Scholar
  17. 17.
    Clarke, E.M., Emerson, E.A.: Design and synthesis of synchronization skeletons using branching-time temporal logic. In: Kozen, D. (ed.) Logic of Programs 1981. LNCS, vol. 131, pp. 52–71. Springer, Heidelberg (1982)CrossRefGoogle Scholar
  18. 18.
    Offutt, A.J., Xiong, Y., Liu, S.: Criteria for generating specification-based tests. In: ICECCS, IEEE Computer Society, Los Alamitos (1999)Google Scholar
  19. 19.
    Cimatti, A., Clarke, E., Giunchiglia, F., Roveri, M.: NUSMV: A New Symbolic Model Verifier. In: Halbwachs, N., Peled, D.A. (eds.) CAV 1999. LNCS, vol. 1633, pp. 495–499. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  20. 20.
    Bharadwaj, R., Heitmeyer, C.L.: Model Checking Complete Requirements Specifications Using Abstraction. Automated Software Engineering 6(1), 37–68 (1999)CrossRefGoogle Scholar
  21. 21.
    Kirby, J.: Example NRL/SCR Software Requirements for an Automobile Cruise Control and Monitoring System. Technical Report TR-87-07, Wang Institute of Graduate Studies (1987)Google Scholar

Copyright information

© Springer Berlin Heidelberg 2007

Authors and Affiliations

  • Gordon Fraser
    • 1
  • Franz Wotawa
    • 1
  1. 1.Institute for Software Technology, Graz University of Technology, Inffeldgasse 16b/2, A-8010 GrazAustria

Personalised recommendations