skip to main content
research-article
Open access
Just Accepted

Synthesizing Invariants for Polynomial Programs by Semidefinite Programming

Online AM: 18 December 2024 Publication History

Abstract

Constraint-solving-based program invariant synthesis takes a parametric invariant template and encodes the (inductive) invariant conditions into constraints. The problem of characterizing the set of all valid parameter assignments is referred to as the strong invariant synthesis problem, while the problem of finding a concrete valid parameter assignment is called the weak invariant synthesis problem. For both problems, the challenge lies in solving or reducing the encoded constraints, which are generally non-convex and lack efficient solvers.
In this paper, we propose two novel algorithms for synthesizing invariants of polynomial programs using semidefinite programming (SDP): (1) The Cluster algorithm targets the strong invariant synthesis problem for polynomial invariant templates. Leveraging robust optimization techniques, it solves a series of SDP relaxations and yields a sequence of increasingly precise under-approximations of the set of valid parameter assignments. We prove the algorithm’s soundness, convergence, and weak completeness under a specific robustness assumption on templates. Moreover, the outputs can simplify the weak invariant synthesis problem. (2) The Mask algorithm addresses the weak invariant synthesis problem in scenarios where the aforementioned robustness assumption does not hold, rendering the Cluster algorithm ineffective. It identifies a specific subclass of invariant templates, termed masked templates, involving parameterized polynomial equalities and known inequalities. By applying variable substitution, the algorithm transforms constraints into an equivalent form amenable to SDP relaxations. Both algorithms have been implemented and demonstrated superior performance compared to state-of-the-art methods in our empirical evaluation.

References

