Formal Verification of 800 Genetically Constructed Automata Programs: A Case Study
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.
Keywordsautomata-based programming formal verification model checking
Unable to display preview. Download preview PDF.
- 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.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
- 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), http://spinroot.com/gerard/pdf/02-1911.pdf
- 8.Polikarpova, N., Shalyto, A.: Automata-based Programming, 2nd edn. Piter (2011) (in Russian)Google Scholar
- 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