Polynomial Invariant Generation for Non-deterministic Recursive Programs

被引:27
|
作者
Chatterjee, Krishnendu [1 ]
Fu, Hongfei [2 ]
Goharshady, Amir Kafshdar [1 ]
Goharshady, Ehsan Kafshdar [3 ]
机构
[1] IST Austria, Klosterneuburg, Austria
[2] Shanghai Jiao Tong Univ, Shanghai, Peoples R China
[3] Ferdowsi Univ Mashhad, Mashhad, Razavi Khorasan, Iran
来源
PROCEEDINGS OF THE 41ST ACM SIGPLAN CONFERENCE ON PROGRAMMING LANGUAGE DESIGN AND IMPLEMENTATION (PLDI '20) | 2020年
基金
奥地利科学基金会; 中国国家自然科学基金;
关键词
Invariant generation; Positivstellensatze; Polynomial programs; PROBABILISTIC PROGRAMS; VERIFICATION; TERMINATION; RELAXATION; INFERENCE; SYSTEMS;
D O I
10.1145/3385412.3385969
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
We consider the classical problem of invariant generation for programs with polynomial assignments and focus on synthesizing invariants that are a conjunction of strict polynomial inequalities. We present a sound and semi-complete method based on positivstellensatze, i.e. theorems in semi-algebraic geometry that characterize positive polynomials over a semi-algebraic set. On the theoretical side, the worst-case complexity of our approach is subexponential, whereas the worst-case complexity of the previous complete method (Kapur, ACA 2004) is doubly-exponential. Even when restricted to linear invariants, the best previous complexity for complete invariant generation is exponential (Colon et al, CAV 2003). On the practical side, we reduce the invariant generation problem to quadratic programming (QCLP), which is a classical optimization problem with many industrial solvers. We demonstrate the applicability of our approach by providing experimental results on several academic benchmarks. To the best of our knowledge, the only previous invariant generation method that provides completeness guarantees for invariants consisting of polynomial inequalities is (Kapur, ACA 2004), which relies on quantifier elimination and cannot even handle toy programs such as our running example.
引用
收藏
页码:672 / 687
页数:16
相关论文
共 50 条
  • [11] Weakest Precondition Inference for Non-Deterministic Linear Array Programs
    Prabhu, Sumanth S.
    D'Souza, Deepak
    Chakraborty, Supratik
    Venkatesh, R.
    Fedyukovich, Grigory
    TOOLS AND ALGORITHMS FOR THE CONSTRUCTION AND ANALYSIS OF SYSTEMS, PT II, TACAS 2024, 2024, 14571 : 175 - 195
  • [12] The Algebra of Non-deterministic Programs: Demonic Operations, Orders and Axioms
    Hirsch, Robin
    Mikulas, Szabolcs
    Stokes, Tim
    LOGIC JOURNAL OF THE IGPL, 2022, 30 (05) : 886 - 906
  • [13] Non-deterministic matrices
    Avron, A
    Lev, I
    34TH INTERNATIONAL SYMPOSIUM ON MULTIPLE-VALUED LOGIC, PROCEEDINGS, 2004, : 282 - 287
  • [14] Deterministic and non-deterministic stable models
    Sacca, D
    Zaniolo, C
    JOURNAL OF LOGIC AND COMPUTATION, 1997, 7 (05) : 555 - 579
  • [15] NON-DETERMINISTIC FORTRAN
    COHEN, J
    CARTON, E
    COMPUTER JOURNAL, 1974, 17 (01): : 44 - 51
  • [16] Non-deterministic processors
    May, D
    Muller, HL
    Smart, NP
    INFORMATION SECURITY AND PRIVACY, PROCEEDINGS, 2001, 2119 : 115 - 129
  • [17] On Non-Deterministic Quantification
    Ferguson, Thomas Macaulay
    LOGICA UNIVERSALIS, 2014, 8 (02) : 165 - 191
  • [18] NON-DETERMINISTIC ALGORITHMS
    COHEN, J
    COMPUTING SURVEYS, 1979, 11 (02) : 79 - 94
  • [19] A novel framework for non-deterministic testing of message-passing programs
    Lei, Y
    Wong, E
    NINTH IEEE INTERNATIONAL SYMPOSIUM ON HIGH-ASSURANCE SYSTEMS ENGINEERING, 2005, : 66 - 75
  • [20] On the termination of non-deterministic programs based on the equivalent transformation computation model
    Takarajima, I
    Akama, K
    Shigeta, Y
    Imani, I
    MSV'04 & AMCS'04, PROCEEDINGS, 2004, : 391 - 395