Temporal system call specialization for attack surface reduction

S Ghavamnia, T Palit, S Mishra… - 29th USENIX Security …, 2020 - usenix.org
Attack surface reduction through the removal of unnecessary application features and code
is a promising technique for improving security without incurring any additional overhead …

PKRU-Safe: Automatically locking down the heap between safe and unsafe languages

P Kirth, M Dickerson, S Crane, P Larsen… - Proceedings of the …, 2022 - dl.acm.org
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 …

RustHorn: CHC-based verification for Rust programs

Y Matsushita, T Tsukada, N Kobayashi - ACM Transactions on …, 2021 - dl.acm.org
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 …

Abslearn: a gnn-based framework for aliasing and buffer-size information retrieval

K Liang, J Tan, D Zeng, Y Huang, X Huang… - Pattern Analysis and …, 2023 - Springer
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 …

CirC: Compiler infrastructure for proof systems, software verification, and more

A Ozdemir, F Brown, RS Wahby - 2022 IEEE Symposium on …, 2022 - ieeexplore.ieee.org
Cryptographic tools like proof systems, multi-party computation, and fully homomorphic
encryption are usually applied to computations expressed as systems of arithmetic …

Reconciling high-level optimizations and low-level code in LLVM

J Lee, CK Hur, R Jung, Z Liu, J Regehr… - Proceedings of the ACM …, 2018 - dl.acm.org
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 …

Unification-based pointer analysis without oversharing

J Kuderski, JA Navas, A Gurfinkel - 2019 Formal Methods in …, 2019 - ieeexplore.ieee.org
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 …

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 …

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 …

[HTML][HTML] An SMT encoding of LLVM's memory model for bounded translation validation

J Lee, D Kim, CK Hur, NP Lopes - … , CAV 2021, Virtual Event, July 20–23 …, 2021 - Springer
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 …