Software Model Checking for Internet Protocols with Java PathFinder

Jesús Martínez, Cristóbal Jiménez

Abstract

Java is one of the most popular languages used to build complex and distributed systems. The existence of high-level libraries and middleware makes it now easy to develop applications for enterprise information systems. Unfortunately, implementing distributed software is always an error-prone task. Thus, middleware and application protocols must guarantee different functional and non-functional properties, which has been the field usually covered by tools based on formal methods. However, analyzing software is still a huge challenge for these tools, and only a few can deal with software complexity. One such tool is the Java Pathfinder model checker (J P F). This paper presents a new approach to the verification of Java systems which communicate through Internet Sockets. Our approach assumes that almost all the middleware and network libraries used in Java rely on the protocols available at the TCP/IP transport layer. Therefore, we have extended J P F, now allowing developers to verify not only single multithreaded programs but also fully distributed Socket-based software.

References

  1. Clarke, E., Emerson, E.A., Sistla, A.: Automatic verification of finite-state concurrent systems using temporal logic specifications. ACM Trans. on Programming Languages and Systems 8 (1986) 244-263
  2. Clarke, E., Grumberg, O., Peled, D.: Model Checking. MIT Press (2000)
  3. Ball, T., Rajamani, S.K.: The SLAM toolkit. In: Proceedings of CAV01. Volume 2102 of Lecture Notes in Computer Science. (2001)
  4. Henzinger, T., Jhala, R., Majumdar, R., Sutre, G.: Software Verification with BLAST. In: SPIN Workshop on Model Checking Software. Volume 2648 of Lecture Notes in Computer Science. (2003) 235-239
  5. Havelund, K., Pressburger, T.: Model Checking Java Programs using Java Path Finder. In: Software Tools for Technology Transfer. Volume 2. (2000) 366-381
  6. Havelund, K., Visser, W.: Program model checking as a new trend. In: Software Tools for Technology Transfer (STTT). Volume 4. (2002) 8-20
  7. NASA: The Java PathFinder open source project. Available at http://javapathfinder.sourceforge.net/ (2008)
  8. Gamma, E., Helm, H., Johnson, R., Vlissides, J.: Design Patterns. Addison-Wesley Pub Co. (1995)
  9. Apache Software Foundation: The Bytecode Engineering Library. Available at http://jakarta.apache.org/bcel/ (2008)
  10. Sun Microsystems: The Java Tutorial: all about Sockets. Available at http://java.sun.com/docs/books/tutorial/networking/sockets/index.html (2008)
  11. Kent, S.: Model Driven Engineering. In: Proceedings of IFM 2002. LNCS 2335, SpringerVerlag (2002) 286-298
  12. Martínez, J., Merino, P., Salmeron, A.: Applying MDE Methodologies to Design Communication Protocols for Distributed Systems. In: First International Conference on Complex, Intelligent and Software Intensive Systems, IEEE Computer Society (2007) 185-190
Download


Paper Citation


in Harvard Style

Martínez J. and Jiménez C. (2008). Software Model Checking for Internet Protocols with Java PathFinder . In Proceedings of the 6th International Workshop on Modelling, Simulation, Verification and Validation of Enterprise Information Systems - Volume 1: MSVVEIS, (ICEIS 2008) ISBN 978-989-8111-43-2, pages 91-100. DOI: 10.5220/0001738600910100


in Bibtex Style

@conference{msvveis08,
author={Jesús Martínez and Cristóbal Jiménez},
title={Software Model Checking for Internet Protocols with Java PathFinder},
booktitle={Proceedings of the 6th International Workshop on Modelling, Simulation, Verification and Validation of Enterprise Information Systems - Volume 1: MSVVEIS, (ICEIS 2008)},
year={2008},
pages={91-100},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0001738600910100},
isbn={978-989-8111-43-2},
}


in EndNote Style

TY - CONF
JO - Proceedings of the 6th International Workshop on Modelling, Simulation, Verification and Validation of Enterprise Information Systems - Volume 1: MSVVEIS, (ICEIS 2008)
TI - Software Model Checking for Internet Protocols with Java PathFinder
SN - 978-989-8111-43-2
AU - Martínez J.
AU - Jiménez C.
PY - 2008
SP - 91
EP - 100
DO - 10.5220/0001738600910100