Sciweavers

POPL
2009
ACM

Automated verification of practical garbage collectors

14 years 5 months ago
Automated verification of practical garbage collectors
Garbage collectors are notoriously hard to verify, due to their lowlevel interaction with the underlying system and the general difficulty in reasoning about reachability in graphs. Several papers have presented verified collectors, but either the proofs were handwritten or the collectors were too simplistic to use on practical applications. In this work, we present two mechanically verified garbage collectors, both practical enough to use for real-world C# benchmarks. The collectors and their associated allocators consist of x86 assembly language instructions and macro instructions, annotated with preconditions, postconditions, invariants, and assertions. We used the Boogie verification generator and the Z3 automated theorem prover to verify this assembly language code mechanically. We provide measurements comparing the performance of the verified collector with that of the standard Bartok collectors on off-the-shelf C# benchmarks, demonstrating their competitiveness. Categories and ...
Chris Hawblitzel, Erez Petrank
Added 22 Nov 2009
Updated 22 Nov 2009
Type Conference
Year 2009
Where POPL
Authors Chris Hawblitzel, Erez Petrank
Comments (0)