Specifying and Verifying Future Conditions
This program is tentative and subject to change.
This paper formalizes future conditions, which complement traditional pre- and post-conditions to provide a more comprehensive specification of each function’s behaviour and expectation. Pre-conditions govern the required states before each function call, while post-conditions define the immediate outcomes (post-states) upon completion. Future conditions extend this paradigm by specifying expected temporal behaviors and states that manifest after the function call has finished, potentially affecting subsequent operations or program states. Together, these three types of conditions form a robust specification mechanism for reasoning about API behaviors across various temporal contexts. However, existing techniques for reasoning about future conditions have three key limitations: inefficient entailment checking, under-approximation of program behaviors, and bounded loop unrolling. To address these challenges, we propose a set of over-approximating Hoare-style forward rules that accommodate future conditions that are processed once per method declaration. Moreover, we propose a novel solution for modelling recursive behaviors via a bag of future conditions, which can be heuristically synthesized and verified in the verification system. We formally prove the soundness of our proposal in Coq and use experimental results to demonstrate its effectiveness in detecting non-trivial, real-world API misuses.
This program is tentative and subject to change.
Mon 13 OctDisplayed time zone: Perth change
16:00 - 17:40 | |||
16:00 20mTalk | Relating Distances and Abstractions: An Abstract Interpretation Perspective SAS Marco Campion INRIA & ENS Paris | Université PSL, Isabella Mastroeni University of Verona, Caterina Urban Inria & ENS | PSL | ||
16:20 20mTalk | Precise Abstract Interpretation of Probabilistic Programs with Interval Data Uncertainty SAS Zixin Huang University of Illinois at Urbana-Champaign, USA, Jacob Laurel Georgia Institute of Technology, Saikat Dutta University of Illinois at Urbana-Champaign, Sasa Misailovic University of Illinois at Urbana-Champaign | ||
16:40 20mTalk | Specifying and Verifying Future Conditions SAS Yahui Song Standard Chartered Bank, Darius Foo National University of Singapore, Wei-Ngan Chin National University of Singapore | ||
17:00 20mTalk | Contextual Equality Saturation SAS | ||
17:20 20mTalk | Abstracting Concolic Execution for Soft Contract Verification SAS Bram Vandenbogaerde , Quentin Stiévenart Université du Québec à Montréal, Coen De Roover Vrije Universiteit Brussel Pre-print |