Model checking for distributed systems is a difficult problem today. Several endeavors exist in the research community and industry, but most of them require the instrumentation or abstraction of some key standard libraries.
We focus in our work and in this internship on the JPF model checker for Java programs. JPF is a very attractive tool as it executes bytecode directly, rather than building a model first. One issue with distributed systems is that most of them exploit the new IO library of Java, which is not yet supported by JPF. Several research projects in the world, including ours, would greatly benefit from having JPF be equipped with this library.
The goal of this internship is then to build with us a JPF extension to support . The work is essentially about Java and this library, with the potential to publish the extension to the JPF project. Additional goals based on this library are to support UDP and multicast communications, if time allows in the frame of this internship.