[HTML][HTML] cvc5: A versatile and industrial-strength SMT solver

H Barbosa, C Barrett, M Brain, G Kremer… - … Conference on Tools …, 2022 - Springer
Abstract cvc5 is the latest SMT solver in the cooperating validity checker series and builds
on the successful code base of CVC4. This paper serves as a comprehensive system …

Code-pointer integrity

V Kuznetzov, L Szekeres, M Payer, G Candea… - The Continuing Arms …, 2018 - dl.acm.org
In this chapter, we describe code-pointer integrity (CPI), a new design point that guarantees
the integrity of all code pointers in a program (eg, function pointers, saved return addresses) …

Counterfeit object-oriented programming: On the difficulty of preventing code reuse attacks in C++ applications

F Schuster, T Tendyck, C Liebchen… - … IEEE Symposium on …, 2015 - ieeexplore.ieee.org
Code reuse attacks such as return-oriented programming (ROP) have become prevalent
techniques to exploit memory corruption vulnerabilities in software programs. A variety of …

Satisfiability modulo theories

C Barrett, C Tinelli - Handbook of model checking, 2018 - Springer
Abstract Satisfiability Modulo Theories (SMT) refers to the problem of determining whether a
first-order formula is satisfiable with respect to some logical theory. Solvers based on SMT …

[图书][B] Decision procedures

D Kroening, O Strichman - 2016 - Springer
A decision procedure is an algorithm that, given a decision problem, terminates with a
correct yes/no answer. In this book, we focus on decision procedures for decidable first …

solc-verify: A Modular Verifier for Solidity Smart Contracts

Á Hajdu, D Jovanović - … Software. Theories, Tools, and Experiments: 11th …, 2020 - Springer
We present solc-verify, a source-level verification tool for Ethereum smart contracts. solc-
verify takes smart contracts written in Solidity and discharges verification conditions using …

Semantics-based program verifiers for all languages

A Stefănescu, D Park, S Yuwen, Y Li, G Roşu - ACM SIGPLAN Notices, 2016 - dl.acm.org
We present a language-independent verification framework that can be instantiated with an
operational semantics to automatically generate a program verifier. The framework treats …

Automating separation logic using SMT

R Piskac, T Wies, D Zufferey - … , CAV 2013, Saint Petersburg, Russia, July …, 2013 - Springer
Separation logic (SL) has gained widespread popularity because of its ability to succinctly
express complex invariants of a program's heap configurations. Several specialized provers …

A solver for reachability modulo theories

A Lal, S Qadeer, SK Lahiri - … Conference, CAV 2012, Berkeley, CA, USA …, 2012 - Springer
Consider a sequential programming language with control flow constructs such as
assignments, choice, loops, and procedure calls. We restrict the syntax of expressions in this …

Precise and scalable detection of double-fetch bugs in OS kernels

M Xu, C Qian, K Lu, M Backes… - 2018 IEEE Symposium on …, 2018 - ieeexplore.ieee.org
During system call execution, it is common for operating system kernels to read userspace
memory multiple times (multi-reads). A critical bug may exist if the fetched userspace …