A framework for state-space exploration of Java-based actor programs
S Lauterburg, M Dotta, D Marinov… - 2009 IEEE/ACM …, 2009 - ieeexplore.ieee.org
2009 IEEE/ACM International Conference on Automated Software …, 2009•ieeexplore.ieee.org
The actor programming model offers a promising model for developing reliable parallel and
distributed code. Actors provide flexibility and scalability: local execution may be interleaved,
and distributed nodes may operate asynchronously. The resulting nondeterminism is
captured by nondeterministic processing of messages. To automate testing, researchers
have developed several tools tailored to specific actor systems. As actor languages and
libraries continue to evolve, such tools have to be reimplemented. Because many actor …
distributed code. Actors provide flexibility and scalability: local execution may be interleaved,
and distributed nodes may operate asynchronously. The resulting nondeterminism is
captured by nondeterministic processing of messages. To automate testing, researchers
have developed several tools tailored to specific actor systems. As actor languages and
libraries continue to evolve, such tools have to be reimplemented. Because many actor …
The actor programming model offers a promising model for developing reliable parallel and distributed code. Actors provide flexibility and scalability: local execution may be interleaved, and distributed nodes may operate asynchronously. The resulting nondeterminism is captured by nondeterministic processing of messages. To automate testing, researchers have developed several tools tailored to specific actor systems. As actor languages and libraries continue to evolve, such tools have to be reimplemented. Because many actor systems are compiled to Java bytecode, we have developed Basset, a general framework for testing actor systems compiled to Java bytecode. We illustrate Basset by instantiating it for the Scala programming language and for the ActorFoundry library for Java. Our implementation builds on Java PathFinder, a widely used model checker for Java. Experiments show that Basset can effectively explore executions of actor programs; e.g., it discovered a previously unknown bug in a Scala application.
ieeexplore.ieee.org