Albert Rubio
YOU?
Author Swipe
View article: SuperStack: Superoptimization of Stack-Bytecode via Greedy, Constraint-Based, and SAT Techniques
SuperStack: Superoptimization of Stack-Bytecode via Greedy, Constraint-Based, and SAT Techniques Open
Given a loop-free sequence of instructions, superoptimization techniques use a constraint solver to search for an equivalent sequence that is optimal for a desired objective. The complexity of the search grows exponentially with the length…
View article: Inferring Needless Write Memory Accesses on Ethereum Bytecode (Extended Version)
Inferring Needless Write Memory Accesses on Ethereum Bytecode (Extended Version) Open
Efficiency is a fundamental property of any type of program, but it is even more so in the context of the programs executing on the blockchain (known as smart contracts). This is because optimizing smart contracts has direct consequences o…
View article: Inferring Needless Write Memory Accesses on Ethereum Bytecode
Inferring Needless Write Memory Accesses on Ethereum Bytecode Open
Efficiency is a fundamental property of any type of program, but it is even more so in the context of the programs executing on the blockchain (known as smart contracts ). This is because optimizing smart contracts has direct consequences …
View article: Circom: A Circuit Description Language for Building Zero-Knowledge Applications
Circom: A Circuit Description Language for Building Zero-Knowledge Applications Open
© 2023 IEEE. Personal use of this material is permitted. Permission from IEEE must be obtained for all other uses, in any current or future media, including reprinting/republishing this material for advertising or promotional purposes,crea…
View article: CIRCOM: A Robust and Scalable Language for Building Complex Zero-Knowledge Circuits
CIRCOM: A Robust and Scalable Language for Building Complex Zero-Knowledge Circuits Open
A zero-knowledge (ZK) proof guarantees that the result of a computation is correct while keeping part of the computation details private. Some ZK proofs are tiny and can be verified in short time, which makes them one of the most promising…
View article: CIRCOM: A Robust and Scalable Language for Building Complex Zero-Knowledge Circuits
CIRCOM: A Robust and Scalable Language for Building Complex Zero-Knowledge Circuits Open
A zero-knowledge (ZK) proof guarantees that the result of a computation is correct while keeping part of the computation details private. Some ZK proofs are tiny and can be verified in short time, which makes them one of the most promising…
View article: Distilling Constraints in Zero-Knowledge Protocols
Distilling Constraints in Zero-Knowledge Protocols Open
The most widely used Zero-Knowledge (ZK) protocols require provers to prove they know a solution to a computational problem expressed as a Rank-1 Constraint System (R1CS). An R1CS is essentially a system of non-linear arithmetic constraint…
View article: Using Automated Reasoning Techniques for Enhancing the Efficiency and Security of (Ethereum) Smart Contracts
Using Automated Reasoning Techniques for Enhancing the Efficiency and Security of (Ethereum) Smart Contracts Open
The use of the Ethereum blockchain platform [17] has experienced an enormous growth since its very first transaction back in 2015 and, along with it, the verification and optimization of the programs executed in the blockchain (known as Et…
View article: A Max-SMT Superoptimizer for EVM handling Memory and Storage
A Max-SMT Superoptimizer for EVM handling Memory and Storage Open
Superoptimization is a compilation technique that searches for the optimal sequence of instructions semantically equivalent to a given (loop-free) initial sequence. With the advent of SMT solvers, it has been successfully applied to LLVM c…
View article: Lower-Bound Synthesis Using Loop Specialization and Max-SMT
Lower-Bound Synthesis Using Loop Specialization and Max-SMT Open
This paper presents a new framework to synthesize lower-bounds on the worst-case cost for non-deterministic integer loops. As in previous approaches, the analysis searches for a metering function that under-approximates the number of loop …
View article: Taming callbacks for smart contract modularity
Taming callbacks for smart contract modularity Open
Callbacks are an effective programming discipline for implementing event-driven programming, especially in environments like Ethereum which forbid shared global state and concurrency. Callbacks allow a callee to delegate the execution back…
View article: Incomplete SMT Techniques for Solving Non-Linear Formulas over the Integers
Incomplete SMT Techniques for Solving Non-Linear Formulas over the Integers Open
We present new methods for solving the Satisfiability Modulo Theories problem over the theory of Quantifier-Free Non-linear Integer Arithmetic, SMT(QF-NIA), which consists in deciding the satisfiability of ground formulas with integer poly…
View article: Incomplete SMT Techniques for Solving Non-Linear Formulas over the\n Integers
Incomplete SMT Techniques for Solving Non-Linear Formulas over the\n Integers Open
We present new methods for solving the Satisfiability Modulo Theories problem\nover the theory of Quantifier-Free Non-linear Integer Arithmetic, SMT(QF-NIA),\nwhich consists in deciding the satisfiability of ground formulas with integer\np…
View article: Analyzing Smart Contracts: From EVM to a sound Control-Flow Graph
Analyzing Smart Contracts: From EVM to a sound Control-Flow Graph Open
The EVM language is a simple stack-based language with words of 256 bits, with one significant difference between the EVM and other virtual machine languages (like Java Bytecode or CLI for .Net programs): the use of the stack for saving th…
View article: Actor-Based Model Checking for SDN Networks
Actor-Based Model Checking for SDN Networks Open
Software-Defined Networking (SDN) is a networking paradigm that has become increasingly popular in the last decade. The unprecedented control over the global behavior of the network it provides opens a range of new opportunities for formal…
View article: Incomplete SMT Techniques for Solving Non-Linear Formulas over the Integers
Incomplete SMT Techniques for Solving Non-Linear Formulas over the Integers Open
We present new methods for solving the Satisfiability Modulo Theories problem over the theory of Quantifier-Free Non-linear Integer Arithmetic, SMT(QF-NIA), which consists of deciding the satisfiability of ground formulas with integer poly…
View article: SAFEVM: a safety verifier for Ethereum smart contracts
SAFEVM: a safety verifier for Ethereum smart contracts Open
Ethereum smart contracts are public, immutable and distributed and, as such, they are prone to vulnerabilities sourcing from programming mistakes of developers. This paper presents SAFEVM, a verification tool for Ethereum smart contracts t…
View article: The Termination and Complexity Competition
The Termination and Complexity Competition Open
The termination and complexity competition (termCOMP) focuses on automated termination and complexity analysis for various kinds of programming paradigms, including categories for term rewriting, integer transition systems, imperative prog…
View article: Symbolische Auswertung und Programmsynthese : Ein allgemeiner Ansatz zur Software-Verifikation
Symbolische Auswertung und Programmsynthese : Ein allgemeiner Ansatz zur Software-Verifikation Open
We are concerned with the correctness of software and present a general methodology for verifying properties of programs in virtually any programming language. This methodology consists of two stages: First, we symbolically execute the pro…
View article: GASTAP: A Gas Analyzer for Smart Contracts.
GASTAP: A Gas Analyzer for Smart Contracts. Open
Gas is a measurement unit of the computational effort that it will take to execute every single operation that takes part in the Ethereum blockchain platform. Each instruction executed by the Ethereum Virtual Machine (EVM) has an associate…
View article: Running on Fumes--Preventing Out-of-Gas Vulnerabilities in Ethereum Smart Contracts using Static Resource Analysis
Running on Fumes--Preventing Out-of-Gas Vulnerabilities in Ethereum Smart Contracts using Static Resource Analysis Open
Gas is a measurement unit of the computational effort that it will take to execute every single operation that takes part in the Ethereum blockchain platform. Each instruction executed by the Ethereum Virtual Machine (EVM) has an associate…
View article: Constrained Dynamic Partial Order Reduction
Constrained Dynamic Partial Order Reduction Open
The cornerstone of dynamic partial order reduction (DPOR) is the notion of independence that is used to decide whether each pair of concurrent events p and t are in a race and thus both $$p \cdot t$$ and $$t \cdot p$$ must be explored. We …
View article: Compositional Safety Verification with Max-SMT
Compositional Safety Verification with Max-SMT Open
We present an automated compositional program verification technique for safety properties based on conditional inductive invariants. For a given program part (e.g., a single loop) and a postcondition $φ$, we show how to, using a Max-SMT s…
View article: Normal Higher-Order Termination
Normal Higher-Order Termination Open
We extend the termination proof methods based on reduction orderings to higher-order rewriting systems based on higher-order pattern matching. We accommodate, on the one hand, a weakly polymorphic, algebraic extension of Church’s simply ty…