Premium
Systematic testing of actor systems
Author(s) -
Albert Elvira,
Arenas Puri,
GómezZamalloa Miguel
Publication year - 2018
Publication title -
software testing, verification and reliability
Language(s) - English
Resource type - Journals
SCImago Journal Rank - 0.216
H-Index - 49
eISSN - 1099-1689
pISSN - 0960-0833
DOI - 10.1002/stvr.1661
Subject(s) - computer science , concurrency , nondeterministic algorithm , heuristics , asynchronous communication , task (project management) , synchronization (alternating current) , selection (genetic algorithm) , semaphore , distributed computing , programming language , theoretical computer science , artificial intelligence , computer network , channel (broadcasting) , management , economics , operating system
Summary Testing concurrent systems requires exploring all possible nondeterministic interleavings that the concurrent execution may have, as any of the interleavings may reveal the erroneous behavior. In testing of actor systems, we can distinguish 2 sources of nondeterminism: (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 article provides new strategies and heuristics for pruning redundant state‐exploration when testing actor systems by reducing the amount of unnecessary nondeterminism of both types. Furthermore, we extend these techniques to handle synchronization primitives that allow awaiting for the completion of an asynchronous task. We report on an implementation and experimental evaluation of the proposed techniques in SYCO, a testing tool for actor‐based concurrency.