Harnessing a Refinement Theory to Compute Loop Functions

https://doi.org/10.1016/j.entcs.2009.07.010Get rights and content
Under a Creative Commons license
open access

Abstract

We consider a while loop on some space S and we are interested in deriving the function that this loop defines between its initial states and its final states (when it terminates). Such a capability is useful in a wide range of applications, including reverse engineering, software maintenance, program comprehension, and program verification. In the absence of a general theoretical solution to the problem of deriving the function of a loop, we explore engineering solutions. In this paper we use a relational refinement calculus to approach this complex problem in a systematic manner. Our approach has many drawbacks, some surmountable and some not (being inherent to the approach); nevertheless, it offers a way to automatically derive the function of loops or an approximation thereof, under some conditions.

Keywords

Reverse engineering
software maintenance
program comprehension
while loops
program semantics
program correctness
refinement calculi
software tools

Cited by (0)