Algorithms for on-the-fly garbage collection
ACM Transactions on Programming Languages and Systems (TOPLAS)
Compiler-directed type reconstruction for polymorphic languages
FPCA '93 Proceedings of the conference on Functional programming languages and computer architecture
Implementation of the typed call-by-value λ-calculus using a stack of regions
POPL '94 Proceedings of the 21st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Garbage collection for strongly-typed languages using run-time type reconstruction
LFP '94 Proceedings of the 1994 ACM conference on LISP and functional programming
VLISP: a verified implementation of Scheme
Lisp and Symbolic Computation
Abstract models of memory management
FPCA '95 Proceedings of the seventh international conference on Functional programming languages and computer architecture
Safe kernel extensions without run-time checking
OSDI '96 Proceedings of the second USENIX symposium on Operating systems design and implementation
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
ACM Transactions on Programming Languages and Systems (TOPLAS)
Typed memory management in a calculus of capabilities
Proceedings of the 26th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
From system F to typed assembly language
ACM Transactions on Programming Languages and Systems (TOPLAS)
Semantic analysis of pointer aliasing, allocation and disposal in Hoare logic
Proceedings of the 2nd ACM SIGPLAN international conference on Principles and practice of declarative programming
Assignment and Procedure Call Proof Rules
ACM Transactions on Programming Languages and Systems (TOPLAS)
On-the-fly garbage collection: an exercise in cooperation
Communications of the ACM
Type-preserving garbage collectors
POPL '01 Proceedings of the 28th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Analysis of an algorithm for real time garbage collection
Communications of the ACM
A nonrecursive list compacting algorithm
Communications of the ACM
An axiomatic basis for computer programming
Communications of the ACM
Combining region inference and garbage collection
PLDI '02 Proceedings of the ACM SIGPLAN 2002 Conference on Programming language design and implementation
The Craft of Programming
A type theory for memory allocation and data layout
POPL '03 Proceedings of the 30th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Mechanical Verification of a Garbage Collector
Proceedings of the 11 IPPS/SPDP'99 Workshops Held in Conjunction with the 13th International Parallel Processing Symposium and 10th Symposium on Parallel and Distributed Processing
Separation Logic: A Logic for Shared Mutable Data Structures
LICS '02 Proceedings of the 17th Annual IEEE Symposium on Logic in Computer Science
Verifying a Garbage Collection Algorithm
Proceedings of the 11th International Conference on Theorem Proving in Higher Order Logics
ATEC '02 Proceedings of the General Track of the annual conference on USENIX Annual Technical Conference
Proving Pointer Programs in Hoare Logic
MPC '00 Proceedings of the 5th International Conference on Mathematics of Program Construction
Program logic and equivalence in the presence of garbage collection
Theoretical Computer Science - Foundations of software science and computation structures
Reasoning about Hierarchical Storage
LICS '03 Proceedings of the 18th Annual IEEE Symposium on Logic in Computer Science
Foundational Proof-Carrying Code
LICS '01 Proceedings of the 16th Annual IEEE Symposium on Logic in Computer Science
Local reasoning for stateful programs
Local reasoning for stateful programs
Local reasoning about a copying garbage collector
Proceedings of the 31st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A Retrospective on Region-Based Memory Management
Higher-Order and Symbolic Computation
Mutatis mutandis: safe and predictable dynamic software updating
Proceedings of the 32nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Semantics of Separation-Logic Typing and Higher-Order Frame Rules
LICS '05 Proceedings of the 20th Annual IEEE Symposium on Logic in Computer Science
Symbolic execution with separation logic
APLAS'05 Proceedings of the Third Asian conference on Programming Languages and Systems
BI hyperdoctrines and higher-order separation logic
ESOP'05 Proceedings of the 14th European conference on Programming Languages and Systems
A certified framework for compiling and executing garbage-collected languages
Proceedings of the 15th ACM SIGPLAN international conference on Functional programming
A shape analysis for non-linear data structures
SAS'10 Proceedings of the 17th international conference on Static analysis
The next 700 separation logics
VSTTE'10 Proceedings of the Third international conference on Verified software: theories, tools, experiments
A kripke logical relation between ML and assembly
Proceedings of the 38th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Reasoning about memory layouts
Formal Methods in System Design
Developer-oriented correctness proofs a case study of Cheney's algorithm
ICFEM'11 Proceedings of the 13th international conference on Formal methods and software engineering
The ramifications of sharing in data structures
POPL '13 Proceedings of the 40th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Hi-index | 0.00 |
We present a programming language, model, and logic appropriate for implementing and reasoning about a memory management system. We state semantically what is meant by correctness of a copying garbage collector, and employ a variant of the novel separation logics to formally specify partial correctness of Cheney's copying garbage collector in our program logic. Finally, we prove that our implementation of Cheney's algorithm meets its specification using the logic we have given and auxiliary variables.