Abstract
We present a novel strongest-postcondition-style calculus for quantitative reasoning about non-deterministic programs with loops. Whereas existing quantitative weakest pre allows reasoning about the value of a quantity after a program terminates on a given initial state, quantitative strongest post allows reasoning about the value that a quantity had before the program was executed and reached a given final state. We show how strongest post enables reasoning about the flow of quantitative information through programs. Similarly to weakest liberal preconditions, we also develop a quantitative strongest liberal post. As a byproduct, we obtain the entirely unexplored notion of strongest liberal postconditions and show how these foreshadow a potential new program logic - partial incorrectness logic - which would be a more liberal version of O'Hearn's recent incorrectness logic.
- Alejandro Aguirre and Shin-ya Katsumata. 2020. Weakest Preconditions in Fibrations. In MFPS. https://doi.org/10.1016/j.entcs.2020.09.002 Google Scholar
Cross Ref
- Torben Amtoft and Anindya Banerjee. 2004. Information Flow Analysis in Logical Form. In Static Analysis, Roberto Giacobazzi (Ed.). Springer Berlin Heidelberg, Berlin, Heidelberg. 100–115. isbn:978-3-540-27864-1 https://doi.org/10.1007/978-3-540-27864-1_10 Google Scholar
Cross Ref
- R. J. R. Back. 1988. A Calculus of Refinements for Program Derivations. Acta Inf., 25, 6 (1988), Aug., 593–624. issn:0001-5903 https://doi.org/10.1007/BF00291051 Google Scholar
Digital Library
- Kevin Batz, Benjamin Lucien Kaminski, Joost-Pieter Katoen, and Christoph Matheja. 2021. Relatively complete verification of probabilistic programs: an expressive language for expectation-based reasoning. Proc. ACM Program. Lang., 5, POPL (2021), 1–30. https://doi.org/10.1145/3434320 Google Scholar
Digital Library
- Kevin Batz, Benjamin Lucien Kaminski, Joost-Pieter Katoen, Christoph Matheja, and Thomas Noll. 2018. Quantitative Separation Logic. CoRR, abs/1802.10467 (2018), https://doi.org/10.48550/arXiv.1802.10467 arxiv:1802.10467.Google Scholar
- Roberto Bruni, Roberto Giacobazzi, Roberta Gori, and Francesco Ranzato. 2021. A Logic for Locally Complete Abstract Interpretations. In 2021 36th Annual ACM/IEEE Symposium on Logic in Computer Science (LICS). 1–13. https://doi.org/10.1109/LICS52264.2021.9470608 Google Scholar
Digital Library
- Stephen A. Cook. 1978. Soundness and Completeness of an Axiom System for Program Verification. SIAM J. Comput., 7 (1978), 70–90. https://doi.org/10.1137/0207005 Google Scholar
Digital Library
- Patrick Cousot. 2019. Abstract Semantic Dependency. In SAS (Lecture Notes in Computer Science, Vol. 11822). Springer, 389–410. https://doi.org/10.1007/978-3-030-32304-2_19 Google Scholar
Digital Library
- P. Cousot and R. Cousot. 1976. Static determination of dynamic properties of programs. In Proceedings of the Second International Symposium on Programming. Dunod, Paris, France, 106–130.Google Scholar
- Patrick Cousot and Radhia Cousot. 1977. Abstract Interpretation: A Unified Lattice Model for Static Analysis of Programs by Construction or Approximation of Fixpoints. In Conference Record of the Fourth ACM Symposium on Principles of Programming Languages, Los Angeles, California, USA, January 1977, Robert M. Graham, Michael A. Harrison, and Ravi Sethi (Eds.). ACM, 238–252. https://doi.org/10.1145/512950.512973 Google Scholar
Digital Library
- Patrick Cousot, Radhia Cousot, Manuel Fähndrich, and Francesco Logozzo. 2013. Automatic Inference of Necessary Preconditions. In Verification, Model Checking, and Abstract Interpretation, Roberto Giacobazzi, Josh Berdine, and Isabella Mastroeni (Eds.). Springer Berlin Heidelberg, Berlin, Heidelberg. 128–148. https://doi.org/10.1007/978-3-642-35873-9_10 Google Scholar
Digital Library
- Edsko de Vries and Vasileios Koutavas. 2011. Reverse Hoare Logic. In Software Engineering and Formal Methods, Gilles Barthe, Alberto Pardo, and Gerardo Schneider (Eds.). Springer Berlin Heidelberg, Berlin, Heidelberg. 155–171. isbn:978-3-642-24690-6 https://doi.org/10.1007/978-3-642-24690-6_12 Google Scholar
- Edsger Wybe Dijkstra. 1975. Guarded Commands, Nondeterminacy and Formal Derivation of Programs. 18, 8 (1975), 453–457. https://doi.org/10.1145/360933.360975 Google Scholar
Digital Library
- Edsger W. Dijkstra and Carel S. Scholten. 1990. Predicate Calculus and Program Semantics. Springer-Verlag, Berlin, Heidelberg. isbn:0387969578 https://doi.org/10.1007/978-1-4612-3228-5 Google Scholar
Cross Ref
- Gidon Ernst and Toby Murray. 2019. SecCSL: Security Concurrent Separation Logic. In Computer Aided Verification, Isil Dillig and Serdar Tasiran (Eds.). Springer International Publishing, Cham. 208–230. isbn:978-3-030-25543-5 https://doi.org/10.1007/978-3-030-25543-5_13 Google Scholar
Cross Ref
- Matthew S. Hecht. 1977. Flow Analysis of Computer Programs. Elsevier.Google Scholar
- C. A. R. Hoare. 1969. An Axiomatic Basis for Computer Programming. Commun. ACM, 12, 10 (1969), Oct., 576–580. issn:0001-0782 https://doi.org/10.1145/363235.363259 Google Scholar
Digital Library
- Dean Jacobs and David Gries. 1985. General Correctness: A Unification of Partial and Total Correctness. Acta Inf., 22, 1 (1985), April, 67–83. issn:0001-5903 https://doi.org/10.1007/BF00290146 Google Scholar
Digital Library
- Claire Jones. 1990. Probabilistic Non-Determinism. Ph.D. Dissertation. University of Edinburgh, UK.Google Scholar
- Benjamin Lucien Kaminski. 2019. Advanced weakest precondition calculi for probabilistic programs. Ph.D. Dissertation. RWTH Aachen University, Germany.Google Scholar
- Benjamin Lucien Kaminski and Joost-Pieter Katoen. 2017. A weakest pre-expectation semantics for mixed-sign expectations. In LICS. IEEE Computer Society, 1–12. https://doi.org/10.48550/arXiv.1703.07682Google Scholar
- Donald E. Knuth. 1992. Two Notes on Notation. Am. Math. Monthly, 99, 5 (1992), May, 403–422. issn:0002-9890 https://doi.org/10.2307/2325085 Google Scholar
Digital Library
- Dexter Kozen. 1985. A Probabilistic PDL. J. Comput. System Sci., 30, 2 (1985), 162–178. https://doi.org/10.1016/0022-0000(85)90012-1 Google Scholar
Cross Ref
- Annabelle McIver and Carroll Morgan. 2005. Abstraction, Refinement and Proof for Probabilistic Systems. Springer. isbn:978-0-387-40115-7 https://doi.org/10.1007/b138392 Google Scholar
Cross Ref
- Annabelle McIver and Carroll Morgan. 2005. Abstraction, Refinement and Proof for Probabilistic Systems. Springer. https://doi.org/10.1007/b138392 Google Scholar
Cross Ref
- Peter W. O’Hearn. 2004. Resources, Concurrency and Local Reasoning. In CONCUR 2004 - Concurrency Theory, Philippa Gardner and Nobuko Yoshida (Eds.). Springer Berlin Heidelberg, Berlin, Heidelberg. 49–67. isbn:978-3-540-28644-8 https://doi.org/10.1007/978-3-540-28644-8_4 Google Scholar
- Peter W. O’Hearn. 2019. Incorrectness Logic. Proc. ACM Program. Lang., 4, POPL (2019), Article 10, Dec., 32 pages. https://doi.org/10.1145/3371078 Google Scholar
Digital Library
- P. Ø rbæ k and J. Palsberg. 1997. Trust in the λ -Calculus. J. Funct. Program., 7, 6 (1997), Nov., 557–591. issn:0956-7968 https://doi.org/10.1017/S0956796897002906 Google Scholar
Digital Library
- Azalea Raad, Josh Berdine, Hoang-Hai Dang, Derek Dreyer, Peter O’Hearn, and Jules Villard. 2020. Local Reasoning About the Presence of Bugs: Incorrectness Separation Logic. In Computer Aided Verification, Shuvendu K. Lahiri and Chao Wang (Eds.). Springer International Publishing, Cham. 225–252. isbn:978-3-030-53291-8 https://doi.org/10.1007/978-3-030-53291-8_14 Google Scholar
Digital Library
- J.C. Reynolds. 2002. Separation logic: a logic for shared mutable data structures. In Proceedings 17th Annual IEEE Symposium on Logic in Computer Science. 55–74. https://doi.org/10.1109/LICS.2002.1029817 Google Scholar
Cross Ref
- H.G. Rice. 1953. Classes of recursively enumerable sets and their decision problems. Trans. Amer. Math. Soc., 74 (1953), 358–366. https://doi.org/10.2307/1990888 Google Scholar
- Xavier Rival and Kwangkeun Yi. 2020. Introduction to Static Analysis – An Abstract Interpretation Perspective. MIT Press.Google Scholar
- Geoffrey Smith. 2009. On the foundations of quantitative information flow. In International Conference on Foundations of Software Science and Computational Structures. 288–302. https://doi.org/10.1007/978-3-642-00596-1_21 Google Scholar
Cross Ref
- Alan Turing. 1936. On Computable Numbers, with an Application to the Entscheidungsproblem. Proceedings of the London Mathematical Society, 42, 1 (1936), 230–265. https://doi.org/10.2307/2268810 Google Scholar
Cross Ref
- Alan Mathison Turing. 1949. Checking a Large Routine. In Report of a Conference on High Speed Automatic Calculating Machines. Univ. Math. Lab., Cambridge, 67–69. https://doi.org/10.5555/94938.94952Google Scholar
- Caterina Urban, Maria Christakis, Valentin Wüstholz, and Fuyuan Zhang. 2019. Perfectly Parallel Fairness Certification of Neural Networks. CoRR, abs/1912.02499 (2019), https://doi.org/10.48550/arXiv.1912.02499 arxiv:1912.02499.Google Scholar
- Caterina Urban and Peter Müller. 2018. An Abstract Interpretation Framework for Input Data Usage. In ESOP. 683–710. https://doi.org/10.1007/978-3-319-89884-1_24 Google Scholar
Cross Ref
- Dennis M. Volpano and Geoffrey Smith. 1997. A Type-Based Approach to Program Security. In Proceedings of the 7th International Joint Conference CAAP/FASE on Theory and Practice of Software Development (TAPSOFT ’97). Springer-Verlag, Berlin, Heidelberg. 607–621. isbn:3540627812 https://doi.org/10945/35283Google Scholar
- Gia S. Wulandari and Detlef Plump. 2020. Verifying Graph Programs with First-Order Logic. Electronic Proceedings in Theoretical Computer Science, 330 (2020), Dec, 181–200. issn:2075-2180 https://doi.org/10.4204/eptcs.330.11 Google Scholar
Cross Ref
- Linpeng Zhang and Benjamin Lucien Kaminski. 2022. Quantitative Strongest Post. CoRR, abs/2202.06765 (2022), https://doi.org/10.48550/ARXIV.2202.06765 arXiv:2202.06765.Google Scholar
Index Terms
Quantitative strongest post: a calculus for reasoning about the flow of quantitative information
Recommendations
Relatively complete verification of probabilistic programs: an expressive language for expectation-based reasoning
We study a syntax for specifying quantitative assertions—functions mapping program states to numbers—for probabilistic program verification. We prove that our syntax is expressive in the following sense: Given any probabilistic program C, if a function ...
Compositionality for quantitative specifications
We provide a framework for compositional and iterative design and verification of systems with quantitative information, such as rewards, time or energy. It is based on disjunctive modal transition systems where we allow actions to bear various types of ...
A Logical Approach to Qualitative and Quantitative Reasoning
ECSQARU '07: Proceedings of the 9th European Conference on Symbolic and Quantitative Approaches to Reasoning with UncertaintyReasoning with qualitative and quantitative uncertainty is required in some real-world applications [6]. However, current extensions to logic programming with uncertainty support representing and reasoning with either qualitative or quantitative ...






Comments