• DocumentCode
    625516
  • Title

    Systematic Testing for Detecting Concurrency Errors in Erlang Programs

  • Author

    Christakis, Maria ; Gotovos, Alkis ; Sagonas, Konstantinos

  • Author_Institution
    Dept. of Comput. Sci., ETH Zurich, Zurich, Switzerland
  • fYear
    2013
  • fDate
    18-22 March 2013
  • Firstpage
    154
  • Lastpage
    163
  • 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.
  • Keywords
    concurrency control; concurrent engineering; program testing; search problems; software tools; Erlang actor model characteristics; Erlang programs; combinatorial explosion; concurrency error detection; heuristic algorithm; process interleaving sequence state space; stateless search strategy; systematic testing tool; unit tests; Concurrent computing; Context; Instruments; Runtime; Space exploration; Systematics; Testing;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Software Testing, Verification and Validation (ICST), 2013 IEEE Sixth International Conference on
  • Conference_Location
    Luembourg
  • Print_ISBN
    978-1-4673-5961-0
  • Type

    conf

  • DOI
    10.1109/ICST.2013.50
  • Filename
    6569727