Papers
Topics
Authors
Recent
Gemini 2.5 Flash
Gemini 2.5 Flash
139 tokens/sec
GPT-4o
7 tokens/sec
Gemini 2.5 Pro Pro
46 tokens/sec
o3 Pro
4 tokens/sec
GPT-4.1 Pro
38 tokens/sec
DeepSeek R1 via Azure Pro
28 tokens/sec
2000 character limit reached

Sound and Complete Witnesses for Template-based Verification of LTL Properties on Polynomial Programs (2403.05386v3)

Published 8 Mar 2024 in cs.PL and cs.LO

Abstract: We study the classical problem of verifying programs with respect to formal specifications given in the linear temporal logic (LTL). We first present novel sound and complete witnesses for LTL verification over imperative programs. Our witnesses are applicable to both verification (proving) and refutation (finding bugs) settings. We then consider LTL formulas in which atomic propositions can be polynomial constraints and turn our focus to polynomial arithmetic programs, i.e. programs in which every assignment and guard consists only of polynomial expressions. For this setting, we provide an efficient algorithm to automatically synthesize such LTL witnesses. Our synthesis procedure is both sound and semi-complete. Finally, we present experimental results demonstrating the effectiveness of our approach and that it can handle programs which were beyond the reach of previous state-of-the-art tools.

