Papers by Christoph Wintersteiger
ACM queue, Apr 30, 2024
Imandra, Inc., where he develops new formal software verification techniques and decision procedu... more Imandra, Inc., where he develops new formal software verification techniques and decision procedures.

arXiv (Cornell University), Feb 8, 2023
Container-based technologies empower cloud tenants to develop highly portable software and deploy... more Container-based technologies empower cloud tenants to develop highly portable software and deploy services in the cloud at a rapid pace. Cloud privacy, meanwhile, is important as a large number of container deployments operate on privacy-sensitive data, but challenging due to the increasing frequency and sophistication of attacks. State-of-the-art confidential container-based designs leverage process-based trusted execution environments (TEEs), but face security and compatibility issues that limits their practical deployment. We propose Parma, an architecture that provides lift-andshift deployment of unmodified containers while providing strong security protection against a powerful attacker who controls the untrusted host and hypervisor. Parma leverages VM-level isolation to execute a container group within a unique VM-based TEE. Besides container integrity and user data confidentiality and integrity, Parma also offers container attestation and execution integrity based on an attested execution policy. Parma execution policies provide an inductive proof over all future states of the container group. This proof, which is established during initialization, forms a root of trust that can be used for secure operations within the container group without requiring any modifications of the containerized workflow itself (aside from the inclusion of the execution policy.) We evaluate Parma on AMD SEV-SNP processors by running a diverse set of workloads demonstrating that workflows exhibit 0-26% additional overhead in performance over running outside the enclave, with a mean 13% overhead on SPEC2017, while requiring no modifications to their program code. Adding execution policies introduces less than 1% additional overhead. Furthermore, we have deployed Parma as the underlying technology driving Confidential Containers on Azure Container Instances.

arXiv (Cornell University), Nov 23, 2017
We consider the problem of solving floating-point constraints obtained from software verification... more We consider the problem of solving floating-point constraints obtained from software verification. We present UppSAT-an new implementation of a systematic approximation refinement framework [24] as an abstract SMT solver. Provided with an approximation and a decision procedure (implemented in an off-the-shelf SMT solver), UppSAT yields an approximating SMT solver. Additionally, UppSAT yieldsincludes a library of predefined approximation components which can be combined and extended to define new encodings, orderings and solving strategies. We propose that UppSAT can be used as a sandbox for easy and flexible exploration of new approximations. To substantiate this, we explore several approximations of floating-point arithmetic. Approximations can be viewed as a composition of an encoding into a target theory, a precision ordering, and a number of strategies for model reconstruction and precision (or approximation) refinement. We present encodings of floating-point arithmetic into reduced precision floating-point arithmetic, real-arithmetic, and fixed-point arithmetic (encoded into the theory of bit-vectors in practice). In an experimental evaluation we compare the advantages and disadvantages of approximating solvers obtained by combining various encodings and decision procedures (based on existing, state-of-the-art SMT solvers for floating-point, real, and bit-vector arithmetic).
The Reasoning Engine: A Satisfiability Modulo Theories-Based Framework for Reasoning About Discrete Biological Models
Journal of Computational Biology
An SMT-Based Framework for Reasoning About Discrete Biological Models
Lecture Notes in Computer Science, 2022

Automated Reasoning, 2018
We consider the problem of solving floating-point constraints obtained from software verification... more We consider the problem of solving floating-point constraints obtained from software verification. We present UppSAT-an new implementation of a systematic approximation refinement framework [24] as an abstract SMT solver. Provided with an approximation and a decision procedure (implemented in an off-the-shelf SMT solver), UppSAT yields an approximating SMT solver. Additionally, UppSAT yieldsincludes a library of predefined approximation components which can be combined and extended to define new encodings, orderings and solving strategies. We propose that UppSAT can be used as a sandbox for easy and flexible exploration of new approximations. To substantiate this, we explore several approximations of floating-point arithmetic. Approximations can be viewed as a composition of an encoding into a target theory, a precision ordering, and a number of strategies for model reconstruction and precision (or approximation) refinement. We present encodings of floating-point arithmetic into reduced precision floating-point arithmetic, real-arithmetic, and fixed-point arithmetic (encoded into the theory of bit-vectors in practice). In an experimental evaluation we compare the advantages and disadvantages of approximating solvers obtained by combining various encodings and decision procedures (based on existing, state-of-the-art SMT solvers for floating-point, real, and bit-vector arithmetic).