[1]
Assalé Adjé, Pierre-Loïc Garoche, and Victor Magron. 2015. Property-based Polynomial Invariant Generation Using Sums-of-Squares Optimization. In Static Analysis - 22nd International Symposium (Lecture Notes in Computer Science, Vol. 9291). Springer, 235–251. https://doi.org/10.1007/978-3-662-48288-9_14
[2]
Assalé Adjé, Stéphane Gaubert, and Eric Goubault. 2012. Coupling policy iteration with semi-definite relaxation to compute accurate numerical invariants in static analysis. Logical Methods in Computer Science 8, 1 (2012). https://doi.org/10.2168/LMCS-8(1:1)2012
[3]
Daneshvar Amrollahi, Ezio Bartocci, George Kenison, Laura Kovács, Marcel Moosbrugger, and Miroslav Stankovic. 2022. Solving Invariant Generation for Unsolvable Loops. In Static Analysis - 29th International Symposium, SAS 2022, Auckland, New Zealand, December 5-7, 2022, Proceedings (Lecture Notes in Computer Science, Vol. 13790). Springer, 19–43. https://doi.org/10.1007/978-3-031-22308-2_3
[4]
Mahathi Anand, Vishnu Murali, Ashutosh Trivedi, and Majid Zamani. 2021. Safety Verification of Dynamical Systems via k-Inductive Barrier Certificates. In 2021 60th IEEE Conference on Decision and Control. IEEE, 1314–1320. https://doi.org/10.1109/CDC45484.2021.9682889
[5]
Erling D. Andersen, Cornelis Roos, and Tamás Terlaky. 2003. On implementing a primal-dual interior-point method for conic quadratic optimization. Mathematical Programming 95, 2 (2003), 249–277.
[6]
MOSEK ApS. 2019. The MOSEK optimization toolbox for MATLAB manual. Version 9.0. http://docs.mosek.com/9.0/toolbox/index.html
[7]
Roberto Bagnara, Enric Rodríguez-Carbonell, and Enea Zaffanella. 2005. Generation of Basic Semi-algebraic Invariants Using Convex Polyhedra. In Static Analysis, 12th International Symposium (Lecture Notes in Computer Science, Vol. 3672). Springer, 19–34. https://doi.org/10.1007/11547662_4
[8]
Jialu Bao, Nitesh Trivedi, Drashti Pathak, Justin Hsu, and Subhajit Roy. 2022. Data-Driven Invariant Learning for Probabilistic Programs. In Computer Aided Verification - 34th International Conference (Lecture Notes in Computer Science, Vol. 13371). Springer, Haifa, Israel, 33–54. https://doi.org/10.1007/978-3-031-13185-1_3
[9]
Kevin Batz, Mingshuai Chen, Sebastian Junges, Benjamin Lucien Kaminski, Joost-Pieter Katoen, and Christoph Matheja. 2023. Probabilistic Program Verification via Inductive Synthesis of Inductive Invariants. In Tools and Algorithms for the Construction and Analysis of Systems - 29th International Conference (Lecture Notes in Computer Science, Vol. 13994). Springer, Paris, France, 410–429. https://doi.org/10.1007/978-3-031-30820-8_25
[10]
Martin Blicha, Grigory Fedyukovich, Antti E. J. Hyvärinen, and Natasha Sharygina. 2022. Transition Power Abstractions for Deep Counterexample Detection. In Tools and Algorithms for the Construction and Analysis of Systems - 28th International Conference, TACAS 2022 (Lecture Notes in Computer Science, Vol. 13243). Springer, 524–542. https://doi.org/10.1007/978-3-030-99524-9_29
[11]
Vincent Blondel and John N. Tsitsiklis. 1995. NP-hardness of some linear control design problems. In CDC, Vol. 3. 2910–2915 vol.3. https://doi.org/10.1109/CDC.1995.478584
[12]
Jacek Bochnak, Michel Coste, and Marie-Françoise Roy. 1998. Real algebraic geometry. Vol. 36. Springer Science & Business Media.
[13]
Stephen Boyd, Stephen P Boyd, and Lieven Vandenberghe. 2004. Convex optimization. Cambridge university press.
[14]
Krishnendu Chatterjee, Hongfei Fu, Amir Kafshdar Goharshady, and Ehsan Kafshdar Goharshady. 2020. Polynomial invariant generation for non-deterministic recursive programs. In Proceedings of the 41st ACM SIGPLAN International Conference on Programming Language Design and Implementation. ACM, 672–687. https://doi.org/10.1145/3385412.3385969
[15]
Yu-Fang Chen, Chih-Duo Hong, Bow-Yaw Wang, and Lijun Zhang. 2015. Counterexample-Guided Polynomial Loop Invariant Generation by Lagrange Interpolation. In Computer Aided Verification - 27th International Conference (Lecture Notes in Computer Science, Vol. 9206). Springer, San Francisco, CA, USA, 658–674. https://doi.org/10.1007/978-3-319-21690-4_44
[16]
Alessandro Cimatti, Alberto Griggio, Sergio Mover, and Stefano Tonetta. 2016. Infinite-state invariant checking with IC3 and predicate abstraction. Formal Methods Syst. Des. 49, 3 (2016), 190–218. https://doi.org/10.1007/s10703-016-0257-4
[17]
Michael Colón, Sriram Sankaranarayanan, and Henny Sipma. 2003. Linear Invariant Generation Using Non-linear Constraint Solving. In Computer Aided Verification, 15th International Conference (Lecture Notes in Computer Science, Vol. 2725). Springer, 420–432. https://doi.org/10.1007/978-3-540-45069-6_39
[18]
Patrick Cousot. 2005. Proving Program Invariance and Termination by Parametric Abstraction, Lagrangian Relaxation and Semidefinite Programming. In Verification, Model Checking, and Abstract Interpretation, 6th International Conference (Lecture Notes in Computer Science, Vol. 3385). Springer, 1–24. https://doi.org/10.1007/978-3-540-30579-8_1
[19]
John Cyphert and Zachary Kincaid. 2024. Solvable Polynomial Ideals: The Ideal Reflection for Program Analysis. Proc. ACM Program. Lang. 8, POPL (2024), 724–752. https://doi.org/10.1145/3632867
[20]
Liyun Dai, Ting Gan, Bican Xia, and Naijun Zhan. 2017. Barrier certificates revisited. Journal of Symbolic Computation 80 (2017), 62–86.
[21]
Liyun Dai, Bican Xia, and Naijun Zhan. 2013. Generating Non-linear Interpolants by Semidefinite Programming. In Computer Aided Verification - 25th International Conference (Lecture Notes in Computer Science, Vol. 8044). Springer, 364–380. https://doi.org/10.1007/978-3-642-39799-8_25
[22]
James H Davenport and Joos Heintz. 1988. Real quantifier elimination is doubly exponential. Journal of Symbolic Computation 5, 1-2 (1988), 29–35.
[23]
Leonardo Mendonça de Moura and Nikolaj S. Bjørner. 2008. Z3: An Efficient SMT Solver. In Tools and Algorithms for the Construction and Analysis of Systems, 14th International Conference (Lecture Notes in Computer Science, Vol. 4963). Springer, 337–340. https://doi.org/10.1007/978-3-540-78800-3_24
[24]
Isil Dillig, Thomas Dillig, Boyang Li, and Kenneth L. McMillan. 2013. Inductive invariant generation via abductive inference. In Proceedings of the 2013 ACM SIGPLAN International Conference on Object Oriented Programming Systems Languages & Applications. ACM, 443–456. https://doi.org/10.1145/2509136.2509511
[25]
Andreas Dolzmann and Thomas Sturm. 1996. Redlog user manual.
[26]
Azadeh Farzan and Zachary Kincaid. 2015. Compositional Recurrence Analysis. In Formal Methods in Computer-Aided Design. IEEE, 57–64. https://doi.org/10.1109/FMCAD.2015.7542253
[27]
Robert W Floyd. 1967. Assigning meanings to programs. Mathematical Aspects of Computer Science 19, 19-32 (1967), 1.
[28]
Ting Gan, Liyun Dai, Bican Xia, Naijun Zhan, Deepak Kapur, and Mingshuai Chen. 2016. Interpolant Synthesis for Quadratic Polynomial Inequalities and Combination with EUF. In Automated Reasoning - 8th International Joint Conference (Lecture Notes in Computer Science, Vol. 9706). Springer, 195–212. https://doi.org/10.1007/978-3-319-40229-1_14
[29]
Ting Gan, Bican Xia, Bai Xue, Naijun Zhan, and Liyun Dai. 2020. Nonlinear Craig Interpolant Generation. In Computer Aided Verification - 32nd International Conference (Lecture Notes in Computer Science, Vol. 12224). Springer, 415–438. https://doi.org/10.1007/978-3-030-53288-8_20
[30]
Amir Kafshdar Goharshady, S. Hitarth, Fatemeh Mohammadi, and Harshit J. Motwani. 2023. Algebro-geometric Algorithms for Template-Based Synthesis of Polynomial Programs. Proceedings of the ACM on Programming Languages 7, OOPSLA1 (2023), 727–756. https://doi.org/10.1145/3586052
[31]
Gene H. Golub and Charles F. Van Loan. 1996. Matrix Computations, Third Edition. Johns Hopkins University Press.
[32]
Jingxuan He, Gagandeep Singh, Markus Püschel, and Martin T. Vechev. 2020. Learning fast and precise numerical analysis. In Proceedings of the 41st ACM SIGPLAN International Conference on Programming Language Design and Implementation. ACM, 1112–1127. https://doi.org/10.1145/3385412.3386016
[33]
Didier Henrion, Simone Naldi, and Mohab Safey El Din. 2019. SPECTRA - a Maple library for solving linear matrix inequalities in exact arithmetic. Optim. Methods Softw. 34, 1 (2019), 62–78. https://doi.org/10.1080/10556788.2017.1341505
[34]
Didier Henrion, Simone Naldi, and Mohab Safey El Din. 2021. Exact algorithms for semidefinite programs with degenerate feasible set. Journal of Symbolic Computation 104 (2021), 942–959. https://doi.org/10.1016/j.jsc.2020.11.001
[35]
Charles Antony Richard Hoare. 1969. An axiomatic basis for computer programming. Commun. ACM 12, 10 (1969), 576–580.
[36]
Hossein Hojjat and Philipp Rümmer. 2018. The ELDARICA Horn Solver. In Formal Methods in Computer Aided Design, FMCAD 2018. IEEE, 1–7. https://doi.org/10.23919/FMCAD.2018.8603013
[37]
Ehud Hrushovski, Joël Ouaknine, Amaury Pouly, and James Worrell. 2018. Polynomial Invariants for Affine Programs. In Proceedings of the 33rd Annual ACM/IEEE Symposium on Logic in Computer Science. ACM, 530–539. https://doi.org/10.1145/3209108.3209142
[38]
Ehud Hrushovski, Joël Ouaknine, Amaury Pouly, and James Worrell. 2023. On Strongest Algebraic Program Invariants. J. ACM 70, 5 (2023), 29:1–29:22. https://doi.org/10.1145/3614319
[39]
Lei Huang, Jiawang Nie, and Ya-Xiang Yuan. 2023. Homogenization for polynomial optimization with unbounded sets. Mathematical Programming 200, 1 (2023), 105–145. https://doi.org/10.1007/s10107-022-01878-5
[40]
Andreas Humenberger, Maximilian Jaroschek, and Laura Kovács. 2018. Invariant Generation for Multi-Path Loops with Polynomial Assignments. In Verification, Model Checking, and Abstract Interpretation - 19th International (Lecture Notes in Computer Science, Vol. 10747). Springer, 226–246. https://doi.org/10.1007/978-3-319-73721-8_11
[41]
Mioara Joldes, Jean-Michel Muller, and Valentina Popescu. 2017. Implementation and Performance Evaluation of an Extended Precision Floating-Point Arithmetic Library for High-Accuracy Semidefinite Programming. In 24th IEEE Symposium on Computer Arithmetic. IEEE Computer Society, 27–34. https://doi.org/10.1109/ARITH.2017.18
[42]
Erich L. Kaltofen, Bin Li, Zhengfeng Yang, and Lihong Zhi. 2012. Exact certification in global polynomial optimization via sums-of-squares of rational functions with rational coefficients. J. Symb. Comput. 47, 1 (2012), 1–15. https://doi.org/10.1016/J.JSC.2011.08.002
[43]
Deepak Kapur. 2005. Automatically Generating Loop Invariants Using Quantifier Elimination. In Deduction and Applications, 23.-28. October 2005 (Dagstuhl Seminar Proceedings, Vol. 05431). Internationales Begegnungs- und Forschungszentrum für Informatik (IBFI), Schloss Dagstuhl, Germany. http://drops.dagstuhl.de/opus/volltexte/2006/511
[44]
Michael Karr. 1976. Affine relationships among variables of a program. Acta informatica 6, 2 (1976), 133–151.
[45]
Zachary Kincaid, John Cyphert, Jason Breck, and Thomas W. Reps. 2018. Non-linear reasoning for invariant synthesis. Proceedings of the ACM on Programming Languages 2, POPL (2018), 54:1–54:33. https://doi.org/10.1145/3158142
[46]
Jason R. Koenig, Oded Padon, Sharon Shoham, and Alex Aiken. 2022. Inferring Invariants with Quantifier Alternations: Taming the Search Space Explosion. In Tools and Algorithms for the Construction and Analysis of Systems - 28th International Conference (Lecture Notes in Computer Science, Vol. 13243). Springer, 338–356. https://doi.org/10.1007/978-3-030-99524-9_18
[47]
Anvesh Komuravelli, Arie Gurfinkel, and Sagar Chaki. 2014. SMT-Based Model Checking for Recursive Programs. In Computer Aided Verification - 26th International Conference, CAV 2014 (Lecture Notes in Computer Science, Vol. 8559). Springer, 17–34. https://doi.org/10.1007/978-3-319-08867-9_2
[48]
Laura Kovács. 2008. Reasoning Algebraically About P-Solvable Loops. In Tools and Algorithms for the Construction and Analysis of Systems, 14th International Conference, TACAS 2008 (Lecture Notes in Computer Science, Vol. 4963). Springer, 249–264. https://doi.org/10.1007/978-3-540-78800-3_18
[49]
Jean Bernard Lasserre. 2000. Global Optimization with Polynomials and the Problem of Moments. SIAM Journal on Optimization 11 (2000), 796–817. https://api.semanticscholar.org/CorpusID:16740871
[50]
Jean Bernard Lasserre. 2009. Moments, positive polynomials and their applications. Vol. 1. World Scientific.
[51]
Jean B Lasserre. 2015. Tractable approximations of sets defined with quantifiers. Mathematical Programming 151, 2 (2015), 507–527.
[52]
Jean B. Lasserre and Mihai Putinar. 2010. Positivity and Optimization for Semi-Algebraic Functions. SIAM J. Optim. 20, 6 (2010), 3364–3383. https://doi.org/10.1137/090775221
[53]
Jean B Lasserre and Mihai Putinar. 2012. Positivity and optimization: beyond polynomials. In Handbook on Semidefinite, Conic and Polynomial Optimization. Springer, 407–434.
[54]
Shang-Wei Lin, Jun Sun, Hao Xiao, Yang Liu, David Sanán, and Henri Hansen. 2017. FiB: squeezing loop invariants by interpolation between Forward/Backward predicate transformers. In Proceedings of the 32nd IEEE/ACM International Conference on Automated Software Engineering. IEEE Computer Society, 793–803. https://doi.org/10.1109/ASE.2017.8115690
[55]
Shang-Wei Lin, Jun Sun, Hao Xiao, Yang Liu, David Sanán, and Henri Hansen. 2017. FiB: squeezing loop invariants by interpolation between Forward/Backward predicate transformers. In Proceedings of the 32nd IEEE/ACM International Conference on Automated Software Engineering. IEEE Computer Society, 793–803. https://doi.org/10.1109/ASE.2017.8115690
[56]
Wang Lin, Min Wu, Zhengfeng Yang, and Zhenbing Zeng. 2014. Proving total correctness and generating preconditions for loop programs via symbolic-numeric computation methods. Frontiers of Computer Science 8, 2 (2014), 192–202. https://doi.org/10.1007/s11704-014-3150-6
[57]
Hongming Liu, Hongfei Fu, Zhiyong Yu, Jiaxin Song, and Guoqiang Li. 2022. Scalable linear invariant generation with Farkas’ lemma. Proceedings of the ACM on Programming Languages 6, OOPSLA2 (2022), 204–232. https://doi.org/10.1145/3563295
[58]
J. Löfberg. 2004. YALMIP: A toolbox for modeling and optimization in MATLAB. In CACSD’04. 284–289.
[59]
Ngoc Hoang Anh Mai, Jean-Bernard Lasserre, and Victor Magron. 2022. Positivity certificates and polynomial optimization on non-compact semialgebraic sets. Mathematical Programming 194, 1 (2022), 443–485. https://doi.org/10.1007/s10107-021-01634-1
[60]
Murray Marshall. 2008. Positive polynomials and sums of squares. Number 146. American Mathematical Soc.
[61]
Kenneth L. McMillan. 2003. Interpolation and SAT-Based Model Checking. In Computer Aided Verification, 15th International Conference, CAV 2003 (Lecture Notes in Computer Science, Vol. 2725). Springer, 1–13. https://doi.org/10.1007/978-3-540-45069-6_1
[62]
Kenneth L. McMillan. 2006. Lazy Abstraction with Interpolants. In Computer Aided Verification, 18th International Conference, CAV 2006 (Lecture Notes in Computer Science, Vol. 4144). Springer, 123–136. https://doi.org/10.1007/11817963_14
[63]
Markus Müller-Olm and Helmut Seidl. 2004. Computing polynomial program invariants. Inform. Process. Lett. 91, 5 (2004), 233–244. https://doi.org/10.1016/j.ipl.2004.05.004
[64]
Markus Müller-Olm and Helmut Seidl. 2004. A Note on Karr's Algorithm. In Automata, Languages and Programming: 31st International Colloquium (Lecture Notes in Computer Science, Vol. 3142). Springer, 1016–1028. https://doi.org/10.1007/978-3-540-27836-8_85
[65]
Julian Müllner, Marcel Moosbrugger, and Laura Kovács. 2024. Strong Invariants Are Hard: On the Hardness of Strongest Polynomial Invariants for (Probabilistic) Programs. Proc. ACM Program. Lang. 8, POPL (2024), 882–910. https://doi.org/10.1145/3632872
[66]
Peter Naur. 1966. Proof of algorithms by general snapshots. BIT Numerical Mathematics 6, 4 (1966), 310–316.
[67]
Jiawang Nie. 2014. Optimality conditions and finite convergence of Lasserre's hierarchy. Mathematical programming 146 (2014), 97–121.
[68]
Oded Padon, James R. Wilcox, Jason R. Koenig, Kenneth L. McMillan, and Alex Aiken. 2022. Induction duality: primal-dual search for invariants. Proceedings of the ACM on Programming Languages 6, POPL (2022), 1–29. https://doi.org/10.1145/3498712
[69]
Pablo A Parrilo. 2000. Structured semidefinite programs and semialgebraic geometry methods in robustness and optimization. California Institute of Technology.
[70]
Mihai Putinar. 1993. Positive polynomials on compact semi-algebraic sets. Indiana University Mathematics Journal 42, 3 (1993), 969–984.
[71]
Enric Rodríguez-Carbonell. 2016. Some programs that need polynomial invariants in order to be verified. https://www.cs.upc.edu/erodri/webpage/polynomial_invariants/list.html
[72]
Enric Rodríguez-Carbonell and Deepak Kapur. 2004. An Abstract Interpretation Approach for Automatic Generation of Polynomial Invariants. In Static Analysis, 11th International Symposium (Lecture Notes in Computer Science, Vol. 3148). Springer, 280–295. https://doi.org/10.1007/978-3-540-27864-1_21
[73]
Enric Rodríguez-Carbonell and Deepak Kapur. 2004. Automatic generation of polynomial loop invariants: Algebraic foundations. In Proceedings of the 2004 international symposium on Symbolic and algebraic computation. 266–273.
[74]
Enric Rodríguez-Carbonell and Deepak Kapur. 2007. Automatic generation of polynomial invariants of bounded degree using abstract interpretation. Science of Computer Programming 64, 1 (2007), 54–75.
[75]
Enric Rodríguez-Carbonell and Deepak Kapur. 2007. Generating all polynomial invariants in simple loops. Journal of Symbolic Computation 42, 4 (2007), 443–476.
[76]
Pierre Roux, Yuen-Lam Voronin, and Sriram Sankaranarayanan. 2018. Validating numerical semidefinite programming solvers for polynomial invariants. Formal Methods in System Design 53, 2 (2018), 286–312.
[77]
Sartaj Sahni. 1974. Computationally Related Problems. SIAM J. Comput. 3, 4 (1974), 262–279. https://doi.org/10.1137/0203021
[78]
Sriram Sankaranarayanan, Henny Sipma, and Zohar Manna. 2004. Constructing Invariants for Hybrid Systems. In Hybrid Systems: Computation and Control, 7th International Workshop (Lecture Notes in Computer Science, Vol. 2993). Springer, 539–554. https://doi.org/10.1007/978-3-540-24743-2_36
[79]
Sriram Sankaranarayanan, Henny B. Sipma, and Zohar Manna. 2004. Constraint-Based Linear-Relations Analysis. In Static Analysis, 11th International Symposium (Lecture Notes in Computer Science, Vol. 3148). Springer, 53–68. https://doi.org/10.1007/978-3-540-27864-1_7
[80]
Mohamed Amin Ben Sassi and Antoine Girard. 2012. Controller synthesis for robust invariance of polynomial dynamical systems using linear programming. Systems & control letters 61, 4 (2012), 506–512.
[81]
Rahul Sharma and Alex Aiken. 2014. From Invariant Checking to Invariant Inference Using Randomized Search. In Computer Aided Verification - 26th International Conference (Lecture Notes in Computer Science, Vol. 8559). Springer, 88–105. https://doi.org/10.1007/978-3-319-08867-9_6
[82]
Xujie Si, Aaditya Naik, Hanjun Dai, Mayur Naik, and Le Song. 2020. Code2Inv: A Deep Learning Framework for Program Verification. In Computer Aided Verification - 32nd International Conference (Lecture Notes in Computer Science, Vol. 12225). Springer, 151–164. https://doi.org/10.1007/978-3-030-53291-8_9
[83]
Alfred Tarski. 1951. A decision method for elementary algebra and geometry. University of California Press, Berkeley.
[84]
Onur Toker and Hitay Özbay. 1995. On the NP-hardness of solving bilinear matrix inequalities and simultaneous stabilization with static output feedback. In ACC, Vol. 4. 2525–2526. https://doi.org/10.1109/ACC.1995.532300
[85]
Chenglin Wang and Fangzhen Lin. 2024. On Polynomial Expressions with C-Finite Recurrences in Loops with Nested Nondeterministic Branches. In Computer Aided Verification - 36th International Conference, CAV 2024 (Lecture Notes in Computer Science, Vol. 14681). Springer, 409–430. https://doi.org/10.1007/978-3-031-65627-9_20
[86]
Qiuye Wang, Mingshuai Chen, Bai Xue, Naijun Zhan, and Joost-Pieter Katoen. 2021. Synthesizing Invariant Barrier Certificates via Difference-of-Convex Programming. In Computer Aided Verification - 33rd International Conference, CAV 2021, Virtual Event, July 20-23, 2021, Proceedings, Part I (Lecture Notes in Computer Science, Vol. 12759). Springer, 443–466.
[87]
Qiuye Wang, Mingshuai Chen, Bai Xue, Naijun Zhan, and Joost-Pieter Katoen. 2022. Encoding inductive invariants as barrier certificates: Synthesis via difference-of-convex programming. Information and Computation 289, Part (2022), 104965. https://doi.org/10.1016/j.ic.2022.104965
[88]
Hao Wu, Shenghua Feng, Ting Gan, Jie Wang, Bican Xia, and Naijun Zhan. 2024. On Completeness of SDP-Based Barrier Certificate Synthesis over Unbounded Domains. In FM (2) (Lecture Notes in Computer Science, Vol. 14934). Springer, 248–266. https://doi.org/10.1007/978-3-031-71177-0_16
[89]
Hao Wu, Jie Wang, Bican Xia, Xiakun Li, Naijun Zhan, and Ting Gan. 2024. Nonlinear Craig Interpolant Generation Over Unbounded Domains by Separating Semialgebraic Sets. In FM (1) (Lecture Notes in Computer Science, Vol. 14933). Springer, 92–110. https://doi.org/10.1007/978-3-031-71162-6_5
[90]
Lu Yang, Chaochen Zhou, Naijun Zhan, and Bican Xia. 2010. Recent advances in program verification through computer algebra. Frontiers of Computer Science in China 4, 1 (2010), 1–16. https://doi.org/10.1007/s11704-009-0074-7
[91]
Jianan Yao, Gabriel Ryan, Justin Wong, Suman Jana, and Ronghui Gu. 2020. Learning nonlinear loop invariants with gated continuous logic networks. In Proceedings of the 41st ACM SIGPLAN Conference on Programming Language Design and Implementation. 106–120.
[92]
Shiwen Yu, Ting Wang, and Ji Wang. 2023. Loop Invariant Inference through SMT Solving Enhanced Reinforcement Learning. In Proceedings of the 32nd ACM SIGSOFT International Symposium on Software Testing and Analysis. ACM, 175–187. https://doi.org/10.1145/3597926.3598047

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Transactions on Programming Languages and Systems
ACM Transactions on Programming Languages and Systems Just Accepted
EISSN:1558-4593
Table of Contents
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Online AM: 18 December 2024
Accepted: 30 November 2024
Revised: 07 September 2024
Received: 23 August 2023

Check for updates

Author Tags

  1. program verification
  2. invariant synthesis
  3. sum-of-squares relaxations
  4. semidefinite programming

Qualifiers

  • Research-article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 18
    Total Downloads
  • Downloads (Last 12 months)18
  • Downloads (Last 6 weeks)18
Reflects downloads up to 25 Dec 2024

Other Metrics

Citations

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Login options

Full Access

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media