Synthesis of Parametric Programs using Genetic Programming and Model Checking

被引:6
|
作者
Katz, Gal [1 ]
Peled, Doron [1 ]
机构
[1] Bar Ilan Univ, Dept Comp Sci, IL-52900 Ramat Gan, Israel
关键词
D O I
10.4204/EPTCS.140.5
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
Formal methods apply algorithms based on mathematical principles to enhance the reliability of systems. It would only be natural to try to progress from verification, model checking or testing a system against its formal specification into constructing it automatically. Classical algorithmic synthesis theory provides interesting algorithms but also alarming high complexity and undecidability results. The use of genetic programming, in combination of model checking and testing, provides a powerful heuristic to synthesize programs. The method is not completely automatic, as it is fine tuned by a user that sets up the specification and parameters. It also does not guarantee to always succeed and converge towards a solution that satisfies all the required properties. However, we applied it successfully on quite nontrivial examples and managed to find solutions to hard programming challenges, as well as to improve and to correct code. We describe here several versions of our method for synthesizing sequential and concurrent systems.
引用
收藏
页码:70 / 84
页数:15
相关论文
共 50 条
  • [41] Bounded Model Checking for Probabilistic Programs
    Jansen, Nils
    Dehnert, Christian
    Kaminski, Benjamin Lucien
    Katoen, Joost-Pieter
    Westhofen, Lukas
    AUTOMATED TECHNOLOGY FOR VERIFICATION AND ANALYSIS, ATVA 2016, 2016, 9938 : 68 - 85
  • [42] Abstract Model Checking of tccp programs
    Alpuente, MarIa
    Gallardo, MarIa Del Mar
    Pimentel, Ernesto
    Villanueva, Alicia
    ELECTRONIC NOTES IN THEORETICAL COMPUTER SCIENCE, 2005, 112 : 19 - 36
  • [43] Bounded model checking of concurrent programs
    Rabinovitz, I
    Grumberg, O
    COMPUTER AIDED VERIFICATION, PROCEEDINGS, 2005, 3576 : 82 - 97
  • [44] Heuristics for model checking Java programs
    Groce A.
    Visser W.
    International Journal on Software Tools for Technology Transfer, 2004, 6 (04) : 260 - 276
  • [45] Model Checking Parallel Programs with Inputs
    Barnat, Jiri
    Bauch, Petr
    Havel, Vojtech
    2014 22ND EUROMICRO INTERNATIONAL CONFERENCE ON PARALLEL, DISTRIBUTED, AND NETWORK-BASED PROCESSING (PDP 2014), 2014, : 756 - 759
  • [46] LTL Model Checking for Recursive Programs
    Huang, Geng-Dian
    Cai, Lin-Zan
    Wang, Farn
    AUTOMATED TECHNOLOGY FOR VERIFICATION AND ANALYSIS, PROCEEDINGS, 2009, 5799 : 382 - 396
  • [47] Autotuning Parallel Programs by Model Checking
    N. O. Garanina
    S. P. Gorlatch
    Automatic Control and Computer Sciences, 2022, 56 : 634 - 648
  • [48] Model checking nonblocking MPI programs
    Siegel, Stephen F.
    VERIFICATION, MODEL CHECKING, AND ABSTRACT INTERPRETATION, PROCEEDINGS, 2007, 4349 : 44 - 58
  • [49] Model Checking Linear Programs with Arrays
    Armando, Alessandro
    Benerecetti, Massimo
    Mantovani, Jacopo
    ELECTRONIC NOTES IN THEORETICAL COMPUTER SCIENCE, 2006, 144 (03) : 79 - 94
  • [50] Autotuning Parallel Programs by Model Checking
    Garanina, N. O.
    Gorlatch, S. P.
    AUTOMATIC CONTROL AND COMPUTER SCIENCES, 2022, 56 (07) : 634 - 648