Towards Verifying Procedural Programs using Constrained Rewriting Induction

πŸ“… 2014-08-30
πŸ›οΈ arXiv.org
πŸ“ˆ Citations: 2
✨ Influential: 0
πŸ“„ PDF
πŸ€– AI Summary
This work addresses the safety verification of procedural programs featuring global variables, arrays, function calls, and arbitrary data types. The proposed method automates verification without requiring an explicit specification language. It compiles programs into Logic Constraint Term Rewriting Systems (LCTRSs) andβ€”noveltyβ€”the first adaptation of rewriting induction to this framework. A lightweight equation generalization strategy is introduced to jointly verify memory safety and functional correctness. Built upon extended integer Term Rewriting Systems (TRSs) and LCTRS modeling, the approach enables end-to-end automated verification of integer arithmetic and array operations in realistic programs. Experimental evaluation demonstrates that the method significantly improves automation and practicality for procedural program verification, all without reliance on external specification languages.
πŸ“ Abstract
This paper aims at developing a verification method for procedural programs via a transformation into the recently introduced Logically Constrained Term Rewriting Systems (LCTRSs). To this end, we introduce an extension of transformation methods based on integer TRSs, which can also handle global variables and arrays, and encode safety checks. Then we adapt existing rewriting induction methods to LCTRSs and propose a simple yet effective method to generalize equations. We show that we can automatically verify memory safety and prove correctness of realistic functions, involving for instance integers and arrays.
Problem

Research questions and friction points this paper is trying to address.

Verifying procedural programs using constrained rewriting induction
Handling global variables, function calls, and array operations
Proving equivalence between implementations without explicit specifications
Innovation

Methods, ideas, or system contributions that make the work stand out.

Transforming programs into constrained rewriting systems
Extending rewriting induction methods for LCTRSs
Generalizing equations without explicit specification language
πŸ”Ž Similar Papers
No similar papers found.