A Java Supercompiler and Its Application to Verification of Cache-Coherence Protocols

Andrei V. Klimov. A Java Supercompiler and Its Application to Verification of Cache-Coherence Protocols. In Amir Pnueli, Irina Virbitskaite, Andrei Voronkov, editors, Perspectives of Systems Informatics, 7th International Andrei Ershov Memorial Conference, PSI 2009, Novosibirsk, Russia, June 15-19, 2009. Revised Papers. Volume 5947 of Lecture Notes in Computer Science, pages 185-192, Springer, 2009. [doi]

Abstract

The Java Supercompiler (JScp) is a specializer of Java programs based on the Turchin’s supercompilation method and extended to support imperative and object-oriented notions absent in functional languages. It has been successfully applied to verification of a number of parameterized models including cache-coherence protocols. Protocols are modeled in Java following the method by G.Delzanno and experiments by A.Lisitsa and A.Nemytykh on verification of protocol models by means of the Refal Supercompiler SCP4. The part of the supercompilation method relevant to the protocol verification is reviewed. It deals with an imperative subset of Java.