• DocumentCode
    660546
  • Title

    Bita: Coverage-guided, automatic testing of actor programs

  • Author

    Tasharofi, Samira ; Pradel, Michael ; Yu Lin ; Johnson, R.

  • Author_Institution
    Dept. of Comput. Sci., Univ. of Illinois, Urbana, IL, USA
  • fYear
    2013
  • fDate
    11-15 Nov. 2013
  • Firstpage
    114
  • Lastpage
    124
  • 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.
  • Keywords
    message passing; multiprocessing programs; program debugging; program testing; scheduling; Bita; actor programs; automatic testing; concurrency bugs; concurrent programs; coverage-guided testing; message exchange; scheduling; Computer bugs; Concurrent computing; Postal services; Programming; Receivers; Schedules; Testing;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Automated Software Engineering (ASE), 2013 IEEE/ACM 28th International Conference on
  • Conference_Location
    Silicon Valley, CA
  • Type

    conf

  • DOI
    10.1109/ASE.2013.6693072
  • Filename
    6693072