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 条
  • [1] Lifting CDCL to Template-Based Abstract Domains for Program Verification
    Mukherjee, Rajdeep
    Schrammel, Peter
    Haller, Leopold
    Kroening, Daniel
    Melham, Tom
    [J]. AUTOMATED TECHNOLOGY FOR VERIFICATION AND ANALYSIS (ATVA 2017), 2017, 10482 : 307 - 326
  • [2] Template-based Neural Program Repair
    Meng, Xiangxin
    Wang, Xu
    Zhang, Hongyu
    Sun, Hailong
    Liu, Xudong
    Hu, Chunming
    [J]. 2023 IEEE/ACM 45TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, ICSE, 2023, : 1456 - 1468
  • [3] TBar: Revisiting Template-Based Automated Program Repair
    Liu, Kui
    Koyuncu, Anil
    Kim, Dongsun
    Bissyande, Tegawende F.
    [J]. PROCEEDINGS OF THE 28TH ACM SIGSOFT INTERNATIONAL SYMPOSIUM ON SOFTWARE TESTING AND ANALYSIS (ISSTA '19), 2019, : 31 - 42
  • [4] Template-based Synthesis of Instruction-Level Abstractions for SoC Verification
    Subramanyan, Pramod
    Vizel, Yakir
    Ray, Sayak
    Malik, Sharad
    [J]. PROCEEDINGS OF THE 15TH CONFERENCE ON FORMAL METHODS IN COMPUTER-AIDED DESIGN (FMCAD 2015), 2015, : 160 - 167
  • [5] Template-based synthesis of nanostructures
    Wong, Stanislaus S.
    [J]. ABSTRACTS OF PAPERS OF THE AMERICAN CHEMICAL SOCIETY, 2010, 239
  • [6] Template-based synthesis of nanomaterials
    A. Huczko
    [J]. Applied Physics A, 2000, 70 : 365 - 376
  • [7] Template-based synthesis of nanomaterials
    Huczko, A
    [J]. APPLIED PHYSICS A-MATERIALS SCIENCE & PROCESSING, 2000, 70 (04): : 365 - 376
  • [8] From Program Verification to Program Synthesis
    Srivastava, Saurabh
    Gulwani, Sumit
    Foster, Jeffrey S.
    [J]. ACM SIGPLAN NOTICES, 2010, 45 (01) : 313 - 326
  • [9] From Program Verification to Program Synthesis
    Srivastava, Saurabh
    Gulwani, Sumit
    Foster, Jeffrey S.
    [J]. POPL'10: PROCEEDINGS OF THE 37TH ANNUAL ACM SIGPLAN-SIGACT SYMPOSIUM ON PRINCIPLES OF PROGRAMMING LANGUAGES, 2010, : 313 - 326
  • [10] GAMMA: Revisiting Template-based Automated Program Repair via Mask Prediction
    Zhang, Quanjun
    Fang, Chunrong
    Zhang, Tongke
    Yu, Bowen
    Sun, Weisong
    Chen, Zhenyu
    [J]. 2023 38TH IEEE/ACM INTERNATIONAL CONFERENCE ON AUTOMATED SOFTWARE ENGINEERING, ASE, 2023, : 535 - 547