2013 28th IEEE/ACM International Conference on Automated Software Engineering (ASE) 2013
DOI: 10.1109/ase.2013.6693072
|View full text |Cite
|
Sign up to set email alerts
|

Bita: Coverage-guided, automatic testing of actor programs

Abstract: 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 concurrenc… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

2
27
0

Year Published

2014
2014
2023
2023

Publication Types

Select...
4
2
1

Relationship

1
6

Authors

Journals

citations
Cited by 22 publications
(29 citation statements)
references
References 43 publications
2
27
0
Order By: Relevance
“…Typically, these tools use a controlled scheduler to enforce a particular order of program events and reduce the state space by applying POR techniques or bounding the set of explored executions [Desai et al 2015]. With a goal of detecting bugs due to the ordering of two events, Bita [Tasharofi et al 2013] covers only the pairwise orderings of the program events. Recent work [Leesatapornwongsa et al 2014;Liu et al 2017;Lukman et al 2019] reduces the state space by using some semantic information about the system under test.…”
Section: Related Workmentioning
confidence: 99%
“…Typically, these tools use a controlled scheduler to enforce a particular order of program events and reduce the state space by applying POR techniques or bounding the set of explored executions [Desai et al 2015]. With a goal of detecting bugs due to the ordering of two events, Bita [Tasharofi et al 2013] covers only the pairwise orderings of the program events. Recent work [Leesatapornwongsa et al 2014;Liu et al 2017;Lukman et al 2019] reduces the state space by using some semantic information about the system under test.…”
Section: Related Workmentioning
confidence: 99%
“…Message order violations have been collected under many different names in literature: data races by Petrov et al [44], harmful races by Raychev et al [46], order violations by Hong et al [31], and message ordering bugs by Tasharofi et al [55]. We consider message order violations to be a descriptive name while avoiding confusion with low-level data races present in thread-based programs.…”
Section: Comparison With Existing Terminology In Actor Literaturementioning
confidence: 99%
“…Tasharofi et al [55] identified twelve bugs in five Scala projects using the Akka actor library, which we categorize as message ordering problems. Bug-13 gives details of one of these bugs.…”
Section: Message Protocol Violationsmentioning
confidence: 99%
“…Another line of research to help detecting concurrency bugs are approaches to influence the scheduler by adding random delays [15], by exploring interleavings systematically [36,12] or randomly [7], by forcing schedules that expose potential concurrency bugs [45,40,32,30,26], and by forcing schedules that cover yet uncovered interleavings [25,57,49]. By influencing the scheduler, these approaches also influence the performance of a concurrent program, and therefore are not directly applicable in our approach.…”
Section: Concurrency Bugsmentioning
confidence: 99%
“…To achieve correctness, developers can rely on bug finding techniques [17,16,6,46,26,41] and approaches that influence the schedule of concurrent executions [15,36,12,7,45,40,32,30,25,57,49]. In contrast, developers currently have only little support to measure, improve, and maintain the performance of thread-safe classes.…”
Section: Introductionmentioning
confidence: 99%