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 条
  • [21] Flexible scheduling for non-deterministic, and-parallel execution of logic programs
    Shen, Kish
    Hermenegildo, Manuel
    Lecture Notes in Computer Science, 1996, 1124
  • [22] Deterministic and non-deterministic hypersubstitutions for algebraic systems
    Joomwong, Jintana
    Phusanga, Dara
    ASIAN-EUROPEAN JOURNAL OF MATHEMATICS, 2016, 9 (02)
  • [23] Non-deterministic computations in ELAN
    Kirchner, H
    Moreau, PE
    RECENT TRENDS IN ALGEBRAIC DEVELOPMENT TECHNIQUES, 1999, 1589 : 168 - 182
  • [24] Non-deterministic inductive definitions
    van den Berg, Benno
    ARCHIVE FOR MATHEMATICAL LOGIC, 2013, 52 (1-2): : 113 - 135
  • [25] Stability of Non-deterministic Systems
    Duarte, Pedro
    Torres, Maria Joana
    FROM PARTICLE SYSTEMS TO PARTIAL DIFFERENTIAL EQUATIONS II, 2015, 129 : 193 - 207
  • [26] A theory of non-deterministic networks
    Mishchenko, A
    Brayton, RK
    ICCAD-2003: IEEE/ACM DIGEST OF TECHNICAL PAPERS, 2003, : 709 - 716
  • [27] AlphaZero for a Non-deterministic Game
    Hsueh, Chu-Hsuan
    Wu, I-Chen
    Chen, Jr-Chang
    Hsu, Tsan-sheng
    2018 CONFERENCE ON TECHNOLOGIES AND APPLICATIONS OF ARTIFICIAL INTELLIGENCE (TAAI), 2018, : 116 - 121
  • [28] On non-deterministic supervisory control
    Fabian, M
    Lennartson, B
    PROCEEDINGS OF THE 35TH IEEE CONFERENCE ON DECISION AND CONTROL, VOLS 1-4, 1996, : 2213 - 2218
  • [29] Width of Non-Deterministic Automata
    Kuperberg, Denis
    Majumdar, Anirban
    35TH SYMPOSIUM ON THEORETICAL ASPECTS OF COMPUTER SCIENCE (STACS 2018), 2018, 96
  • [30] Non-deterministic inductive definitions
    Benno van den Berg
    Archive for Mathematical Logic, 2013, 52 : 113 - 135