HackerPapers

arXiv:1610.00502cs.SE

A Survey of Symbolic Execution Techniques

Roberto Baldoni, Emilio Coppa, Daniele Cono D'Elia, Camil Demetrescu, Irene Finocchi

Early discovery. Linked by one identifiable commenter. This paper is outside the main ranking; a mention is not an endorsement.

Abstract

Many security and software testing applications require checking whether certain properties of a program hold for any possible usage scenario. For instance, a tool for identifying software vulnerabilities may need to rule out the existence of any backdoor to bypass a program's authentication. One approach would be to test the program using different, possibly random inputs. As the backdoor may only be hit for very specific program workloads, automated exploration of the space of possible inputs is of the essence. Symbolic execution provides an elegant solution to the problem, by systematically exploring many possible execution paths at the same time without necessarily requiring concrete inputs. Rather than taking on fully specified input values, the technique abstractly represents them as symbols, resorting to constraint solvers to construct actual instances that would cause property violations. Symbolic execution has been incubated in dozens of tools developed over the last four decades, leading to major practical breakthroughs in a number of prominent software reliability applications. The goal of this survey is to provide an overview of the main ideas, challenges, and solutions developed in the area, distilling them for a broad audience. The present survey has been accepted for publication at ACM Computing Surveys. If you are considering citing this survey, we would appreciate if you could use the following BibTeX entry: http://goo.gl/Hf5Fvc

arXiv comments
This is the authors pre-print copy. If you are considering citing this survey, we would appreciate if you could use the following BibTeX entry: http://goo.gl/Hf5Fvc
Journal reference
ACM Computing Surveys 51(3), 2018. BibTeX entry: http://goo.gl/Hf5Fvc
DOI
Subjects
cs.SESoftware Engineering cs.PLProgramming Languages

On Hacker News

Linked by 1 identifiable commenter in 1 comment across 1 thread, from Mar 2018 to Mar 2018. Found in 4 HN submissions from Nov 2017 to May 2019. Open submission discussions.

Comments linking this paper, per year.

Discussed in comments1 thread

    • Or cbmc (some interesting papers : http://www.cprover.org/cbmc/applications/), they're on GitHub : https://github.com/diffblue/cbmc), seems to also handle java, not sure... Or angr (http://angr.io) which works on binaries and is in python and is loads of fun to use... On small…

      touisteurView on HNParent context

Submitted to Hacker News

Connected through shared HN threads, not inferred similarity or a recommendation.