A survey of compiler testing
Virtually any software running on a computer has been processed by a compiler or a
compiler-like tool. Because compilers are such a crucial piece of infrastructure for building …
compiler-like tool. Because compilers are such a crucial piece of infrastructure for building …
When and how to develop domain-specific languages
Domain-specific languages (DSLs) are languages tailored to a specific application domain.
They offer substantial gains in expressiveness and ease of use compared with general …
They offer substantial gains in expressiveness and ease of use compared with general …
Learn&fuzz: Machine learning for input fuzzing
Fuzzing consists of repeatedly testing an application with modified, or fuzzed, inputs with the
goal of finding security vulnerabilities in input-parsing code. In this paper, we show how to …
goal of finding security vulnerabilities in input-parsing code. In this paper, we show how to …
Domain-specific languages: An annotated bibliography
We survey the literature available on the topic of domain-specific languages as used for the
construction and maintenance of software systems. We list a selection of 75 key publications …
construction and maintenance of software systems. We list a selection of 75 key publications …
Semantic fuzzing with zest
Programs expecting structured inputs often consist of both a syntactic analysis stage, which
parses raw input, and a semantic analysis stage, which conducts checks on the parsed input …
parses raw input, and a semantic analysis stage, which conducts checks on the parsed input …
Grammar-based whitebox fuzzing
P Godefroid, A Kiezun, MY Levin - Proceedings of the 29th ACM …, 2008 - dl.acm.org
Whitebox fuzzing is a form of automatic dynamic test generation, based on symbolic
execution and constraint solving, designed for security testing of large applications …
execution and constraint solving, designed for security testing of large applications …
{EnFuzz}: Ensemble fuzzing with seed synchronization among diverse fuzzers
Fuzzing is widely used for vulnerability detection. There are various kinds of fuzzers with
different fuzzing strategies, and most of them perform well on their targets. However, in …
different fuzzing strategies, and most of them perform well on their targets. However, in …
Coverage-directed differential testing of JVM implementations
Java virtual machine (JVM) is a core technology, whose reliability is critical. Testing JVM
implementations requires painstaking effort in designing test classfiles (*. class) along with …
implementations requires painstaking effort in designing test classfiles (*. class) along with …
An empirical study of the robustness of macos applications using random testing
We report on the fourth in a series of studies on the reliability of application programs in the
face of random input. Over the previous 15 years, we have studied the reliability of UNIX …
face of random input. Over the previous 15 years, we have studied the reliability of UNIX …
Using frankencerts for automated adversarial testing of certificate validation in SSL/TLS implementations
Modern network security rests on the Secure Sockets Layer (SSL) and Transport Layer
Security (TLS) protocols. Distributed systems, mobile and desktop applications, embedded …
Security (TLS) protocols. Distributed systems, mobile and desktop applications, embedded …