Verifying the safety of a practical concurrent garbage collector
We describe our experience in the mechanical verification of the safety invariants of an asynchronous garbage-collection algorithm , using the TLP system . We only give a cursory overview of the algorithm and its formalisation. Our main focus is on the lessons learned from carrying a sizeable (22,000+ lines) formal proof through an off-the-shelf prover. In particular, we found the TLP style of structured proofs to be particularly effective for organising, writing, and managing proof scripts.
Unable to display preview. Download preview PDF.
- 1.Doligez, D., Gonthier, G.: Portable, unobtrusive garbage collection for multiprocessor systems. ACM POPL (1994) 70–83Google Scholar
- 2.Engberg, U., Gr/onning, P., Lamport, L.: Mechanical verification of concurrent systems with TLP. LNCS 663 (CAV 1992) 44–55Google Scholar
- 3.Garland, S. J., Guttag, J. V.: An overview of LP, the Larch prover. LNCS 355 (RTA 1989) 137–151Google Scholar
- 4.Huet, G.: Residual theory in λ-calculus: a formal development. J. Func. Prog. 4 (1994) 371–394Google Scholar
- 5.Hunt, W. A. Jr., Brock, B.: A formal HDL and its use in the FM9001. Proc. Royal Soc. (1992)Google Scholar
- 7.Lincoln, P., Rushby, J.: Formal verification of an algorithm for interactive consistency under a hybrid fault model. CAV 1993Google Scholar
- 8.Miller, S. P., Srivas, M.: Formal verification of the AAMP5 microprocessor. IEEE Workshop on Industrial-Strength Formal Spec. Techniques (1995)Google Scholar