A Typed, Compositional Logic for a Stack-Based Abstract Machine
- Nick Benton
MSR-TR-2005-84 |
Proceedings of the Third USENIX Windows NT Symposium
We define a compositional program logic in the style of Floyd and Hoare for a simple, typed, stack-based abstract machine with unstructured control flow, global variables and mutually recursive procedure calls. Notable features of the logic include a careful treatment of auxiliary variables and quantification and the use of substructural typing to permit local, modular reasoning about program fragments. Semantic soundness is established using an interpretation of types and assertions defined by orthogonality with respect to sets of contexts.