Formal Methods in Computer-Aided Design, Oct 20, 2010
In recent years, bit-precise reasoning has gained importance in hardware and software verificatio... more In recent years, bit-precise reasoning has gained importance in hardware and software verification. Of renewed interest is the use of symbolic reasoning for synthesising loop invariants, ranking functions, or whole program fragments and hardware circuits. Solvers for the quantifier-free fragment of bit-vector logic exist and often rely on SAT solvers for efficiency. However, many techniques require quantifiers in bit-vector formulas to avoid an exponential blow-up during construction. Solvers for quantified formulas usually flatten the input to obtain a quantified Boolean formula, losing much of the word-level information in the formula. We present a new approach based on a set of effective word-level simplifications that are traditionally employed in automated theorem proving, heuristic quantifier instantiation methods used in SMT solvers, and model finding techniques based on skeletons/templates. Experimental results on two different types of benchmarks indicate that our method outperforms the traditional flattening approach by multiple orders of magnitude of runtime.
Ranking function synthesis is a key component of modern termination provers for imperative progra... more Ranking function synthesis is a key component of modern termination provers for imperative programs. While it is well-known how to generate linear ranking functions for relations over (mathematical) integers or rationals, efficient synthesis of ranking functions for machine-level integers (bit-vectors) is an open problem. This is particularly relevant for the verification of lowlevel code. We propose several novel algorithms to generate ranking functions for relations over machine integers: a complete method based on a reduction to Presburger arithmetic, and a template-matching approach for predefined classes of ranking functions based on reduction to SAT-and QBF-solving. The utility of our algorithms is demonstrated on examples drawn from Windows device drivers. This is is an extended version of our TACAS 2010 paper

Lecture Notes in Computer Science, 2018
We consider the problem of solving floating-point constraints obtained from software verification... more We consider the problem of solving floating-point constraints obtained from software verification. We present UppSAT-an new implementation of a systematic approximation refinement framework [21] as an abstract SMT solver. Provided with an approximation and a decision procedure (implemented in an off-the-shelf SMT solver), UppSAT yields an approximating SMT solver. Additionally, UppSAT includes a library of predefined approximation components which can be combined and extended to define new encodings, orderings and solving strategies. We propose that UppSAT can be used as a sandbox for easy and flexible exploration of new approximations. To substantiate this, we explore encodings of floating-point arithmetic into reduced precision floating-point arithmetic, real-arithmetic, and fixed-point arithmetic (encoded into the theory of bit-vectors in practice). In an experimental evaluation we compare the advantages and disadvantages of approximating solvers obtained by combining various encodings and decision procedures.

The automation of reasoning has been an aim of research for a long time. Already in 17th century,... more The automation of reasoning has been an aim of research for a long time. Already in 17th century, the famous mathematician Leibniz invented a mechanical calculator capable of performing all four basic arithmetic operators. Although automatic reasoning can be done in different fields, many of the procedures for automated reasoning handles formulas of first-order logic. Examples of use cases includes hardware verification, program analysis and knowledge representation.One of the fundamental challenges in first-order logic is handling quantifiers and the equality predicate. On the one hand, SMT-solvers (Satisfiability Modulo Theories) are quite efficient at dealing with theory reasoning, on the other hand they have limited support for complete and efficient reasoning with quantifiers. Sequent, tableau and resolution calculi are methods which are used to construct proofs for first-order formulas and can use more efficient techniques to handle quantifiers. Unfortunately, in contrast to S...
Programming Z3
Engineering Trustworthy Software Systems, 2019
Parallel Satisfiability Modulo Theories
Satisfiability Modulo Theories (SMT) is an extension of the propositional satisfiability problem ... more Satisfiability Modulo Theories (SMT) is an extension of the propositional satisfiability problem (SAT) to other, well-chosen (first-order) theories such as integers, reals, and bit-vectors. This approach currently enjoys much popularity, especially in the field of software verification, where SMT solvers have become the de facto standard tool for the discharge of verification conditions. The development of parallel SMT solvers is still in its infancy, but the first general paradigms have been established. This chapter provides an overview of the recent advances in this area, specifically algorithm portfolio, search-space partitioning, and problem decomposition techniques, and how they relate to each other in theory and practice.
Bit-vector arithmetic operations rely on modular arithmetic semantics, which often complicates al... more Bit-vector arithmetic operations rely on modular arithmetic semantics, which often complicates algebraic manipulations. One such example are inequalities. Satisfiability of a system of modular inequalities is NP-complete [1]. In this memo we investigate a simple type of inequalities: only one variable is permitted and there are no multiplications. Satisfiability is solved in polynomial time by translating the problem into conjunctions of positive and negative intervals. This lets us decide systems of such inequalities but also identify uniqueness of solution and remove redundancies. This approach can be used to preprocess bit-vector problems and might also be useful in connection with other approaches, such as abstract interpretation [3,2].

