Temporal system call specialization for attack surface reduction
Attack surface reduction through the removal of unnecessary application features and code
is a promising technique for improving security without incurring any additional overhead …
is a promising technique for improving security without incurring any additional overhead …
PKRU-Safe: Automatically locking down the heap between safe and unsafe languages
After more than twenty-five years of research, memory safety violations remain one of the
major causes of security vulnerabilities in real-world software. Memory-safe languages, like …
major causes of security vulnerabilities in real-world software. Memory-safe languages, like …
RustHorn: CHC-based verification for Rust programs
Reduction to satisfiability of constrained Horn clauses (CHCs) is a widely studied approach
to automated program verification. Current CHC-based methods, however, do not work very …
to automated program verification. Current CHC-based methods, however, do not work very …
Abslearn: a gnn-based framework for aliasing and buffer-size information retrieval
Inferring aliasing and buffer-size information is important to understanding a C program's
memory layout, which is critical to program analysis and security-related tasks. However …
memory layout, which is critical to program analysis and security-related tasks. However …
CirC: Compiler infrastructure for proof systems, software verification, and more
Cryptographic tools like proof systems, multi-party computation, and fully homomorphic
encryption are usually applied to computations expressed as systems of arithmetic …
encryption are usually applied to computations expressed as systems of arithmetic …
Reconciling high-level optimizations and low-level code in LLVM
LLVM miscompiles certain programs in C, C++, and Rust that use low-level language
features such as raw pointers in Rust or conversion between integers and pointers in C or …
features such as raw pointers in Rust or conversion between integers and pointers in C or …
Unification-based pointer analysis without oversharing
Pointer analysis is indispensable for effectively verifying heap-manipulating programs. Even
though it has been studied extensively, there are no publicly available pointer analyses that …
though it has been studied extensively, there are no publicly available pointer analyses that …
Abstract interpretation of LLVM with a region-based memory model
A Gurfinkel, JA Navas - International Workshop on Numerical Software …, 2021 - Springer
Static analysis of low-level programs (C or LLVM) requires modeling memory. To strike a
good balance between precision and performance, most static analyzers rely on the C …
good balance between precision and performance, most static analyzers rely on the C …
DesCert: Design for certification
N Shankar, D Bhatt, M Ernst, M Kim… - arXiv preprint arXiv …, 2022 - arxiv.org
The goal of the DARPA Automated Rapid Certification Of Software (ARCOS) program is to"
automate the evaluation of software assurance evidence to enable certifiers to determine …
automate the evaluation of software assurance evidence to enable certifiers to determine …
[HTML][HTML] An SMT encoding of LLVM's memory model for bounded translation validation
Several automatic verification tools have been recently developed to verify subsets of
LLVM's optimizations. However, none of these tools has robust support to verify memory …
LLVM's optimizations. However, none of these tools has robust support to verify memory …