TU Darmstadt / ULB / TUbiblio

Bita: Coverage-Guided, Automatic Testing of Actor Programs

Tasharofi, Samira ; Pradel, Michael ; Lin, Yu ; Johnson, Ralph (2013)
Bita: Coverage-Guided, Automatic Testing of Actor Programs.
Palo Alto, CA, USA
doi: 10.1109/ASE.2013.6693072
Konferenzveröffentlichung, Bibliographie

Kurzbeschreibung (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 122× faster than random scheduling, on average.

Typ des Eintrags: Konferenzveröffentlichung
Erschienen: 2013
Autor(en): Tasharofi, Samira ; Pradel, Michael ; Lin, Yu ; Johnson, Ralph
Art des Eintrags: Bibliographie
Titel: Bita: Coverage-Guided, Automatic Testing of Actor Programs
Sprache: Deutsch
Publikationsjahr: November 2013
Verlag: IEEE Computer Society
Buchtitel: 2013 28th IEEE/ACM International Conference on Automated Software Engineering (ASE)
Veranstaltungsort: Palo Alto, CA, USA
DOI: 10.1109/ASE.2013.6693072
Kurzbeschreibung (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 122× faster than random scheduling, on average.

Freie Schlagworte: Schedules, Receivers, Concurrent computing, Computer bugs, Testing, Programming, Postal services
ID-Nummer: TUD-CS-2013-0481
Fachbereich(e)/-gebiet(e): Profilbereiche > Cybersicherheit (CYSEC)
Profilbereiche
Hinterlegungsdatum: 28 Aug 2017 12:46
Letzte Änderung: 15 Mai 2018 10:33
PPN:
Export:
Suche nach Titel in: TUfind oder in Google
Frage zum Eintrag Frage zum Eintrag

Optionen (nur für Redakteure)
Redaktionelle Details anzeigen Redaktionelle Details anzeigen