Using Garbage Collection in Model Checking

  • Radu Iosif
  • Riccardo Sisto
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1885)


Garbage collection techniques have become common-place in actual programming environments, helping programmers to avoid memory fragmentation and invalid referencing problems. In order to efficiently model check programs that use garbage collection, similar functionalities have to be embedded in model checkers. This paper focuses on the implementation of two classic garbage collection algorithms in dSPIN, an extension of the model checker SPIN which supports dynamic memory management. Experiments carried out show that, besides making a large class of programs tractable, garbage collection can also be a mean to reduce the number of states generated by our model checking tool.


Model Check Garbage Collection Garbage Collector Space Overhead Reference Counting 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Appel, A.W.: Modern Compiler Implementation in Java. Cambridge University Press, Cambridge (1998)Google Scholar
  2. 2.
    Corbett, J.: Constructing Compact Models of Concurrent Java Programs. In: Proc. of International Symposium on Software Testing and Analysis (1998)Google Scholar
  3. 3.
    Corbett, J., Dwyer, M.B., et al.: Bandera: Extracting Finite-state Models from Java Source Code. In: Proc. 22nd International Conference on Software Engineering, pp. 439–448 (2000)Google Scholar
  4. 4.
    Demartini, C., Iosif, R., Sisto, R.: A deadlock detection tool for concurrent Java programs. Software. Practice & Experience 29(7), 577–603 (1999)CrossRefGoogle Scholar
  5. 5.
    Demartini, C., Iosif, R., Sisto, R.: dSPIN: A Dynamic Extension of SPIN. In: Dams, D.R., Gerth, R., Leue, S., Massink, M. (eds.) SPIN 1999. LNCS, vol. 1680, pp. 261–276. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  6. 6.
    Brat, G., Havelund, K., Park, S., Visser, W.: Java PathFinder: Second Generation of a Java Model Checker. In: Workshop on Advances in Verification (2000)Google Scholar
  7. 7.
    Holzmann, G.: The Design and Validation of Computer Protocols. Prentice Hall, Englewood Cliffs (1991)Google Scholar
  8. 8.

Copyright information

© Springer-Verlag Berlin Heidelberg 2000

Authors and Affiliations

  • Radu Iosif
    • 1
  • Riccardo Sisto
    • 1
  1. 1.Dipartimento di Automatica e InformaticaPolitecnico di TorinoTorinoItaly

Personalised recommendations