NetStub: A Framework for Verification of Distributed Java Applications
Automated verification of distributed programs is a challenging problem.
Since the behavior of a distributed program encompasses the behavior of the network,
possible configurations of the network have to be investigated during
verification. This leads to very large state spaces, and automated
verification becomes infeasible.
NetStub addresses this problem by decoupling the behavior
of distributed programs from the behavior of the network.
It consists of a set of stub classes that replace native methods used in network communication
and enables verification of distributed Java applications by isolating their behavior from
the network. NetStub supports two modes of verification:
unit verification and integration verification. Integration verification checks
multiple interacting distributed application components by running them in a single JVM and simulating the behavior of the network within the same JVM via stub classes. Unit verification targets a single component of a distributed application and requires that the user write an event generator class that utilizes the API exported by NetStub.
Elliot D. Barlas and Tevfik Bultan.
``NetStub: A Framework for Verification of Distributed Java Applications.''
To appear in the Proceedings of the 22nd IEEE/ACM International Conference
on Automated Software Engineering (ASE 2007).
NetStub Java Project
Project Jar - NetStub project with source code.
Contains Ant targets for compiling the code and running the distributed echo
application in each of the three modes: integration, thread-based, and event-based.
Classes Jar - Compiled NetStub classes.
This material is based upon work supported by the National Science Foundation under Grants CCF-0614002 and