Abstract
This paper describes three program transformations that extend the scope of model checkers for Java programs to include distributed programs, i.e., multi-process programs. The transformations combine multiple processes into a single process, replace remote method invocations (RMIs) with local method invocations that simulate RMIs, and replace cryptographic operations with symbolic counterparts.
This work is supported in part by NSF under Grant CCR-9876058 and by ONR under grants N00014-99-1-0132, N00014-99-1-0358, and N00014-01-1-0109.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Guillaume Brat, Klaus Havelund, Seung-Joon Park, and Willem Visser. Model checking programs. In IEEE International Conference on Auto-mated Software Engineering (ASE), September 2000.
A. D. Birrell and B. J. Nelson. Implementing remote procedure calls. ACM Transactions on Computer Systems, 2:39–59, February 1984.
James C. Corbett, Matthew Dwyer, John Hatcliff, Corina Pasareanu, Robby, Shawn Laubach, and Hongjun Zheng. Bandera: Extracting finite-state models from Java source code. In Proc. 22nd International Conference on Software Engineering (ICSE), June 2000.
Thomas Cormen, Charles Leiserson, and Ronald Rivest. Introduction to Algorithms. MIT Press and McGraw-Hill, 1990.
Markus Dahm. Byte code engineering with the JavaClass API. Technical Report B-17-98, Institut für Informatik, Freie Universität Berlin, 1999. Available via http://www.inf.fu-berlin.de/~dahm/JavaClass/.
Leslie Lamport. The temporal logic of actions. ACM Transactions on Programming Languages and Systems, 16(3):872–923, May 1994.
Gavin Lowe. Breaking and fixing the Needham-Schroeder public-key protocol using FDR. In Proc. Workshop on Tools and Algorithms for The Construction and Analysis of Systems (TACAS), volume 1055 of Lecture Notes in Computer Science, pages 147–166. Springer-Verlag, 1996.
John C. Mitchell, Mark Mitchell, and Ulrich Stern. Automated analysis of cryptographic protocols using Murø. In Proc. 18th IEEE Symposium on Research in Security and Privacy, pages 141–153. IEEE Computer Society Press, 1997.
Dahlia Malkhi and Michael Reiter. Secure and scalable replication in phalanx. In 17th IEEE Symposium on Reliable Distributed Systems (SRDS), pages 51–60, October 1998.
David Y.W. Park, Ulrich Stern, Jens U. Skakkebaek, and David L. Dill. Java model checking. In Proc. First International Workshop on Automated Program Analysis, Testing, and Verification, 2000.
Scott D. Stoller. Model-checking multi-threaded distributed Java programs. In Proc. 7th Int’l. SPIN Workshop on Model Checking of Software, volume 1885 of Lecture Notes in Computer Science, pages 224–243. Springer-Verlag, August 2000.
John Whaley and Martin Rinard. Compositional pointer and escape analysis for Java programs. In Proc. ACM Conference on Object-Oriented Systems, Languages and Applications (OOPSLA), pages 187–206. ACM Press, October 1999. Appeared in ACM SIGPLAN Notices 34(10).
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2001 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Stoller, S.D., Liu, Y.A. (2001). Transformations for model checking distributed java programs. In: Dwyer, M. (eds) Model Checking Software. SPIN 2001. Lecture Notes in Computer Science, vol 2057. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45139-0_12
Download citation
DOI: https://doi.org/10.1007/3-540-45139-0_12
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-42124-5
Online ISBN: 978-3-540-45139-6
eBook Packages: Springer Book Archive