Actor- and Task-Selection Strategies for Pruning Redundant State-Exploration in Testing

  • Elvira Albert
  • Puri Arenas
  • Miguel Gómez-Zamalloa
Part of the Lecture Notes in Computer Science book series (LNCS, volume 8461)


Testing concurrent systems requires exploring all possible non-deterministic interleavings that the concurrent execution may have. This is because any of the interleavings may reveal the erroneous behaviour. In testing of actor systems, we can distinguish two sources of non-determinism: (1) actor-selection, the order in which actors are explored and (2) task-selection, the order in which the tasks within each actor are explored. This paper provides new strategies and heuristics for pruning redundant state-exploration when testing actor systems by reducing the amount of unnecessary non-determinism. First, we propose a method and heuristics for actor-selection based on tracking the amount and the type of interactions among actors. Second, we can avoid further redundant interleavings in task-selection by taking into account the access to the shared-memory that the tasks make.


Partial Order Search Tree Task Selection Distribute Hash Table Concurrent Program 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


  1. 1.
    Agha, G.A.: Actors: A Model of Concurrent Computation in Distributed Systems. MIT Press, Cambridge (1986)Google Scholar
  2. 2.
    Albert, E., Arenas, P., Gómez-Zamalloa, M., Wong, P.Y.H.: aPET: A Test Case Generation Tool for Concurrent Objects. In: Proc. of ESEC/FSE 2013, pp. 595–598. ACM (2013)Google Scholar
  3. 3.
    Andrews, G.R.: Concurrent Programming: Principles and Practice. Benjamin/Cummings (1991)Google Scholar
  4. 4.
    Clarke, L.A.: A System to Generate Test Data and Symbolically Execute Programs. IEEE Transactions on Software Engineering 2(3), 215–222 (1976)CrossRefGoogle Scholar
  5. 5.
    de Boer, F.S., Clarke, D., Johnsen, E.B.: A Complete Guide to the Future. In: De Nicola, R. (ed.) ESOP 2007. LNCS, vol. 4421, pp. 316–330. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  6. 6.
    Esparza, J.: Model checking using net unfoldings. Sci. Comput. Program. 23(2-3), 151–195 (1994)CrossRefzbMATHMathSciNetGoogle Scholar
  7. 7.
    Flanagan, C.: Patrice Godefroid. Dynamic Partial-Order Reduction for Model Checking Software. In: Proc. of POPL 2005, pp. 110–121. ACM (2005)Google Scholar
  8. 8.
    Godefroid, P.: Using Partial Orders to Improve Automatic Verification Methods. In: Larsen, K.G., Skou, A. (eds.) CAV 1991. LNCS, vol. 575, pp. 176–185. Springer, Heidelberg (1992)CrossRefGoogle Scholar
  9. 9.
    Haller, P., Odersky, M.: Scala actors: Unifying Thread-Based and Event-Based Programming. Theor. Comput. Sci. 410(2-3), 202–220 (2009)CrossRefzbMATHMathSciNetGoogle Scholar
  10. 10.
    Johnsen, E.B., Hähnle, R., Schäfer, J., Schlatte, R., Steffen, M.: ABS: A Core Language for Abstract Behavioral Specification. In: Aichernig, B.K., de Boer, F.S., Bonsangue, M.M. (eds.) FMCO 2010. LNCS, vol. 6957, pp. 142–164. Springer, Heidelberg (2011)Google Scholar
  11. 11.
    King, J.C.: Symbolic Execution and Program Testing. Commun. ACM 19(7), 385–394 (1976)CrossRefzbMATHGoogle Scholar
  12. 12.
    Lauterburg, S., Karmani, R.K., Marinov, D., Agha, G.: Evaluating Ordering Heuristics for Dynamic Partial-Order Reduction Techniques. In: Rosenblum, D.S., Taentzer, G. (eds.) FASE 2010. LNCS, vol. 6013, pp. 308–322. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  13. 13.
    Sen, K., Agha, G.: Automated Systematic Testing of Open Distributed Programs. In: Baresi, L., Heckel, R. (eds.) FASE 2006. LNCS, vol. 3922, pp. 339–356. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  14. 14.
    Setak, A.: Framework for Stepwise Deterministic Testing of Akka Actors,
  15. 15.
    Steensgaard, B.: Points-to Analysis in almost Linear Time. In: Proc. of POPL 1991, pp. 32–41. ACM Press (1996)Google Scholar
  16. 16.
    Tasharofi, S., Karmani, R.K., Lauterburg, S., Legay, A., Marinov, D., Agha, G.: TransDPOR: A Novel Dynamic Partial-Order Reduction Technique for Testing Actor Programs. In: Giese, H., Rosu, G. (eds.) FMOODS/FORTE 2012. LNCS, vol. 7273, pp. 219–234. Springer, Heidelberg (2012)Google Scholar

Copyright information

© IFIP International Federation for Information Processing 2014

Authors and Affiliations

  • Elvira Albert
    • 1
  • Puri Arenas
    • 1
  • Miguel Gómez-Zamalloa
    • 1
  1. 1.DSICComplutense University of MadridSpain

Personalised recommendations