Formal Verification of 800 Genetically Constructed Automata Programs: A Case Study

  • Mikhail Lukin
  • Maxim Buzdalov
  • Anatoly Shalyto
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 8855)


Engineering of mission critical software requires a program to be verified that it satisfies a number of properties. This is often done using model checking. However, construction of a program model to be verified and analyzing counterexamples is not an easy task. This can be made easier with the automata-based programming paradigm.

There exist some cases when there are many programs to verify and it is impossible to construct a precise enough finite-state model of the environment. We present an approach for automata program verification under such conditions. Our case study is based on 800 automata programs which solve a simple path-planning problem. As a result, we verified that at least 231 of them are provably correct.


automata-based programming formal verification model checking 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Buzdalov, M., Sokolov, A.: Evolving EFSMs Solving a Path-Planning Problem by Genetic Programming. In: Proceedings of GECCO Companion, pp. 591–594 (2012)Google Scholar
  2. 2.
    Chivilikhin, D., Ulyantsev, V.: MuACOsm: A New Mutation-Based Ant Colony Optimization Algorithm for Learning Finite-State Machines. In: Proceedings of GECCO, pp. 511–518 (2013)Google Scholar
  3. 3.
    Gurov, V., Mazin, M., Narvsky, A., Shalyto, A.: Tools for support of automata-based programming. Programming and Computer Software 33(6), 343–355 (2007)CrossRefzbMATHGoogle Scholar
  4. 4.
    Holzmann, G.: The model checker SPIN. IEEE Transactions on Software Engineering 23(5), 279–295 (1997)CrossRefMathSciNetGoogle Scholar
  5. 5.
    Kuzmin, E.V., Sokolov, V.A.: Modeling, specification, and verification of automaton programs. Programming and Computer Software 34(1), 27–43 (2008)CrossRefzbMATHMathSciNetGoogle Scholar
  6. 6.
    Lumelsky, V., Stepanov, A.: Path planning strategies for a point mobile automaton moving amidst unknown obstacles of arbitraty shape. Algorithmica 2, 403–430 (1987)CrossRefzbMATHMathSciNetGoogle Scholar
  7. 7.
    Pingree, P.J., Mikk, E., Holzmann, G.J., Smith, M.H., Dams, D.: Validation of mission critical software design and implementation using model checking (2002),
  8. 8.
    Polikarpova, N., Shalyto, A.: Automata-based Programming, 2nd edn. Piter (2011) (in Russian)Google Scholar
  9. 9.
    Shalyto, A.: Logic control and reactive systems: Algorithmization and programming. Automation and Remote Control 62(1), 1–29 (2001)CrossRefzbMATHMathSciNetGoogle Scholar
  10. 10.
    Tsarev, F., Egorov, K.: Finite State Machine Induction Using Genetic Algorithm Based on Testing and Model Checking. In: Proceedings of GECCO Companion, pp. 759–762 (2011)Google Scholar
  11. 11.
    Yang, C.H., Vyatkin, V., Pang, C.: Model-driven development of control software for distributed automation: a survey and an approach. IEEE Transactions on Systems, Man and Cybernetics 44(3), 292–305 (2014)CrossRefGoogle Scholar

Copyright information

© Springer International Publishing Switzerland 2014

Authors and Affiliations

  • Mikhail Lukin
    • 1
  • Maxim Buzdalov
    • 1
  • Anatoly Shalyto
    • 1
  1. 1.ITMO UniversitySaint-PetersburgRussia

Personalised recommendations