An Abstraction Technique for Testing Decomposable Systems by Model Checking

  • Paolo Arcaini
  • Angelo Gargantini
  • Elvinia Riccobene
Part of the Lecture Notes in Computer Science book series (LNCS, volume 8570)

Abstract

Test generation by model checking exploits the capability of model checkers to return counterexamples upon property violations. The approach suffers from the state explosion problem of model checking. For property verification, different abstraction techniques have been proposed to tackle this problem. However, such techniques are not always suitable for test generation. In this paper we focus on Decomposable by Dependency Asynchronous Parallel (DDAP) systems, composed by several subsystems running in parallel and connected together in a way that the inputs of one subsystem are provided by another subsystem. We propose a test generation approach for DDAP systems based on a decompositional abstraction that considers one subsystem at a time. It builds tests for the single subsystems and combines them later in order to obtain a global system test. Such approach avoids the exponential increase of the test generation time and memory consumption. The approach is proved to be sound, but not complete.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Ammann, P., Black, P.: Abstracting formal specifications to generate software tests via model checking. In: Proceedings of the 18th Digital Avionics Systems Conference, vol. 2, pp. 10.A.6-1–10.A.6-10 (1999)Google Scholar
  2. 2.
    Arcaini, P., Bolis, F., Gargantini, A.: Test Generation for Sequential Nets of Abstract State Machines. In: Derrick, J., Fitzgerald, J., Gnesi, S., Khurshid, S., Leuschel, M., Reeves, S., Riccobene, E. (eds.) ABZ 2012. LNCS, vol. 7316, pp. 36–50. Springer, Heidelberg (2012)CrossRefGoogle Scholar
  3. 3.
    Arcaini, P., Gargantini, A.: Test Generation for Sequential Nets of Abstract State Machines with Information Passing. Science of Computer Programming (2014)Google Scholar
  4. 4.
    Arcaini, P., Gargantini, A., Riccobene, E.: A model advisor for NuSMV specifications. Innovations in Systems and Software Engineering 7(2), 97–107 (2011)CrossRefGoogle Scholar
  5. 5.
    Browne, M.C.: An improved algorithm for the automatic verification of finite state systems using temporal logic. In: Proceedings, Symposium on Logic in Computer Science (LICS), Cambridge, Massachusetts, USA, June 16-18, pp. 260–266. IEEE Computer Society (1986)Google Scholar
  6. 6.
    Cimatti, A., Clarke, E., Giunchiglia, E., Giunchiglia, F., Pistore, M., Roveri, M., Sebastiani, R., Tacchella, A.: NuSMV Version 2: An OpenSource Tool for Symbolic Model Checking. In: Brinksma, E., Larsen, K.G. (eds.) CAV 2002. LNCS, vol. 2404, pp. 359–364. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  7. 7.
    Clarke, E., Grumberg, O., Jha, S., Lu, Y., Veith, H.: Counterexample-guided abstraction refinement for symbolic model checking. J. ACM 50, 752–794 (2003)CrossRefMathSciNetGoogle Scholar
  8. 8.
    Clarke, E.M., Klieber, W., Nováček, M., Zuliani, P.: Model checking and the state explosion problem. In: Meyer, B., Nordio, M. (eds.) LASER 2011. LNCS, vol. 7682, pp. 1–30. Springer, Heidelberg (2012)CrossRefGoogle Scholar
  9. 9.
    Clarke, E.M., Grumberg, O., Peled, D.A.: Model Checking. MIT Press (1999)Google Scholar
  10. 10.
    Fraser, G., Gargantini, A.: An evaluation of model checkers for specification based test case generation. In: ICST 2009, Denver, Colorado, USA, April 1-4, pp. 41–50. IEEE Computer Society (2009)Google Scholar
  11. 11.
    Fraser, G., Wotawa, F., Ammann, P.E.: Testing with model checkers: a survey. Software Testing, Verification and Reliability 19(3), 215–261 (2009)CrossRefGoogle Scholar
  12. 12.
    Gargantini, A., Heitmeyer, C.L.: Using model checking to generate tests from requirements specifications. In: Wang, J., Lemoine, M. (eds.) ESEC 1999 and ESEC-FSE 1999. LNCS, vol. 1687, pp. 146–162. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  13. 13.
    Godefroid, P.: Compositional dynamic test generation. In: Proceedings of the 34th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 2007, pp. 47–54. ACM, New York (2007)Google Scholar
  14. 14.
    Hierons, R., Derrick, J.: Editorial: special issue on specification-based testing. Software Testing, Verification and Reliability 10(4), 201–202 (2000)CrossRefGoogle Scholar
  15. 15.
    Josko, B.: A context dependent equivalence relation between kripke structures. In: Clarke, E., Kurshan, R. (eds.) CAV 1990. LNCS, vol. 531, pp. 204–213. Springer, Heidelberg (1991)CrossRefGoogle Scholar
  16. 16.
    Koo, H.-M., Mishra, P.: Functional test generation using design and property decomposition techniques. ACM Trans. Embed. Comput. Syst. 8(4), 32:1–32:33 (2009)Google Scholar
  17. 17.
    Laster, K., Grumberg, O.: Modular model checking of software. In: Steffen, B. (ed.) TACAS 1998. LNCS, vol. 1384, pp. 20–35. Springer, Heidelberg (1998)CrossRefGoogle Scholar
  18. 18.
    Park, S., Kwon, G.: Avoidance of State Explosion Using Dependency Analysis in Model Checking Control Flow Model. In: Gavrilova, M.L., Gervasi, O., Kumar, V., Tan, C.J.K., Taniar, D., Laganá, A., Mun, Y., Choo, H. (eds.) ICCSA 2006. LNCS, vol. 3984, pp. 905–911. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  19. 19.
    Prenninger, W., Pretschner, A.: Abstractions for Model-Based Testing. Electron. Notes Theor. Comput. Sci. 116, 59–71 (2005)CrossRefGoogle Scholar
  20. 20.
    Utting, M., Legeard, B.: Practical Model-Based Testing: A Tools Approach. Morgan-Kaufmann (2006)Google Scholar
  21. 21.
    Xu, B., Qian, J., Zhang, X., Wu, Z., Chen, L.: A brief survey of program slicing. SIGSOFT Softw. Eng. Notes 30(2), 1–36 (2005)CrossRefGoogle Scholar

Copyright information

© Springer International Publishing Switzerland 2014

Authors and Affiliations

  • Paolo Arcaini
    • 1
  • Angelo Gargantini
    • 1
  • Elvinia Riccobene
    • 2
  1. 1.Dipartimento di IngegneriaUniversità degli Studi di BergamoItaly
  2. 2.Dipartimento di InformaticaUniversità degli Studi di MilanoItaly

Personalised recommendations