2013 35th International Conference on Software Engineering (ICSE) 2013
DOI: 10.1109/icse.2013.6606563
|View full text |Cite
|
Sign up to set email alerts
|

Comparing Multi-Point Stride Coverage and dataflow coverage

Abstract: We introduce a family of coverage criteria, called Multi-Point Stride Coverage (MPSC). MPSC generalizes branch coverage to coverage of tuples of branches taken from the execution sequence of a program. We investigate its potential as a replacement for dataflow coverage, such as def-use coverage. We find that programs can be instrumented for MPSC easily, that the instrumentation usually incurs less overhead than that for def-use coverage, and that MPSC is comparable in usefulness to def-use in predicting test s… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
2
1

Citation Types

0
16
1

Year Published

2014
2014
2023
2023

Publication Types

Select...
4
3
1

Relationship

0
8

Authors

Journals

citations
Cited by 17 publications
(18 citation statements)
references
References 27 publications
0
16
1
Order By: Relevance
“…Unfortunately, mutation testing is both difficult to apply and computationally expensive, which has led to the search for "next-best" criteria for predicting suite quality by researchers [16,19]. This effort is highly relevant to real software developers, who almost never apply mutation testing due to its complexity, expense, and the lack of tool support in many languages.…”
Section: Introductionmentioning
confidence: 99%
See 1 more Smart Citation
“…Unfortunately, mutation testing is both difficult to apply and computationally expensive, which has led to the search for "next-best" criteria for predicting suite quality by researchers [16,19]. This effort is highly relevant to real software developers, who almost never apply mutation testing due to its complexity, expense, and the lack of tool support in many languages.…”
Section: Introductionmentioning
confidence: 99%
“…Many recent papers comparing criteria either introduce a novel criteron [19] or implement a previously proposed but never-implemented criteria [16]. While most even moderately popular languages (e.g., Java, C, C++, Python, Haskell) have (multiple) tools for measuring statement and branch coverage, relatively few non-research tools offer any variant of path coverage, much less data flow-based [20,19] or more esoteric measures such as predicate-complete test coverage measures [5,6]. This limitation is particularly important for open source development, where expensive commercial coverage tools are unlikely to be applied, and developers working together may lack a common development environment.…”
Section: Introductionmentioning
confidence: 99%
“…Test input design and generation are important aspects of software testing, directly impacting on the testing cost and effectiveness, and are often guided by things such as program structure, source code, the software specification, input/output structure, and information about previously executed tests [4], [20]. Depending on the information used, test input design and generation techniques have been broadly classified as specification based, structure based, and RT based [1], [21].…”
Section: A Oo Software Testingmentioning
confidence: 99%
“…When applying a data-flow adequacy criterion, it generally requires executing test cases against the program to determine the achieved coverage (Frankl and Weyuker, 1988;Hassan and Andrews 2013). Unfortunately, the overhead of runtime monitoring with respect to data-flow adequacy criteria is very high due to the need for profiling data accesses in the course of program executions.…”
Section: Related Workmentioning
confidence: 99%
“…For instance, to profile the data accesses from the executions of C/C++ programs via the popular Pin framework, the overhead can be as high as almost a 100-fold slowdown [Luk et al 2005]. This high runtime overhead problem is further amplified by the fact that dataflow test adequacy criteria are demanding to be satisfied [Weyuker 1990;Hassan and Andrews 2013]. Hence, blindly applying more test cases to a program may not effectively exercise more program elements that are identified to be not covered by previous executions.…”
Section: Related Workmentioning
confidence: 99%