Compositional dynamic test generation
By Patrice Godefroid. ACM-SIGACT Symposium on Principles of Programming Languages, 2007
525 citations recorded by the source corpus.
Subfields: Computational Theory and Mathematics, Software
View Paper: https://www.semanticscholar.org/paper/0d1d0900cf862f11d3d7812c01d28be27c71a6c7
How researchers see this paper
The researchers whose trusted networks rank it highest, strongest advocate first. Every researcher gets a different order.
In Computational Theory and Mathematics
- Koushik Sen
- Patrice Godefroid
- Corina S. Pasareanu
- Nikolai Tillmann
- Cristian Cadar
- Jonathan de Halleux
- Michael Y. Levin
- Sarfraz Khurshid
In Software
- Koushik Sen
- Patrice Godefroid
- Cristian Cadar
- Corina S. Pasareanu
- Nikolai Tillmann
- Sarfraz Khurshid
- Michael Y. Levin
- Jonathan de Halleux
Citations in the corpus
- Symbolic execution for software testing: three decades later (2013, methodology): “Compositional techniques improve symbolic execution by caching and reusing the analysis of lower-level functions in subsequent computations [17, 18].”
- KLEE: Unassisted and Automatic Generation of High-Coverage Tests for Complex Systems Programs (2008, unknown): “Many recent tools are based on symbolic execution [11, 14–16,20–22,24, 26, 27,36].”
- All You Ever Wanted to Know about Dynamic Taint Analysis and Forward Symbolic Execution (but Might Have Been Afraid to Ask) (2010, background): “In many application domains, such as recent work in automated test-case generation [9, 17–19, 29, 34, 35, 57], fuzzing [36], and malware analysis [11, 45], part of the allure of forward symbolic execution is that it can be done at run-time.”
- Grammar-based whitebox fuzzing (2008, background): “Path explosion in systematic dynamic test generation can be alleviated by performing test generation compositionally [14], by testing functions systematically in isolatio n, encoding and memoizing test results as function summaries using function input preconditions and output postconditions, and re”
- Symbolic execution for software testing in practice: preliminary assessment (2011, methodology): “Recent extensions have tried to address this challenge by using heuristics to guide path exploration [13,29], interleaving symbolic execution with random testing [40], caching function summaries for later use by higher-level functions [26] or eliminating redundant paths by analyzing the values read ”
- Pex-White Box Test Generation for .NET (2008, methodology): “Several improvements have been proposed recently to improve the scalability of dynamic symbolic execution, by making it compositional [11,19], and demand-driven [19,8].”
- Automated Whitebox Fuzz Testing (2008, methodology): “Path explosion can be alleviated by performing dynamic test generation compositionally [12], by testing functions in isolation, encoding test results as function summaries expressed using function input preconditions and output post-conditions, and then re-using those summaries when testing…”
- A Survey of Symbolic Execution Techniques (2016, methodology): “Early works [50, 57] have shown that merging techniques effectively decrease the number of paths to explore, but also put a burden on constraints solvers, which can be hampered by disjunctions.”
- S2E: a platform for in-vivo multi-path analysis of software systems (2011, background): “Another approach to tackle state explosion is compositional symbolic execution [17].”
- AppIntent: analyzing sensitive data transmission in android for privacy leakage detection (2013, methodology): “Symbolic execution is a program analysis technique that has been used in a wide range of applications such as test case generation [14, 17, 27, 28, 34, 39], fuzz testing [35], and security flaws detection [13, 15, 20, 26, 31, 42].”
- Automated concolic testing of smartphone apps (2012, methodology): “Our system also builds upon recent advances in concolic testing such as function summarization [12], generational search [16], and Satisfiability Modulo Theories (SMT) solving [8].”