Testing from X-Machine Specifications

  • Kirill Bogdanov
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4949)


The chapter describes how to model software containing complex data using X-machines and how test generation can be performed from such models. Testing using X-machines can be used to demonstrate specific results by testing: one may even claim that an implementation is behaviourally-equivalent to a specification if testing did not reveal defects. The ability to make such claims requires a tester to be precise in what is actually being tested and what has to be assumed. A number of assumptions underlying the testing method are described including what can be done when they cannot be satisfied.


State Machine Test Sequence Software Testing Extra State Transition Diagram 
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.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [BGIH03]
    Bălănescu, T., Gheorghe, M., Ipate, F., Holcombe, M.: Formal black box testing for partially specified deterministic finite state machines. Foundations of Computing and Decision Systems 28(1) (2003)Google Scholar
  2. [BH01]
    Bogdanov, K., Holcombe, M.: Statechart testing method for aircraft control systems. Software Testing, Verification and Reliability 11(1), 39–54 (2001)CrossRefGoogle Scholar
  3. [BH02]
    Bogdanov, K., Holcombe, M.: Testing from statecharts using the Wp method. In: CONCUR 2002 Satellite Workshop on Formal Approaches To Testing (FATES), pp. 19–33 (2002)Google Scholar
  4. [BH04]
    Bogdanov, K., Holcombe, M.: Refinement in statechart testing. Software Testing, Verification and Reliability 14, 189–211 (2004)CrossRefGoogle Scholar
  5. [BHI+06]
    Bogdanov, K., Holcombe, M., Ipate, F., Seed, L., Vanak, S.: Testing methods for X-machines, a review. Formal Aspects of Computing 18(1) (2006)Google Scholar
  6. [BP94]
    Bochmann, G., Petrenko, A.: Protocol testing: review of methods and relevance for software testing. In: 1994 ACM International Symposium on Software Testing and Analysis (ISSTA 1994), pp. 109–124 (1994)Google Scholar
  7. [Car00]
    Cardell-Oliver, R.: Conformance tests for real-time systems with timed automata specifications. Formal Aspects of Computing 12(5), 350–371 (2000)zbMATHCrossRefGoogle Scholar
  8. [Cho78]
    Chow, T.: Testing software design modeled by finite-state machines. IEEE Transactions on Software Engineering SE-4(3), 178–187 (1978)CrossRefGoogle Scholar
  9. [CK93]
    Cheng, K., Krishnakumar, A.: Automatic functional test generation using the extended finite state machine model. In: ACM-SIGDA; IEEE. Proceedings of the 30th ACM/IEEE Design Automation Conference, Dallas, TX, June 1993, pp. 86–91. ACM Press, New York (1993)Google Scholar
  10. [Coh96]
    Cohen, D.: Introduction to Computer Theory, 2nd edn. John Wiley & Sons, New York (1996)Google Scholar
  11. [Eil74]
    Eilenberg, S.: Automata, languages and machines, vol. A. Academic Press, London (1974)zbMATHGoogle Scholar
  12. [FBK+91]
    Fujiwara, S., von Bochmann, G., Khendek, F., Amalou, M., Ghedamsi, A.: Test selection based on finite state models. IEEE Transactions on Software Engineering 17(6), 591–603 (1991)CrossRefGoogle Scholar
  13. [Gau95]
    Gaudel, M.: Testing can be formal, too. In: Mosses, P.D., Schwartzbach, M.I., Nielsen, M. (eds.) CAAP 1995, FASE 1995, and TAPSOFT 1995. LNCS, vol. 915, pp. 82–96. Springer, Heidelberg (1995)Google Scholar
  14. [Gil62]
    Gill, A.: Introduction to the Theory of Finite-State Machines. McGraw-Hill, New York (1962)zbMATHGoogle Scholar
  15. [GP05]
    Gunter, E., Peled, D.: Model checking, testing and verification working together. Formal Aspects of Computing 17(2), 201–221 (2005)zbMATHCrossRefGoogle Scholar
  16. [HH04]
    Hierons, R., Harman, M.: Testing conformance of a deterministic implementation against a non-deterministic stream X-machine. Theoretical Computer Science 4, 191–233 (2004)CrossRefMathSciNetGoogle Scholar
  17. [HI98]
    Holcombe, M., Ipate, F.: Correct Systems: building a business process solution. Springer, Heidelberg (1998)zbMATHGoogle Scholar
  18. [Hie04]
    Hierons, R.: Testing from a nondeterministic finite state machine using adaptive state counting. IEEE Trans. Computers 53(10), 1330–1342 (2004)CrossRefGoogle Scholar
  19. [HN96]
    Harel, D., Naamad, A.: The STATEMATE Semantics of Statecharts. ACM Transactions on Software Engineering and Methodology 5(4), 293–333 (1996)CrossRefGoogle Scholar
  20. [HU02]
    Hierons, R., Ural, H.: Reduced length checking sequences. IEEETC: IEEE Transactions on Computers 51, 1111–1117 (2002)CrossRefMathSciNetGoogle Scholar
  21. [IF06]
  22. [IH97]
    Ipate, F., Holcombe, M.: An integration testing method that is proved to find all faults. International Journal of Computer Mathematics 63, 159–178 (1997)zbMATHCrossRefMathSciNetGoogle Scholar
  23. [IH00]
    Ipate, F., Holcombe, M.: Generating test sequences from non-deterministic generalized stream X-machines. Formal Aspects of Computing 12(6), 443–458 (2000)zbMATHCrossRefGoogle Scholar
  24. [IH02]
    Ipate, F., Holcombe, M.: Testing conditions for communicating stream X-machine systems. Formal Aspects of Computing 13(6), 431–446 (2002)zbMATHCrossRefMathSciNetGoogle Scholar
  25. [Ipa04]
    Ipate, F.: Complete deterministic stream X-machine testing. Formal Aspects of Computing 16(4), 374–386 (2004)zbMATHCrossRefGoogle Scholar
  26. [IU99]
    Inan, K., Ural, H.: Efficient checking sequences for testing finite state machines. Information and Software Technology 41, 799–812 (1999)CrossRefGoogle Scholar
  27. [Koz94]
    Kozen, D.: A completeness theorem for Kleene algebras and the algebra of regular events. Information and Computation 110(2), 366–390 (1994)zbMATHCrossRefMathSciNetGoogle Scholar
  28. [LMN04]
    Larsen, K., Mikucionis, M., Nielsen, B.: Online testing of real-time systems using Uppaal. In: Grabowski, J., Nielsen, B. (eds.) FATES 2004. LNCS, vol. 3395, pp. 79–94. Springer, Heidelberg (2005)Google Scholar
  29. [LPB94]
    Luo, G., Petrenko, A., von Bochmann, G.: Selecting test sequences for partially specified nondeterministic finite state machines. In: IFIP Seventh International Workshop on Protocol Test Systems, Japan, pp. 95–110 (1994)Google Scholar
  30. [LY96]
    Lee, D., Yannakakis, M.: Principles and methods of testing finite state machines – A survey. In: Proceedings of the IEEE, August 1996, vol. 84, pp. 1090–1123 (1996)Google Scholar
  31. [MK94]
    McGregor, J.D., Korson, T.D.: Integrated object-oriented testing and development processes. Communications of the ACM 37(9), 59–77 (1994)CrossRefGoogle Scholar
  32. [Mye79]
    Myers, G.: The art of software testing. John Wiley and Sons, Chichester (1979)Google Scholar
  33. [OB88]
    Ostrand, T.J., Balcer, M.J.: The category-partition method for specifying and generating functional tests. Communications of the ACM 31(6), 676–686 (1988)CrossRefGoogle Scholar
  34. [OMG03]
    OMG. Unified Modeling Language specification, version 1.5 (March 2003),
  35. [PBG04]
    Petrenko, A., Boroday, S., Groz, R.: Confirming configurations in EFSM testing. IEEE Transactions on Software Engineering 30(1), 29–42 (2004)CrossRefGoogle Scholar
  36. [Pet00]
    Petrenko, A.: Fault model-driven test derivation from finite state models: Annotated bibliography. In: Cassez, F., Jard, C., Rozoy, B., Dermot, M. (eds.) MOVEP 2000. LNCS, vol. 2067, pp. 19–23. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  37. [PKS03]
    Eleftherakis, G., Kefalas, P., Sotiriadou, A.: Developing tools for formal methods. In: 9th Panhellenic Conference on Informatics, Thessaloniki, Greece, November 2003, pp. 625–639 (2003)Google Scholar
  38. [Pre94]
    Pressman, R.: Software Engineering, a practitioner’s approach, 3rd edn. McGraw-Hill, London (1994)Google Scholar
  39. [PY05]
    Petrenko, A., Yevtushenko, N.: Testing from partial deterministic FSM specifications. IEEE Transactions on Computers 54(9), 1154–1165 (2005)CrossRefGoogle Scholar
  40. [PYB96]
    Petrenko, A., Yevtushenko, N., von Bochmann, G.: Testing deterministic implementations from nondeterministic FSM specifications. In: Proc. of 9th International Workshop on Testing of Communicating Systems (IWTCS 1996), pp. 125–140 (1996)Google Scholar
  41. [PYBD96]
    Petrenko, A., Yevtushenko, N., von Bochmann, G., Dssouli, R.: Testing in context: framework and test derivation. Computer Communications 19, 1236–1249 (1996)CrossRefGoogle Scholar
  42. [RDT95]
    Ramalingam, T., Das, A., Thulasiraman, K.: On testing and diagnosis of communication protocols based on the FSM model. Computer communications 18(5), 329–337 (1995)CrossRefGoogle Scholar
  43. [Sta02]
    Stannett, M.: Complete behavioural testing (two extensions to state-machine testing. In: CONCUR 2002 Satellite Workshop on Formal Approaches To Testing (FATES), pp. 51–64 (2002)Google Scholar
  44. [Sta06]
    Stannett, M.: The theory of X-machines. Technical Report CS-05-09, The University of Sheffield, UK (2006)Google Scholar
  45. [Tre96]
    Tretmans, J.: Test generation with inputs, outputs and repetitive quiescence. Software – Concepts and Tools 17(3), 103–120 (1996)zbMATHGoogle Scholar
  46. [Van02]
    Vanak, S.: Complete functional testing of hardware descriptions. PhD thesis, The University of Sheffield, UK (2002)Google Scholar
  47. [Vas73]
    Vasilevskii, M.: Failure diagnosis of automata, vol. 4, pp. 653–665. Cybernetics, Plenum Publ. Corporation, New York (1973)Google Scholar
  48. [Woo96]
    Wood, A.: Predicting software reliability. Computer 29(11), 69–77 (1996)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2008

Authors and Affiliations

  • Kirill Bogdanov
    • 1
  1. 1.Department of Computer ScienceThe University of Sheffield Regent CourtSheffieldUK

Personalised recommendations