Chaining Test Cases for Reactive System Testing

  • Peter Schrammel
  • Tom Melham
  • Daniel Kroening
Part of the Lecture Notes in Computer Science book series (LNCS, volume 8254)

Abstract

Testing of synchronous reactive systems is challenging because long input sequences are often needed to drive them into a state to test a desired feature. This is particularly problematic in on-target testing, where a system is tested in its real-life application environment and the amount of time required for resetting is high. This paper presents an approach to discovering a test case chain—a single software execution that covers a group of test goals and minimises overall test execution time. Our technique targets the scenario in which test goals for the requirements are given as safety properties. We give conditions for the existence and minimality of a single test case chain and minimise the number of test case chains if a single test case chain is infeasible. We report experimental results with a prototype tool for C code generated from Simulink models and compare it to state-of-the-art test suite generators.

Keywords

Symbolic Execution Test Case Generation Covering Path Bound Model Check Asymmetric Travel Salesman Problem 
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.

References

  1. 1.
    Hierons, R., Ural, H.: Generating a checking sequence with a minimum number of reset transitions. ASE 17, 217–250 (2010)Google Scholar
  2. 2.
    Robert Bosch GmbH: Bosch Automotive Handbook. Bentley (2007)Google Scholar
  3. 3.
    Nuñez, A., Merayo, M., Hierons, R., Núñez, M.: Using genetic algorithms to generate test sequences for complex timed systems. Soft Computing 17 (2013)Google Scholar
  4. 4.
    Petrenko, A., da Silva Simão, A., Yevtushenko, N.: Generating checking sequences for nondeterministic finite state machines. In: ICST, pp. 310–319 (2012)Google Scholar
  5. 5.
    Boyd, S., Ural, H.: On the complexity of generating optimal test sequences. Trans. Softw. Eng. 17, 976–978 (1991)MathSciNetCrossRefGoogle Scholar
  6. 6.
    Schrammel, P., Melham, T., Kroening, D.: Chaining test cases for reactive system testing (extended version). Research report, University of Oxford (2013), http://arxiv.org/abs/1306.3882
  7. 7.
    Kroning, D., Strichman, O.: Efficient computation of recurrence diameters. In: Zuck, L.D., Attie, P.C., Cortesi, A., Mukhopadhyay, S. (eds.) VMCAI 2003. LNCS, vol. 2575, pp. 298–309. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  8. 8.
    Clarke, E., Biere, A., Raimi, R., Zhu, Y.: Bounded model checking using satisfiability solving. Formal Methods in System Design 19, 7–34 (2001)CrossRefMATHGoogle Scholar
  9. 9.
    Schrammel, P.: Logico-Numerical Verification Methods for Discrete and Hybrid Systems. PhD thesis, Université de Grenoble (2012)Google Scholar
  10. 10.
    Clarke, E., Kroning, D., Lerda, F.: A tool for checking ANSI-C programs. In: Jensen, K., Podelski, A. (eds.) TACAS 2004. LNCS, vol. 2988, pp. 168–176. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  11. 11.
    Helsgaun, K.: An effective implementation of the Lin-Kernighan traveling salesman heuristic. European J. of Operational Research 126, 106–130 (2000)MathSciNetCrossRefMATHGoogle Scholar
  12. 12.
    Meinke, K., Sindhu, M.A.: Incremental learning-based testing for reactive systems. In: Gogolla, M., Wolff, B. (eds.) TAP 2011. LNCS, vol. 6706, pp. 134–151. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  13. 13.
    Holzer, A., Schallhart, C., Tautschnig, M., Veith, H.: FShell: Systematic test case generation for dynamic analysis and measurement. In: Gupta, A., Malik, S. (eds.) CAV 2008. LNCS, vol. 5123, pp. 209–213. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  14. 14.
    Cadar, C., Dunbar, D., Engler, D.: KLEE: Unassisted and automatic generation of high-coverage tests for complex systems programs. In: OSDI, pp. 209–224 (2008)Google Scholar
  15. 15.
    Fraser, G., Wotawa, F., Ammann, P.: Testing with model checkers: a survey. Software Testing, Verification & Reliability 19, 215–261 (2009)CrossRefGoogle Scholar
  16. 16.
    Duale, A., Uyar, M.Ü.: A method enabling feasible conformance test sequence generation for EFSM models. IEEE Trans. Computers 53, 614–627 (2004)CrossRefGoogle Scholar
  17. 17.
    Kalaji, A.S., Hierons, R.M., Swift, S.: Generating feasible transition paths for testing from an extended finite state machine (EFSM). In: ICST, pp. 230–239 (2009)Google Scholar
  18. 18.
    Jourdan, G.V., Ural, H., Yenigün, H., Zhu, D.: Using a SAT solver to generate checking sequences. In: Int. Sym. on Comp. and Inf. Sciences, pp. 549–554 (2009)Google Scholar
  19. 19.
    Mori, T., Otsuka, H., Funabiki, N., Nakata, A., Higashino, T.: A test sequence generation method for communication protocols using the SAT algorithm. System and Computers in Japan 34, 20–29 (2003)CrossRefGoogle Scholar
  20. 20.
    Peleska, J., Vorobev, E., Lapschies, F.: Automated test case generation with SMT-solving and abstract interpretation. In: Bobaru, M., Havelund, K., Holzmann, G.J., Joshi, R. (eds.) NFM 2011. LNCS, vol. 6617, pp. 298–312. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  21. 21.
    Petrenko, A., Dury, A., Ramesh, S., Mohalik, S.: A method and tool for test optimization for automotive controllers. In: Software Testing, Verification and Validation Workshops, pp. 198–207 (2013)Google Scholar
  22. 22.
    Gebser, M., Kaufmann, B., Kaminski, R., Ostrowski, M., Schaub, T., Schneider, M.T.: Potassco: The Potsdam answer set solving collection. AI Communications 24, 107–124 (2011)MathSciNetMATHGoogle Scholar

Copyright information

© IFIP International Federation for Information Processing 2013

Authors and Affiliations

  • Peter Schrammel
    • 1
  • Tom Melham
    • 1
  • Daniel Kroening
    • 1
  1. 1.Department of Computer ScienceUniversity of OxfordUK

Personalised recommendations