Reasoning about Iteration and Recursion Uniformly based on Big-step Semantics

08/04/2021
by   Ximeng Li, et al.
0

A reliable technique for deductive program verification should be proven sound with respect to the semantics of the programming language. For each different language, the construction of a separate soundness proof is often a laborious undertaking. In language-independent program verification, common aspects of computer programs are addressed to enable sound reasoning for all languages. In this work, we propose a solution for the sound reasoning about iteration and recursion based on the big-step operational semantics of any programming language. We give inductive proofs on the soundness and relative completeness of our reasoning technique. We illustrate the technique at simplified programming languages of the imperative and functional paradigms, with diverse features. We also mechanism all formal results in the Coq proof assistant.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
11/20/2020

A Comparison of Big-step Semantics Definition Styles

Formal semantics provides rigorous, mathematically precise definitions o...
research
05/07/2021

NoCFG: A Lightweight Approach for Sound Call Graph Approximation

Interprocedural analysis refers to gathering information about the entir...
research
02/24/2022

LAGC Semantics of Concurrent Programming Languages

Formal, mathematically rigorous programming language semantics are the e...
research
09/07/2021

An Executable Structural Operational Formal Semantics for Python

Python is a popular high-level general-purpose programming language also...
research
07/20/2019

Towards meta-interpretive learning of programming language semantics

We introduce a new application for inductive logic programming: learning...
research
02/20/2020

Soundness conditions for big-step semantics

We propose a general proof technique to show that a predicate is sound, ...
research
09/29/2020

Iteration in ACL2

Iterative algorithms are traditionally expressed in ACL2 using recursion...

Please sign up or login with your details

Forgot password? Click here to reset