Bita: Coverage-guided, Automatic Testing of Actor Programs
Tasharofi, Samira; Pradel, Michael; Lin, Yu; Johnson, Ralph E.
Loading…
Permalink
https://hdl.handle.net/2142/44874
Description
Title
Bita: Coverage-guided, Automatic Testing of Actor Programs
Author(s)
Tasharofi, Samira
Pradel, Michael
Lin, Yu
Johnson, Ralph E.
Issue Date
2013-05
Keyword(s)
Testing Concurrent Programs
Actor Systems
Abstract
Actor programs are concurrent programs where concurrent entities communicate asynchronously by exchanging messages. Testing actor programs is challenging because the order of message receives depends on the non-deterministic scheduler and because exploring all schedules does not scale to large programs. This paper presents Bita, a scalable, automatic approach for testing non-deterministic behavior of actor programs. The key idea is to generate and explore schedules that are likely to reveal concurrency bugs because these schedules increase the schedule coverage. We present three schedule coverage criteria for actor programs, an algorithm to generate feasible schedules that increase coverage, and a technique to force a program to comply with a schedule. Applying Bita to real-world actor programs implemented in Scala reveals eight previously unknown concurrency bugs, of which six have already been fixed by the developers. Furthermore, we show our approach to find bugs 122x faster than random scheduling, on average.
Use this login method if you
don't
have an
@illinois.edu
email address.
(Oops, I do have one)
IDEALS migrated to a new platform on June 23, 2022. If you created
your account prior to this date, you will have to reset your password
using the forgot-password link below.