Definition Search Book Streamline Icon: https://streamlinehq.com
References (88)
  1. Robert W Floyd. Assigning meanings to programs. Program Verification: Fundamental Issues in Computer Science, pages 65–81, 1993.
  2. Amir Pnueli. The temporal logic of programs. In FOCS, pages 46–57, 1977.
  3. Temporal verification of reactive systems: Safety. Springer, 2012.
  4. On the synthesis of a reactive module. In POPL, pages 179–190, 1989.
  5. Moshe Y. Vardi. An automata-theoretic approach to linear temporal logic. In Banff Higher Order Workshop, pages 238–266, 1995.
  6. From LTL and limit-deterministic büchi automata to deterministic parity automata. In TACAS, pages 426–442, 2017.
  7. Reasoning about infinite computations. Inf. Comput., 115(1):1–37, 1994.
  8. Pierre Wolper. Temporal logic can be more expressive. In FOCS, pages 340–348, 1981.
  9. Xavier Thirioux. Simple and efficient translation from LTL formulas to buchi automata. In FMICS, pages 145–159, 2002.
  10. Efficient büchi automata from LTL formulae. In CAV, pages 248–263, 2000.
  11. Efficient approach of translating LTL formulae into büchi automata. Frontiers Comput. Sci., 9(4):511–523, 2015.
  12. Fast LTL to büchi automata translation. In CAV, pages 53–65, 2001.
  13. From states to transitions: Improving translation of LTL formulae to büchi automata. In FORTE, pages 308–326, 2002.
  14. Minimal büchi automata for certain classes of LTL formulas. In DepCoS-RELCOMEX, pages 17–24, 2009.
  15. Symbolic algorithm for generation büchi automata from LTL formulas. In PaCT, pages 98–109, 2011.
  16. LTL to büchi automata translation: Fast and more deterministic. In TACAS, pages 95–109, 2012.
  17. Fast translation from LTL to büchi automata via non-transition-based automata. In ICFEM, pages 364–379, 2014.
  18. Mochiba: Probabilistic LTL model checking using limit-deterministic büchi automata. In ATVA, pages 130–137, 2016.
  19. From LTL to unambiguous büchi automata via disambiguation of alternating automata. In FM, pages 262–279, 2019.
  20. Proving real-time properties of programs with temporal logic. In SOSP, pages 1–11, 1981.
  21. Proving liveness properties of concurrent programs. TOPLAS, 4(3):455–495, 1982.
  22. Proving that programs eventually do something good. In POPL, pages 265–276, 2007.
  23. Reducing liveness to safety in first-order logic. In POPL, pages 26:1–26:33, 2018.
  24. Construction of abstract state graphs with PVS. In CAV, pages 72–83, 1997.
  25. Infinite-state liveness-to-safety via implicit abstraction and well-founded relations. In CAV, pages 271–291, 2016.
  26. LTL falsification in infinite-state systems. Inf. Comput., 289:104977, 2022.
  27. Fairness for infinite-state systems. In TACAS, pages 384–398, 2015.
  28. LTL model checking of LLVM bitcode with symbolic data. In MEMICS, pages 47–59, 2014.
  29. Temporal prophecy for proving temporal properties of infinite-state systems. Formal Methods Syst. Des., 57(2):246–269, 2021.
  30. Henry Gordon Rice. Classes of recursively enumerable sets and their decision problems. Transactions of the AMS, 74(2):358–366, 1953.
  31. Alan Mathison Turing. On computable numbers, with an application to the entscheidungsproblem. J. of Math, 58(345-363):5, 1936.
  32. A complete method for the synthesis of linear ranking functions. In VMCAI, pages 239–251, 2004.
  33. Polynomial reachability witnesses via stellensätze. In PLDI, pages 772–787, 2021.
  34. Towards a framework for realizable safety critical control through active set invariance. In ICCPS, pages 98–106, 2018.
  35. Nathan Fulton. Verifiably safe autonomy for cyber-physical systems. PhD thesis, Carnegie Mellon University, 2018.
  36. Asparagus: Automated synthesis of parametric gas upper-bounds for smart contracts. In OOPSLA, 2023.
  37. Non-linear loop invariant generation using gröbner bases. In POPL, pages 318–329, 2004a.
  38. Polynomial invariant generation for non-deterministic recursive programs. In PLDI, pages 672–687, 2020.
  39. Louis De Branges. The Stone-Weierstrass theorem. Proceedings of the AMS, 10(5):822–824, 1959.
  40. Linear invariant generation using non-linear constraint solving. In CAV, pages 420–432, 2003.
  41. Constraint-based linear-relations analysis. In SAS, pages 53–68, 2004b.
  42. Termination analysis of probabilistic programs through positivstellensatz’s. In CAV, pages 3–22, 2016.
  43. Constraint-based relational verification. In CAV, pages 742–766, 2021.
  44. Modular primal-dual fixpoint logic solving for temporal verification. In POPL, pages 2111–2140, 2023.
  45. Linear ranking for linear lasso programs. In ATVA, pages 365–380, 2013.
  46. Farkas certificates and minimal witnesses for probabilistic reachability constraints. In TACAS, pages 324–345, 2020.
  47. Error invariants. In FM, pages 187–201, 2012.
  48. Program analysis as constraint solving. In PLDI, pages 281–292, 2008.
  49. Julius Farkas. Theorie der einfachen ungleichungen. Journal für die reine und angewandte Mathematik, 1902(124):1–27, 1902.
  50. On ranking function synthesis and termination for polynomial programs. In CONCUR, pages 15:1–15:15, 2020.
  51. The probabilistic termination tool amber. In FM, pages 667–675, 2021.
  52. Generating exact nonlinear ranking functions by symbolic-numeric hybrid method. J. Syst. Sci. Complex., 26(2):291–301, 2013.
  53. Proving non-termination by program reversal. In PLDI, pages 1033–1048, 2021.
  54. Finding polynomial loop invariants for probabilistic programs. In ATVA, pages 400–416, 2017.
  55. Andrew Clark. Verification and synthesis of control barrier functions. In CDC, pages 6105–6112, 2021.
  56. Safety verification of nonlinear hybrid systems based on bilinear programming. IEEE Trans. Comput. Aided Des. Integr. Circuits Syst., 37(11):2768–2778, 2018.
  57. Synthesizing invariant barrier certificates via difference-of-convex programming. In CAV, pages 443–466, 2021.
  58. Ranking and repulsing supermartingales for reachability in randomized programs. TOPLAS, 43(2):5:1–5:46, 2021.
  59. Algebro-geometric algorithms for template-based synthesis of polynomial programs. In OOPSLA, pages 727–756, 2023.
  60. Handbook of Model Checking. Springer, 2018.
  61. Jan Strejcek. Linear temporal logic: Expressiveness and model checking. PhD thesis, Masaryk University, 2004.
  62. Transition predicate abstraction and fair termination. In POPL, pages 132–144, 2005.
  63. Fairness modulo theory: A new approach to LTL software model checking. In CAV, pages 49–66, 2015.
  64. Making prophecies with decision predicates. In POPL, pages 399–410, 2011.
  65. Proving liveness of parameterized programs. In LICS, pages 185–196, 2016.
  66. T2: temporal property verification. In TACAS, pages 387–393, 2016.
  67. Extending nuXmv with timed transition systems and timed temporal properties. In CAV, pages 376–386, 2019.
  68. Efficient synthesis with probabilistic constraints. In CAV, pages 278–296, 2019.
  69. Constraint-based synthesis of coupling proofs. In CAV, pages 327–346, 2018.
  70. Lyapunov-barrier characterization of robust reach-avoid-stay specifications for hybrid systems, 2022. URL https://arxiv.org/abs/2211.00814.
  71. Verification of discrete time stochastic hybrid systems: A stochastic reach-avoid decision problem. Autom., pages 1951–1961, 2010.
  72. Learning control policies for stochastic systems with reach-avoid guarantees. In AAAI, pages 11926–11935, 2023.
  73. The temporal logic of reactive and concurrent systems - specification. Springer, 1992. ISBN 978-3-540-97664-6. doi: 10.1007/978-1-4612-0931-7. URL https://doi.org/10.1007/978-1-4612-0931-7.
  74. Principles of model checking. MIT Press, 2008.
  75. Reasoning about nondeterminism in programs. In PLDI, pages 219–230, 2013.
  76. J Richard Büchi. Symposium on decision problems: On a decision method in restricted second order arithmetic. In Studies in Logic and the Foundations of Mathematics, volume 44, pages 1–11. 1966.
  77. Accelerated invariant generation for C programs with aspic and c2fsm. Electron. Notes Theor. Comput. Sci., pages 3–13, 2010.
  78. Non-linear reasoning for invariant synthesis. In POPL, pages 54:1–54:33, 2018.
  79. Mihai Putinar. Positive polynomials on compact semi-algebraic sets. Indiana University Mathematics Journal, 42(3):969–984, 1993.
  80. Solving systems of polynomial inequalities in subexponential time. Journal of symbolic computation, 5(1-2):37–64, 1988.
  81. Z3: an efficient SMT solver. In TACAS, pages 337–340, 2008.
  82. The barcelogic SMT solver. In CAV, pages 294–298, 2008.
  83. The mathsat5 SMT solver. In TACAS, pages 93–107, 2013.
  84. Termination competition 2022, 2021. URL https://termination-portal.org/wiki/Termination_Competition_2022.
  85. Dirk Beyer. Progress on software verification: SV-COMP 2022. In TACAS, pages 375–402, 2022.
  86. A hierarchy of temporal properties. In PODC, pages 377–410, 1990.
  87. Programs with lists are counter automata. Formal Methods Syst. Des., 38(2):158–192, 2011.
  88. Automatic numeric abstractions for heap-manipulating programs. In POPL, pages 211–222, 2010.
Citations (1)

Summary

We haven't generated a summary for this paper yet.