Leonardo Alt

dblp:138/6934 · also Leonardo S. Alt · DBLP profile ↗
← Back
13ranked-venue papers
4as first author
4since 2021 · last 2025
0000-0001-5976-5153ORCID · verified

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 7 · 4 first-author · 2 since 2021Theory of computation · 6 · 2 first-author · 2 since 2021Artificial intelligence and machine learning · 4 · 1 since 2021Security and privacy · 1 · 1 since 2021
YearPublicationVenuePosition
2025 A reversible system based on hybrid toggle radius-4 cellular automata and its application as a block cipher
Everton R. Lira, Heverton B. Macêdo, Danielli A. Lima, Leonardo Alt, Gina M. B. Oliveira
Nat. Comput.4
2024 SolTG: A CHC-Based Solidity Test Case Generator
abstract
Abstract Achieving high test coverage is important when developing blockchain smart contracts, but it could be challenging without automated reasoning tools. In this paper, we present SolTG, an automated test case generator for Solidity based on constrained Horn clauses (CHC). SolTG exhaustively enumerates symbolic path constraints from the contract’s CHC representation and makes calls to the Satisfiability Modulo Theories (SMT) solver to find input values under which the contract exhibits the corresponding behavior. Test cases synthesized by SolTG have the form of a sequence of function calls over concrete values of input parameters which lead to a specific execution scenario. The tool supports multiple Solidity-specific features and is capable of exhibiting a high coverage for industrial-grade Solidity code. We present a detailed architecture of SolTG based on the existing translation of smart contracts into a CHC representation. We also present the experimental results for test generation on the regression and industrial benchmarks.
Konstantin Britikov, Ilia Zlatkin, Grigory Fedyukovich, Leonardo Alt, Natasha Sharygina
CAV (1)4
2023 A Solicitous Approach to Smart Contract Verification
abstract
Smart contracts are tempting targets of attacks, as they often hold and manipulate significant financial assets, are immutable after deployment, and have publicly available source code, with assets estimated in the order of millions of dollars being lost in the past due to vulnerabilities. Formal verification is thus a necessity, but smart contracts challenge the existing highly efficient techniques routinely applied in the symbolic verification of software, due to specificities not present in general programming languages. A common feature of existing works in this area is the attempt to reuse off-the-shelf verification tools designed for general programming languages. This reuse can lead to inefficiency and potentially unsound results, as domain translation is required. In this article, we describe a carefully crafted approach that directly models the central aspects of smart contracts natively, going from the contract to its logical representation without intermediary steps. We use the expressive and highly automatable logic of constrained Horn clauses for modeling and instantiate our approach to the Solidity language. A tool implementing our approach, called Solicitous , was developed and integrated into the SMTChecker module of the Solidity compiler solc. We evaluated our approach on an extensive benchmark set containing 22,446 real-world smart contracts deployed on the Ethereum blockchain over a 27-month period. The results show that our approach is able to establish safety of significantly more contracts than comparable, publicly available verification tools, with an order of magnitude increase in the percentage of formally verified contracts.
Rodrigo Otoni, Matteo Marescotti, Leonardo Alt, Patrick Eugster, Antti Eero Johannes Hyvärinen, Natasha Sharygina
ACM Trans. Priv. Secur.3
2022 SolCMC: Solidity Compiler's Model Checker
abstract
Abstract Formally verifying smart contracts is important due to their immutable nature, usual open source licenses, and high financial incentives for exploits. Since 2019 the Ethereum Foundation’s Solidity compiler ships with a model checker. The checker, called SolCMC, has two different reasoning engines and tracks closely the development of the Solidity language. We describe SolCMC’s architecture and use from the perspective of developers of both smart contracts and tools for software verification, and show how to analyze nontrivial properties of real life contracts in a fully automated manner.
Leonardo Alt, Martin Blicha, Antti Eero Johannes Hyvärinen, Natasha Sharygina
CAV (1)1
2020 Accurate Smart Contract Verification Through Direct Modelling
Matteo Marescotti, Rodrigo Otoni, Leonardo Alt, Patrick Eugster, Antti Eero Johannes Hyvärinen, Natasha Sharygina
ISoLA (3)3
2019 Exploiting partial variable assignment in interpolation-based model checking
Pavel Jancík, Jan Kofron, Leonardo Alt, Grigory Fedyukovich, Antti Eero Johannes Hyvärinen, Natasha Sharygina
Formal Methods Syst. Des.3
2018 SMT-Based Verification of Solidity Smart Contracts
Leonardo Alt, Christian Reitwießner
ISoLA (4)1
2017 Duality-based interpolation for quantifier-free equalities and uninterpreted functions
abstract
Interpolating, i.e., computing safe over-approximations for a system represented by a logical formula, is at the core of symbolic model-checking. One of the central tools in modeling programs is the use of the equality logic and uninterpreted functions (EUF), but certain aspects of its interpolation, such as size and the logical strength, are still relatively little studied. In this paper we present a solid framework for building compact, strength-controlled interpolants, prove its strength and size properties on EUF, implement and combine it with a propositional interpolation system and integrate the implementation into a model checker. We report encouraging results on using the interpolants both in a controlled setting and in the model checker. Based on the experimentation the presented techniques have potentially a big impact on the final interpolant size and the number of counter-example-guided refinements.
Leonardo Alt, Antti Eero Johannes Hyvärinen, Sepideh Asadi, Natasha Sharygina
FMCAD1
2017 HiFrog: SMT-based Function Summarization for Software Verification
Leonardo Alt, Sepideh Asadi, Hana Chockler, Karine Even-Mendoza, Grigory Fedyukovich, Antti Eero Johannes Hyvärinen, Natasha Sharygina
TACAS (2)1
2016 PVAIR: Partial Variable Assignment InterpolatoR
Pavel Jancík, Leonardo Alt, Grigory Fedyukovich, Antti Eero Johannes Hyvärinen, Jan Kofron, Natasha Sharygina
FASE2
2016 OpenSMT2: An SMT Solver for Multi-core and Cloud Computing
Antti Eero Johannes Hyvärinen, Matteo Marescotti, Leonardo Alt, Natasha Sharygina
SAT3
2013 PeRIPLO: A Framework for Producing Effective Interpolants in SAT-Based Software Verification
Simone Rollini, Leonardo Alt, Grigory Fedyukovich, Antti Eero Johannes Hyvärinen, Natasha Sharygina
LPAR2
2010 Secret Key Specification for a Variable-Length Cryptographic Cellular Automata Model
Gina M. B. Oliveira, Luiz G. A. Martins, Giordano B. Ferreira, Leonardo Alt
PPSN (2)4