Feedback-Directed Random Test Generation
By Carlos Pacheco, Shuvendu K. Lahiri, Michael D. Ernst, Thomas Ball. International Conference on Software Engineering, 2007
944 citations recorded by the source corpus.
Subfields: Information Systems, Software
View Paper: https://www.semanticscholar.org/paper/6dc7017e357767dbc210bcb27080260fb0816701
How researchers see this paper
The researchers whose trusted networks rank it highest, strongest advocate first. Every researcher gets a different order.
In Information Systems
In Software
- Gordon Fraser
- Andrea Arcuri
- Mark Harman
- Yue Jia
- Zhendong Su
- Yuriy Brun
- Yuting Chen
- Stephan Lukasczyk
Citations in the corpus
- Pynguin: Automated Unit Test Generation for Python (2022, methodology): “We designed these components with evolutionary algorithms in mind; one can of course also define purely random-based algorithms as we have done with our Random algorithm, based on the Randoop algorithm [15].”
- RESTler: Stateful REST API Fuzzing (2019, methodology): “RESTler ’s dependency analysis is also related to the analysis of type dependencies performed by the Randoop algorithm [32] for typed object-oriented programs.”
- Fuzzing: A Survey for Roadmap (2022, background): “If code coverage is not available, an intuitive solution is to retain seeds based on execution outputs, such as the legality of execution results [141] or state machine of protocol implementations [154].”
- The Art, Science, and Engineering of Fuzzing: A Survey (2018, neutral): “Randoop [172] also uses a similar approach, though it was not designed specifically for finding vulnerabilities.”
- A survey of the use of crowdsourcing in software engineering (2017, background): “Chen and Kim [166] investigated object mutation and constraint solving issues, underlying existing test generation tools such as jCUTE [228], Randoop [229] and Pex [230].”
- Guided differential testing of certificate validation in SSL/TLS implementations (2015, methodology): “Pacheco et al. present a feedback-directed random test generation technique [37–39].”
- CodeT: Code Generation with Generated Tests (2022, background): “Early works including Ran-doop (Pacheco et al., 2007), EvoSuite (Fraser & Arcuri, 2011), MOSA (Panichella et al., 2015), DynaMOSA (Panichella et al., 2017), and MIO (Arcuri, 2017), were proposed to automatically generate test cases for statically typed programming languages like Java.”
- Automated Unit Test Generation for Python (2020, methodology): “Closest to our work is whole-suite test generation in EvoSuite [9] and feedbackdirected random test generation in Randoop [15].”
- Automatic patch generation learned from human-written patches (2013, methodology): “Since the imbalance in test cases may lead to inaccurate patch evaluation, we will develop failing-test generation techniques by leveraging existing automatic testing techniques [31], [32], [20].”
- Android permissions demystified (2011, methodology): “Applications are written in Java (possibly accompanied by native code), and each application runs in its own virtual machine.”
- A Hitchhiker's guide to statistical tests for assessing randomized algorithms in software engineering (2014, background): “For example, assume one wants to evaluate a new tool for automatically generating unit tests for object-oriented software (e.g., Pex [113], Randoop [93] or EvoSuite [40]).”
- Software Testing With Large Language Models: Survey, Landscape, and Vision (2023, neutral): “Although various approaches, including search-based [3], [4], constraint-based [5] or random-based [6] techniques to generate a suite of unit tests, the coverage and the meaningfulness of the generated tests are still far from satisfactory [7], [8].”
- Randomized Differential Testing as a Prelude to Formal Verification (2007, methodology): “for testing object-oriented libraries using feedback-directed random testing [13].”
- No More Manual Tests? Evaluating and Improving ChatGPT for Unit Test Generation (2023, methodology): “Traditional Techniques Traditional techniques incorporate search-based [56], random-based [14], or constraint-based”
- Type test scripts for TypeScript testing (2017, methodology): “Unlike the Randoop tool from the original work on feedback-directed random testing [Pacheco et al. 2007], our tool TStest does not directly perform this process but generates a script, called a type test script , that is specialized to the declaration file and performs the testing when executed.”
- Pex-White Box Test Generation for .NET (2008, methodology): “Randoop [23] is a tool that generates new test-cases by composing previously found test-case fragments, supplying random input data.”
- Are mutants a valid substitute for real faults in software testing? (2014, methodology): “We used three test generation tools for our study: EvoSuite [12], Randoop [31], and JCrasher [6].”