Abstracting Allocation: The New new Thing. Nick Benton.
We introduce a Floyd-Hoare-style framework for specification and verification of machine code programs, based on relational parametricity (rather than unary predicates) and using both step-indexing and a novel form of separation structure. This yields compositional, descriptive and extensional reasoning principles for many features of low-level sequential computation: independence, ownership transfer, unstructured control flow, first-class code pointers and address arithmetic. We demonstrate how to specify and verify the implementation of a simple memory manager and, independently, its clients in this style. The work has been fully machine-checked within the Coq proof assistant.
This is, of course, related to TAL, PCC etc. If you find the deatils too much, I suggest reading the discussion (section 7) to get a feel for the possible advantages of this approach.
Recent comments
29 weeks 4 days ago
29 weeks 5 days ago
29 weeks 5 days ago
51 weeks 6 days ago
1 year 4 weeks ago
1 year 5 weeks ago
1 year 5 weeks ago
1 year 8 weeks ago
1 year 12 weeks ago
1 year 12 weeks ago