Learning-Sensitive Backdoors with Restarts
Restarts are a pivotal aspect of conflict-driven clause-learning (CDCL) SAT solvers, yet it remai... more Restarts are a pivotal aspect of conflict-driven clause-learning (CDCL) SAT solvers, yet it remains unclear when they are favorable in practice, and whether they offer additional power in theory. In this paper, we consider the power of restarts through the lens of backdoors. Extending the notion of learning-sensitive (LS) backdoors, we define a new parameter called learning-sensitive with restarts (LSR) backdoors. Broadly speaking, we show that LSR backdoors are a powerful parametric lens through which to understand the impact of restarts on SAT solver performance, and specifically on the kinds of proofs constructed by SAT solvers. First, we prove that when backjumping is disallowed, LSR backdoors can be exponentially smaller than LS backdoors. Second, we demonstrate that the size of LSR backdoors are dependent on the learning scheme used during search. Finally, we present new algorithms to compute upper-bounds on LSR backdoors that intrinsically rely upon restarts, and can be compu...

Over the years complexity theorists have proposed many structural parameters to explain the surpr... more Over the years complexity theorists have proposed many structural parameters to explain the surprising efficiency of conflict-driven clause-learning (CDCL) SAT solvers on a wide variety of large industrial Boolean instances. While some of these parameters have been studied empirically, until now there has not been a unified comparative study of their explanatory power on a comprehensive benchmark. We correct this state of affairs by conducting a large-scale empirical evaluation of CDCL SAT solver performance on nearly 7000 industrial and crafted formulas against several structural parameters such as backdoors, treewidth, backbones, and community structure. Our study led us to several results. First, we show that while such parameters only weakly correlate with CDCL solving time, certain combinations of them yield much better regression models. Second, we show how some parameters can be used as a "lens" to better understand the efficiency of different solving heuristics. Fi...

We present CCF, a framework to build permissioned confidential blockchains. CCF provides a simple... more We present CCF, a framework to build permissioned confidential blockchains. CCF provides a simple programming model of a highly-available data store and a universally-verifiable log that implements a ledger abstraction. CCF leverages trust in a consortium of governing members and in a network of replicated hardware-protected execution environments to achieve high throughput, low latency, strong integrity and strong confidentiality for application data and code executing on the ledger. CCF embeds consensus protocols with Byzantine and crash faulttolerant configurations. All configurations support strong service integrity based on the ledger contents. Even if some replicas are corrupt or their keys are compromised, they can be blamed based on their signed evidence of malicious activity recorded in the ledger. CCF supports transparent, programmable governance where the power of the consortium members is tunable and their activity is similarly recorded in the ledger for full auditabilit...

