2011
DOI: 10.1007/978-3-642-19811-3_19
|View full text |Cite
|
Sign up to set email alerts
|

Testing Container Classes: Random or Systematic?

Abstract: Abstract. Container classes such as lists, sets, or maps are elementary data structures common to many programming languages. Since they are a part of standard libraries, they are important to test, which led to research on advanced testing techniques targeting such containers and research on comparing testing techniques using such containers. However, these techniques have not been thoroughly compared to simpler techniques such as random testing. We present the results of a larger case study in which we compa… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

1
36
0

Year Published

2011
2011
2018
2018

Publication Types

Select...
4
4
1

Relationship

5
4

Authors

Journals

citations
Cited by 44 publications
(37 citation statements)
references
References 33 publications
1
36
0
Order By: Relevance
“…When c is an ArrayList, contains performs a linear search (lines [18][19][20][21], which is inefficient, so it would have been better to iterate over c and call remove on the set because it has a more efficient inner loop. Indeed, the GCL developers changed their code, replacing the call to removeAll by conceptually inlining the body of removeAll and keeping only the then branch from the body.…”
Section: Category 4 (Inefficient Inner Loops)mentioning
confidence: 99%
See 1 more Smart Citation
“…When c is an ArrayList, contains performs a linear search (lines [18][19][20][21], which is inefficient, so it would have been better to iterate over c and call remove on the set because it has a more efficient inner loop. Indeed, the GCL developers changed their code, replacing the call to removeAll by conceptually inlining the body of removeAll and keeping only the then branch from the body.…”
Section: Category 4 (Inefficient Inner Loops)mentioning
confidence: 99%
“…We focus our efforts on collection classes because they are widely used and make both automated generation [18] and manual writing of tests easier than domain-specific applications such as Groovy or Lucene. Ant, Apache Collections, and Google Core Libraries (GCL) implement collection classes.…”
Section: B Experiments With New Bugs and Performance Testsmentioning
confidence: 99%
“…This is of interest as container classes represent a particular type of classes that avoids many problems such as environment interaction, and recent studies have shown that even "simple" random testing can achieve high coverage on such classes [37]. Interestingly, 17 papers exclusively focus on container classes, and many other papers include container classes.…”
Section: Software Engineering Experimentationmentioning
confidence: 99%
“…while (!done) { operation = choose(); input = choose(); assume(precondition); operation(input); assert(postcondition); } In fact, this generic harness is quite close to the actual structure of a large number of API-call based testing systems in explicit-state model checking and random testing, including the vast array of container-class testing frameworks [30]. Bounded exhaustive testing and other approaches also fit this framework.…”
Section: Test Generation Vs Test Programmingmentioning
confidence: 88%