Symbolic Execution with Existential Second-Order Constraints

被引:22
|
作者
Mechtaev, Sergey [1 ]
Griggio, Alberto [2 ]
Cimatti, Alessandro [2 ]
Roychoudhury, Abhik [1 ]
机构
[1] Natl Univ Singapore, Singapore, Singapore
[2] Fdn Bruno Kessler, Trento, Italy
基金
新加坡国家研究基金会;
关键词
Program synthesis; Program repair; Library modelling;
D O I
10.1145/3236024.3236049
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Symbolic execution systematically explores program paths by solving path conditions - formulas over symbolic variables. Typically, the symbolic variables range over numbers, arrays and strings. We introduce symbolic execution with existential second-order constraints - an extension of traditional symbolic execution that allows symbolic variables to range over functions whose interpretations are restricted by a user-defined language. The aims of this new technique are twofold. First, it offers a general analysis framework that can be applied in multiple domains such as program repair and library modelling. Secondly, it addresses the path explosion problem of traditional first-order symbolic execution in certain applications. To realize this technique, we integrate symbolic execution with program synthesis. Specifically, we propose a method of second-order constraint solving that provides efficient proofs of unsatisfiability, which is critical for the performance of symbolic execution. Our evaluation shows that the proposed technique (1) helps to repair programs with loops by mitigating the path explosion, (2) can enable analysis of applications written against unavailable libraries by modelling these libraries from the usage context.
引用
收藏
页码:389 / 399
页数:11
相关论文
共 50 条
  • [1] Existential second-order logic over strings
    Eiter, T
    Gottlob, G
    Gurevich, Y
    THIRTEENTH ANNUAL IEEE SYMPOSIUM ON LOGIC IN COMPUTER SCIENCE, PROCEEDINGS, 1998, : 16 - 27
  • [2] Existential second-order logic over strings
    Eiter, T
    Gottlob, G
    Gurevich, Y
    JOURNAL OF THE ACM, 2000, 47 (01) : 77 - 131
  • [3] Padding and the expressive power of existential second-order logics
    Schwentick, T
    COMPUTER SCIENCE LOGIC, 1998, 1414 : 461 - 477
  • [4] Second-order logic: properties, semantics, and existential commitments
    Bob Hale
    Synthese, 2019, 196 : 2643 - 2669
  • [5] ASNP: A Tame Fragment of Existential Second-Order Logic
    Bodirsky, Manuel
    Knauer, Simon
    Starke, Florian
    BEYOND THE HORIZON OF COMPUTABILITY, CIE 2020, 2020, 12098 : 149 - 162
  • [6] Second-order logic: properties, semantics, and existential commitments
    Hale, Bob
    SYNTHESE, 2019, 196 (07) : 2643 - 2669
  • [7] Symbolic computation on a second-order KdV equation
    Lee, C. T.
    Lee, C. C.
    JOURNAL OF SYMBOLIC COMPUTATION, 2016, 74 : 70 - 95
  • [8] On A Second-Order Differential Inclusion With Constraints
    Cernea, Aurelian
    APPLIED MATHEMATICS E-NOTES, 2007, 7 : 9 - 15
  • [9] Simple saturated sets for disjunction and second-order existential quantification
    Tatsuta, Makoto
    TYPED LAMBDA CALCULI AND APPLICATIONS, PROCEEDINGS, 2007, 4583 : 366 - 380
  • [10] Symbolic Reachability Computation of A Class of Second-Order Systems
    Xu, Ming
    Chen, Liangyu
    Li, Zhi-bin
    ICIA: 2009 INTERNATIONAL CONFERENCE ON INFORMATION AND AUTOMATION, VOLS 1-3, 2009, : 1311 - 1314