A Framework for State-Space Exploration of Java-Based Actor Programs

Steven Lauterburg, Mirco Dotta, Darko Marinov, Gul Agha
2009 2009 IEEE/ACM International Conference on Automated Software Engineering  
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
more » ... plemented. 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.
doi:10.1109/ase.2009.88 dblp:conf/kbse/LauterburgDMA09 fatcat:nhx7uudopjejtfazbs5h2zhyaq