Systematic Testing for Detecting Concurrency Errors in Erlang Programs

Christakis, Maria and Gotovos, Alkis and Sagonas, Konstantinos (2013) Systematic Testing for Detecting Concurrency Errors in Erlang Programs. In: 2013 IEEE Sixth International Conference on Software Testing, Verification and Validation (ICST). IEEE pp. 154-163. (doi:https://doi.org/10.1109/ICST.2013.50) (Full text available)

PDF - Author's Accepted Manuscript
Download (207kB) Preview
[img]
Preview
Official URL
http://doi.org/10.1109/ICST.2013.50

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.

Item Type: Conference or workshop item (Paper)
Uncontrolled keywords: Concurrent computing, Instruments, Testing, Space exploration, Runtime, Systematics, Context
Subjects: Q Science > QA Mathematics (inc Computing science)
Divisions: Faculties > Sciences > School of Computing > Programming Languages and Systems Group
Depositing User: M. Christaki
Date Deposited: 23 Nov 2016 14:39 UTC
Last Modified: 02 Dec 2016 09:52 UTC
Resource URI: https://kar.kent.ac.uk/id/eprint/58947 (The current URI for this page, for reference purposes)
  • Depositors only (login required):

Downloads

Downloads per month over past year