A survey of symbolic execution techniques

R Baldoni, E Coppa, DC D'elia, C Demetrescu… - ACM Computing …, 2018 - dl.acm.org
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 …

Protecting software through obfuscation: Can it keep pace with progress in code analysis?

S Schrittwieser, S Katzenbeisser, J Kinder… - Acm computing surveys …, 2016 - dl.acm.org
Software obfuscation has always been a controversially discussed research area. While
theoretical results indicate that provably secure obfuscation in general is impossible, its …

An empirical evaluation of using large language models for automated unit test generation

M Schäfer, S Nadi, A Eghbali… - IEEE Transactions on …, 2023 - ieeexplore.ieee.org
Unit tests play a key role in ensuring the correctness of software. However, manually
creating unit tests is a laborious task, motivating the need for automation. Large Language …

{QSYM}: A practical concolic execution engine tailored for hybrid fuzzing

I Yun, S Lee, M Xu, Y Jang, T Kim - 27th USENIX Security Symposium …, 2018 - usenix.org
Recently, hybrid fuzzing has been proposed to address the limitations of fuzzing and
concolic execution by combining both approaches. The hybrid approach has shown its …

Vuzzer: Application-aware evolutionary fuzzing

S Rawat, V Jain, A Kumar, L Cojocar… - 2017 Network and …, 2017 - research.vu.nl
Fuzzing is an effective software testing technique to find bugs. Given the size and complexity
of real-world applications, modern fuzzers tend to be either scalable, but not effective in …

Sok:(state of) the art of war: Offensive techniques in binary analysis

Y Shoshitaishvili, R Wang, C Salls… - … IEEE symposium on …, 2016 - ieeexplore.ieee.org
Finding and exploiting vulnerabilities in binary code is a challenging task. The lack of high-
level, semantically rich information about data structures and control constructs makes the …

[PDF][PDF] Driller: Augmenting fuzzing through selective symbolic execution.

N Stephens, J Grosen, C Salls, A Dutcher, R Wang… - NDSS, 2016 - yancomm.net
Memory corruption vulnerabilities are an everpresent risk in software, which attackers can
exploit to obtain unauthorized access to confidential information. As products with access to …

Learning to fuzz from symbolic execution with application to smart contracts

J He, M Balunović, N Ambroladze, P Tsankov… - Proceedings of the …, 2019 - dl.acm.org
Fuzzing and symbolic execution are two complementary techniques for discovering software
vulnerabilities. Fuzzing is fast and scalable, but can be ineffective when it fails to randomly …

Symbolic execution with {SymCC}: Don't interpret, compile!

S Poeplau, A Francillon - 29th USENIX Security Symposium (USENIX …, 2020 - usenix.org
A major impediment to practical symbolic execution is speed, especially when compared to
near-native speed solutions like fuzz testing. We propose a compilation-based approach to …

The oracle problem in software testing: A survey

ET Barr, M Harman, P McMinn… - IEEE transactions on …, 2014 - ieeexplore.ieee.org
Testing involves examining the behaviour of a system in order to discover potential faults.
Given an input for a system, the challenge of distinguishing the corresponding desired …