Symbolic execution for software testing: three decades later
By Cristian Cadar, Koushik Sen. 2013
847 citations recorded by the source corpus.
Subfields: Information Systems, Software
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
- Gabriel Synnaeve
- Mark Harman
- Gordon Fraser
- Swarat Chaudhuri
- Pushmeet Kohli
- Baptiste Rozière
- Rishabh Singh
- Vijayaraghavan Murali
In Software
- Pushmeet Kohli
- Mark Harman
- Swarat Chaudhuri
- Gordon Fraser
- Gabriel Synnaeve
- Rishabh Singh
- Baptiste Rozière
- Jie M. Zhang
Citations in the corpus
- Programmatically Interpretable Reinforcement Learning (2018, methodology): “The output e θ ( h ) depends on unknown parameters θ ; however, constraints over e θ ( h ) can be represented as constraints over θ using techniques for symbolic execution of programs (Cadar & Sen, 2013).”
- Angora: Efficient Fuzzing by Principled Search (2018, background): “But the challenges of path explosion and constraint solving make symbolic execution hard to scale [6, 27].”
- Metamorphic Testing (2018, methodology): “testing [101], search-based testing [40], and symbolic execution [11].”
- VUzzer: Application-aware Evolutionary Fuzzing (2017, background): “However, fuzzers like AFL are designed to target arbitrarily large programs and, in spite of several advancements, the application of symbolic/concolic techniques to such programs remains a challenge [10].”
- A Survey of Symbolic Execution Techniques (2016, background): “loop condition involves one or more symbolic values, the number of generated branches may be potentially infinite, as suggested by the following example. Example. Consider the following code fragment [22]: int x = sym_input(); // e.g., read from file while (x > 0) x = sym_input(); where sym_input”
- A Survey on Metamorphic Testing (2016, methodology): “Fault-based testing uses symbolic evaluation [132], [133] and constraint solving [133] techniques to prove the absence of certain types of faults in”
- AutoCodeRover: Autonomous Program Improvement (2024, neutral): “In addition, there has been progress in some other software engineering activities such as automated test generation [4, 5], automated program repair [9], and so on.”
- Leveraging Automated Unit Tests for Unsupervised Code Translation (2021, methodology): “Popular test data generation techniques include symbolic execution of the code (Cadar & Sen, 2013), dynamic execution guided by a fitness function (Harman et al., 2015), and hybrids of these two techniques (Baars et al., 2011).”