Proceedings of the 27th ACM SIGSOFT International Symposium on Software Testing and Analysis 2018
DOI: 10.1145/3213846.3213863
|View full text |Cite
|
Sign up to set email alerts
|

Tests from traces: automated unit test extraction for R

Abstract: Unit tests are labor-intensive to write and maintain. This paper looks into how well unit tests for a target software package can be extracted from the execution traces of client code. Our objective is to reduce the effort involved in creating test suites while minimizing the number and size of individual tests, and maximizing coverage. To evaluate the viability of our approach, we select a challenging target for automated test extraction, namely R, a programming language that is popular for data science appli… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
8
0

Year Published

2019
2019
2023
2023

Publication Types

Select...
7
1

Relationship

1
7

Authors

Journals

citations
Cited by 14 publications
(8 citation statements)
references
References 16 publications
0
8
0
Order By: Relevance
“…(2) Extract. The genthat tool extracts all runnable code snippets and turns each of these into a selfstanding program [Krikava and Vitek 2018], knitr extracts code from notebooks. Each extracted script is instrumented with calls to our dynamic analyzer in a way that avoids recording calls to eval originating from our execution harness.…”
Section: Pipelinementioning
confidence: 99%
“…(2) Extract. The genthat tool extracts all runnable code snippets and turns each of these into a selfstanding program [Krikava and Vitek 2018], knitr extracts code from notebooks. Each extracted script is instrumented with calls to our dynamic analyzer in a way that avoids recording calls to eval originating from our execution harness.…”
Section: Pipelinementioning
confidence: 99%
“…10 This extension is made because NoRegrets+ needs to reconstruct arguments for library functions in the type regression testing phase. 11 We do not need traditional record types or function types, because the different properties of an object or parameters of a function are represented by different paths.…”
Section: Phase I: Model Generationmentioning
confidence: 99%
“…The SCARPE tool by Joshi and Orso [10] uses a capture phase that generates a model of a software component based on live executions, and a replay phase that can produce regression tests from the model. This is reminiscent of how Krikava and Vitek [11] produce tests for CRAN packages written in R, based on executing the small snippets of executable example code that is often included in the documentation of such packages. In comparison with those techniques, we use the test suites of the client packages to obtain realistic executions of the library.…”
Section: Studies Of Breaking Changes In Library Updatesmentioning
confidence: 99%
See 1 more Smart Citation
“…For example, the generator may produce the correct result as each case is created, eliminating the need for a separate oracle. One example of a generator is GENTHAT, which generates unit tests from executions of R code [47]. The oracle may be known-good references.…”
Section: A Model Of Automated Testingmentioning
confidence: 99%