Sound and Complete Witnesses for Template-based Verification of LTL Properties on Polynomial Programs

Krishnendu Chatterjee,Amir Kafshdar Goharshady,Ehsan Kafshdar Goharshady,Mehrdad Karrabi,Đorđe Žikelić
2024-07-01
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.
Programming Languages,Logic in Computer Science
What problem does this paper attempt to address?
The core problem that this paper attempts to solve is, for polynomial programs, how to verify whether these programs satisfy the given Linear Temporal Logic (LTL) properties. Specifically, the paper mainly solves the following problems: 1. **Constructing effective verification and refutation mechanisms**: The paper proposes new, complete and reliable witnesses to prove or refute LTL properties. These witnesses are applicable not only to verification but also to finding bugs. In this way, the paper provides a unified method for verification and refutation. 2. **Handling complex LTL formulas**: The paper considers LTL formulas where atomic propositions can be polynomial constraints and focuses on polynomial arithmetic programs, that is, each assignment and conditional judgment in the program contains only polynomial expressions. For this setting, the paper provides an efficient algorithm to automatically generate such LTL witnesses. This synthesis process is both reliable and semi - complete, meaning that it can find suitable witnesses in most cases. 3. **Extending existing theories and techniques**: The paper takes advantage of the connection with Büchi automata and proposes a new class of reliable and complete witnesses for general - form LTL formulas. This extends and unifies the existing concepts of ranking functions, reachability witnesses and invariants, which are respectively used for termination, reachability and safety verification. 4. **Effectiveness in practical applications**: The paper also demonstrates the effectiveness of its method in practical applications and can handle instances that previous state - of - the - art tools could not handle. Experimental results show that this method has high practical value in practice and can perform extensive LTL model checking on polynomial programs. In summary, the main contributions of the paper are: - Proposing reliable and complete LTL witnesses applicable to general LTL formulas. - Developing a templated algorithm that can automatically generate polynomial LTL witnesses. - Verifying the practical application effect of this method through experiments and demonstrating its superiority in handling complex problems. The solutions to these problems not only promote theoretical progress in the field of formal verification but also provide a powerful tool for the reliability verification of actual software and systems.