Theory and Applications of Satisfiability Testing
Lecture Notes in Computer Science, 2005
Preface.- Solving Over-Constrained Problems with SAT Technology.- A Symbolic Search Based Approac... more Preface.- Solving Over-Constrained Problems with SAT Technology.- A Symbolic Search Based Approach for Quantified Boolean Formulas.- Substitutional Definition of Satisfiability in Classical Propositional Logic.- A Clause-Based Heuristic for SAT Solvers.- Effective Preprocessing in SAT Through Variable and Clause Elimination.- Resolution and Pebbling Games.- Local and Global Complete Solution Learning Methods for QBF.- Equivalence Checking of Circuits with Parameterized Specifications.- Observed Lower Bounds for Random 3-SAT Phase Transition Density Using Linear Programming.- Simulating Cutting Plane Proofs with Restricted Degree of Falsity by Resolution.- Resolution Tunnels for Improved SAT Solver Performance.- Diversification and Determinism in Local Search for Satisfiability.- On Finding All Minimally Unsatisfiable Subformulas.- Optimizations for Compiling Declarative Models into Boolean Formulas.- Random Walk with Continuously Smoothed Variable Weights.- Derandomization of PPSZ for Unique-k-SAT.- Heuristics for Fast Exact Model Counting.- A Scalable Method for Solving Satisfiability of Integer Linear Arithmetic Logic.- DPvis - A Tool to Visualize the Structure of SAT Instances.- Constraint Metrics for Local Search.- Input Distance and Lower Bounds for Propositional Resolution Proof Length.- Sums of Squares, Satisfiability and Maximum Satisfiability.- Faster Exact Solving of SAT Formulae with a Low Number of Occurrences per Variable.- A New Approach to Model Counting.- Benchmarking SAT Solvers for Bounded Model Checking.- Model-Equivalent Reductions.- Improved Exact Solvers for Weighted Max-SAT.- Quantifier Trees for QBFs.- Quantifier Rewriting and Equivalence Models for Quantified Horn Formulas.- A Branching Heuristics for Quantified Renamable Horn Formulas.- An Improved Upper Bound for SAT.- Bounded Model Checking with QBF.- Variable Ordering for Efficient SAT Search by Analyzing Constraint-Variable Dependencies.- Cost-Effective Hyper-Resolution for Preprocessing CNF Formulas.- Automated Generation of Simplification Rules for SAT and MAXSAT.- Speedup Techniques Utilized in Modern SAT Solvers.- FPGA Logic Synthesis Using Quantified Boolean Satisfiability.- On Applying Cutting Planes in DLL-Based Algorithms for Pseudo-Boolean Optimization.- A New Set of Algebraic Benchmark Problems for SAT Solvers.- A Branch-and-Bound Algorithm for Extracting Smallest Minimal Unsatisfiable Formulas.- Threshold Behaviour of WalkSAT and Focused Metropolis Search on Random 3-Satisfiability.- On Subsumption Removal and On-the-Fly CNF Simplification.
Crane: Eine Kryptanalyse-Umgebung
winterstiger.at, Feb 1, 2006
Page 1. JOHANNES KEPLER UNIVERSITÄT LINZ Netzwerk für Forschung, Lehre und Praxis Crane: Eine Kry... more Page 1. JOHANNES KEPLER UNIVERSITÄT LINZ Netzwerk für Forschung, Lehre und Praxis Crane: Eine Kryptanalyse-Umgebung Diplomarbeit zur Erlangung des akademischen Grades Diplomingenieur in der Studienrichtung Informatik ...

Lecture Notes in Computer Science, 2015
A fundamental question in biology is how cells change into specific cell types with unique roles ... more A fundamental question in biology is how cells change into specific cell types with unique roles throughout development. This process can be viewed as a program prescribing the system dynamics, governed by a network of genetic interactions. Recent experimental evidence suggests that these networks are not fixed but rather change their topology as cells develop. Currently, there are limited tools for the construction and analysis of such self-modifying biological programs. We introduce Switching Gene Regulatory Networks to enable the modeling and analysis of network reconfiguration, and define the synthesis problem of constructing switching networks from observations of cell behavior. We solve the synthesis problem using Satisfiability Modulo Theories (SMT) based methods, and evaluate the feasibility of our method by considering a set of synthetic benchmarks exhibiting typical biological behavior of cell development.
The increasing popularity of automated tools for software and hardware verification puts ever inc... more The increasing popularity of automated tools for software and hardware verification puts ever increasing demands on the underlying decision procedures. This paper presents a framework for distributed decision procedures (for first-order problems) based on Craig interpolation. Formulas are distributed in a lazy fashion, i.e., without the use of costly decomposition algorithms. Potential models which are shown to be incorrect are reconciled through the use of Craig interpolants. Experimental results on challenging propositional satisfiability problems indicate that our method is able to outperform traditional solving techniques even without the use of additional resources.
Uploads
Papers by Christoph Wintersteiger