Template-based program verification and program synthesis

被引:33
|
作者
Srivastava S. [1 ]
Gulwani S. [2 ]
Foster J.S. [3 ]
机构
[1] University of California, Berkeley, CA
[2] Microsoft Research, Redmond, WA
[3] University of Maryland, College Park, MD
关键词
Human guided verification and synthesis; Pre-and postcondition inference; Predicate abstraction; SMT solvers; Static analysis; Synthesis; Template-based program analyses; Verification;
D O I
10.1007/s10009-012-0223-4
中图分类号
学科分类号
摘要
Program verification is the task of automatically generating proofs for a program's compliance with a given specification. Program synthesis is the task of automatically generating a program that meets a given specification. Both program verification and program synthesis can be viewed as search problems, for proofs and programs, respectively. For these search problems, we present approaches based on user-provided insights in the form of templates. Templates are hints about the syntactic forms of the invariants and programs, and help guide the search for solutions. We show how to reduce the template-based search problem to satisfiability solving, which permits the use of off-the-shelf solvers to efficiently explore the search space. Template-based approaches have allowed us to verify and synthesize programs outside the abilities of previous verifiers and synthesizers. Our approach can verify and synthesize difficult algorithmic textbook programs (e.g., sorting and dynamic programming-based algorithms) and difficult arithmetic programs. © 2012 Springer-Verlag.
引用
收藏
页码:497 / 518
页数:21
相关论文
共 50 条
  • [21] Template-based CVD synthesis of ZnS nanotube arrays
    Shen, XP
    Han, M
    Hong, JM
    Xue, ZL
    Xu, Z
    [J]. CHEMICAL VAPOR DEPOSITION, 2005, 11 (05) : 250 - 253
  • [22] Template-based synthesis of nanorod, nanowire, and nanotube arrays
    Cao, Guozhong
    Liu, Dawei
    [J]. ADVANCES IN COLLOID AND INTERFACE SCIENCE, 2008, 136 (1-2) : 45 - 64
  • [23] TEMPLATE-BASED METHODS FOR SENTENCE GENERATION AND SPEECH SYNTHESIS
    Segi, Hiroyuki
    Takou, Reiko
    Seiyama, Nobumasa
    Takagi, Tohru
    Saito, Hideo
    Ozawa, Shinji
    [J]. 2011 IEEE INTERNATIONAL CONFERENCE ON ACOUSTICS, SPEECH, AND SIGNAL PROCESSING, 2011, : 1757 - 1760
  • [24] Template-based synthesis of Ni nanorods on silicon substrate
    Jin, Xiaoyun
    Hu, Yan
    Wang, Yao
    Shen, Ruiqi
    Ye, Yinghua
    Wu, Lizhi
    Wang, Shouxu
    [J]. APPLIED SURFACE SCIENCE, 2012, 258 (07) : 2977 - 2981
  • [25] Fast Template-Based Heterogeneous MPSoC Synthesis on FPGA
    Corre, Youenn
    Diguet, Jean-Philippe
    Lagadec, Loic
    Heller, Dominique
    Blouin, Dominique
    [J]. RECONFIGURABLE COMPUTING: ARCHITECTURES, TOOLS AND APPLICATIONS, 2013, 7806 : 154 - 166
  • [26] Template-based Synthesis and Magnetic Properties of Cobalt Nanotube Arrays
    Li, Dongdong
    Thompson, Richard S.
    Bergmann, Gerd
    Lu, Jia G.
    [J]. ADVANCED MATERIALS, 2008, 20 (23) : 4575 - 4578
  • [27] Template-based synthesis of carbon nanofibres and their field emission characteristics
    Wu, QB
    Ren, S
    Deng, SZ
    Chen, J
    She, JC
    Xu, NS
    [J]. SURFACE AND INTERFACE ANALYSIS, 2004, 36 (5-6) : 493 - 496
  • [28] TEMPLATE-BASED SYNTHESIS OF INTEGRATED CARBON MICRO- AND NANOSTRUCTURES
    Scheibel, Olivia V.
    Lanza, David
    Schrlau, Michael G.
    [J]. PROCEEDINGS OF THE ASME INTERNATIONAL MECHANICAL ENGINEERING CONGRESS AND EXPOSITION, 2017 VOL 10, 2018,
  • [29] A program verification system based on Oz
    Dony, I
    Le Charlier, B
    [J]. MULTIPARADIGM PROGRAMMING IN MOZART/OZ, 2005, 3389 : 41 - 52
  • [30] Template-Based Synthesis of Nano/Micro Structures on a Semiconducting Substrate
    Kaur, Jaskiran
    Singh, Surinder
    Kanjilal, D.
    Chakarvarti, S. K.
    [J]. INTERNATIONAL JOURNAL OF POLYMERIC MATERIALS AND POLYMERIC BIOMATERIALS, 2013, 62 (02) : 91 - 94