Bita is a coverage-guided tool for testing actor programs written in Akka. Based on three covearge criteria, it generates schedules and runs the program with the generated schedules.
To compile the source code:
sbt compile
To run test for bounded buffer example:
sbt 'test-only test.integrationspecs.BufferSpec'
This command runs the buffer program to obtain a random execution trace, generates schedules for all criteria and all optmizations, runs the programs with those schedules, and measures the coverage obtained by running the program with each set of generated schedules.
These steps in the test case for sleeping barber example is splitted into multiple tests. To run test for that obtains a random execution trace:
> sbt 'test-only test.integrationspecs.BufferSpec --- -n random'
To generate schedules (the criterion in the test in confugured for PMHR; however, you can change it if you want
> sbt 'test-only test.integrationspecs.BufferSpec --- -n generate'
To test with the generated schedules:
> sbt 'test-only test.integrationspecs.BufferSpec --- -n test'
To measure the coverage:
> sbt 'test-only test.integrationspecs.BufferSpec --- -n coverage'
To run with random scheduling (currently the it runs with a timeout of 5 minutes but can be configured with different timeout):
> sbt 'test-only test.integrationspecs.BufferSpec --- -n random-timeout'
To create jar file:
> release.sh