Proceedings of the 2012 International Symposium on Software Testing and Analysis 2012
DOI: 10.1145/2338965.2336779
|View full text |Cite
|
Sign up to set email alerts
|

Testing concurrent programs to achieve high synchronization coverage

Abstract: The effectiveness of software testing is often assessed by measuring coverage of some aspect of the software, such as its code. There is much research aimed at increasing code coverage of sequential software. However, there has been little research on increasing coverage for concurrent software. This paper presents a new technique that aims to achieve high coverage of concurrent programs by generating thread schedules to cover uncovered coverage requirements. Our technique first estimates synchronization-pair … Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

1
36
0
1

Year Published

2013
2013
2017
2017

Publication Types

Select...
5
3

Relationship

4
4

Authors

Journals

citations
Cited by 58 publications
(38 citation statements)
references
References 24 publications
(67 reference statements)
1
36
0
1
Order By: Relevance
“…We also plan to apply MUSE to larger subjects such as PHP with multiple test suites. In addition, we will apply the mutation idea to conconlic unit testing [30] and concurrent coverage-based testing [24].…”
Section: Discussionmentioning
confidence: 99%
“…We also plan to apply MUSE to larger subjects such as PHP with multiple test suites. In addition, we will apply the mutation idea to conconlic unit testing [30] and concurrent coverage-based testing [24].…”
Section: Discussionmentioning
confidence: 99%
“…For a give metric M , each test suite S's coverage is computed as the ratio of M 's test requirements that are satisfied by S to the total [6], sync-pair [15] Def-Use [19] number of test requirements satisfied across all executions for a given program version. We construct test executions while holding random test generation parameters constant (see Section III-B); because different parameters can result in covering different requirements, the coverage of M 's requirements is often less than 100%, and our measurements reflect this.…”
Section: Methodsmentioning
confidence: 99%
“…Thus, to maximize the effectiveness of testing processes, researchers create test adequacy criteria based on these metrics, and develop techniques to quickly satisfy them. The development of such techniques has long been an active area of research in the context of structural coverage metrics for non-concurrent programs [8], [9], [10], [11], and as multithreaded programs have become more common the development of techniques centered around concurrent coverage metrics has also become an active area of research [12], [13], [14], [15].…”
Section: Introductionmentioning
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%