Systematic Testing for Detecting Concurrency Errors in Erlang Programs

  • Authors:
  • Maria Christakis;Alkis Gotovos;Konstantinos Sagonas

  • Affiliations:
  • -;-;-

  • Venue:
  • ICST '13 Proceedings of the 2013 IEEE Sixth International Conference on Software Testing, Verification and Validation
  • Year:
  • 2013

Quantified Score

Hi-index 0.00

Visualization

Abstract

We present the techniques used in Concuerror, a systematic testing tool able to find and reproduce a wide class of concurrency errors in Erlang programs. We describe how we take advantage of the characteristics of Erlang's actor model of concurrency to selectively instrument the program under test and how we subsequently employ a stateless search strategy to systematically explore the state space of process interleaving sequences triggered by unit tests. To ameliorate the problem of combinatorial explosion, we propose a novel technique for avoiding process blocks and describe how we can effectively combine it with preemption bounding, a heuristic algorithm for reducing the number of explored interleaving sequences. We also briefly discuss issues related to soundness, completeness and effectiveness of techniques used by Concuerror.