Safe Modification of Pointer Programs in Refinement Calculus
MPC '08 Proceedings of the 9th international conference on Mathematics of Program Construction
A Theory of Pointers for the UTP
Proceedings of the 5th international colloquium on Theoretical Aspects of Computing
Pointers and records in the unifying theories of programming
UTP'06 Proceedings of the First international conference on Unifying Theories of Programming
A framework for automated and certified refinement steps
Innovations in Systems and Software Engineering
Hi-index | 0.00 |
Pointers are an important programming concept. Theyare used explicitely or implicitly in many programming languages.In particular, the semantics of object-oriented programminglanguages rely on pointers. We introduce a semanticsfor pointer structures. Pointers are seen as indexesand pointer fields are functions from these indexes to values.Using this semantics we turn all pointer operationsinto simple assignments and then we use refinement calculustechniques to construct a pointer-manipulating programthat checks whether or not a single linked list has a loop. Wealso introduce an induction principle on pointer structuresin order to reduce complexity of the proofs.