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 条
  • [31] Fuzzy and non-deterministic automata
    J. Močkoř
    Soft Computing, 1999, 3 (4) : 221 - 226
  • [32] Preference and Non-deterministic Choice
    Stoddart, Bill
    Zeyda, Frank
    Dunne, Steve
    THEORETICAL ASPECTS OF COMPUTING, 2010, 6255 : 137 - +
  • [33] Non-deterministic structures of computation
    Fu, Yuxi
    MATHEMATICAL STRUCTURES IN COMPUTER SCIENCE, 2015, 25 (06) : 1295 - 1338
  • [34] Squeeziness for non-deterministic systems
    Ibias, Alfredo
    Nunez, Manuel
    INFORMATION AND SOFTWARE TECHNOLOGY, 2023, 158
  • [35] NON-DETERMINISTIC KLEENE COALGEBRAS
    Silva, Alexandra
    Bonsangue, Marcello
    Rutten, Jan
    LOGICAL METHODS IN COMPUTER SCIENCE, 2010, 6 (03) : 1 - 39
  • [36] Non-deterministic social laws
    Coen, MH
    SEVENTEENTH NATIONAL CONFERENCE ON ARTIFICIAL INTELLIGENCE (AAAI-2001) / TWELFTH INNOVATIVE APPLICATIONS OF ARTIFICIAL INTELLIGENCE CONFERENCE (IAAI-2000), 2000, : 15 - 21
  • [38] Non-deterministic structures of computation
    Fu, Yuxi, 1600, Cambridge University Press (29):
  • [39] NETWORKS OF NON-DETERMINISTIC AUTOMATA
    ZECH, KA
    KYBERNETIKA, 1976, 12 (02) : 86 - 102
  • [40] On Learning Polynomial Recursive Programs
    Buna-Marginean, Alex
    Cheval, Vincent
    Shirmohammadi, Mahsa
    Worrell, James
    PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2024, 8 (POPL):