VLDB 2026 Research / reviewers in the wild / expert
Guillermo Román-Díez
dblp:27/9116
· DBLP profile ↗
25ranked-venue papers
0as first author
5since 2021 · last 2026
0000-0002-5427-8855ORCID · conflict
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 22 · 5 since 2021Theory of computation · 5
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2026 | EASYRPL - A web-based tool for modelling and analysis of cross-organisational workflows
Muhammad Rizwan Ali, Violet Ka I Pun, Guillermo Román-Díez |
FASE | 3 |
| 2025 | Harnessing heap analysis for the synthesis of superoptimized bytecode
Elvira Albert, Jesús Correas Fernández, Pablo Gordillo, Guillermo Román-Díez, Albert Rubio |
J. Syst. Softw. | 4 |
| 2024 | Synthesis of Sound and Precise Storage Cost Bounds via Unsound Resource Analysis and Max-SMTabstractA storage is a persistent memory whose contents are kept across different program executions. In the blockchain technology, storage contents are replicated and incur the largest costs of a program’s execution (a.k.a. gas fees). Storage costs are dynamically calculated using a rather complex model which assigns a much larger cost to the first access made in an execution to a storage key, and besides assigns different costs to write accesses depending on whether they change the values w.r.t. the initial and previous contents. Safely assuming the largest cost for all situations, as done in existing gas analyzers, is an overly-pessimistic approach that might render useless bounds because of being too loose. The challenge is to soundly, and yet accurately, synthesize storage bounds which take into account the dynamicity implicit to the cost model. Our solution consists in using an off-the-shelf static resource analysis —but do not always assuming a worst-case cost— and hence yielding unsound bounds; and then, in a posterior stage, computing corrections to recover soundness in the bounds by using a new Max-SMT based approach. We have implemented our approach and used it to improve the precision of two gas analyzers for Ethereum, gastap and asparagus. Experimental results on more than 400,000 functions show that we achieve great accuracy gains, up to 75%, on the storage bounds, being the most frequent gains between 10-20%. Elvira Albert, Jesús Correas Fernández, Pablo Gordillo, Guillermo Román-Díez, Albert Rubio |
ISSTA | 4 |
| 2023 | Inferring Needless Write Memory Accesses on Ethereum BytecodeabstractAbstract 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 on reducing the costs of deploying and executing the contracts, as there are fees to pay related to their bytes-size and to their resource consumption (called gas ). Optimizing memory usage is considered a challenging problem that, among other things, requires a precise inference of the memory locations being accessed. This is also the case for the Ethereum Virtual Machine (EVM) bytecode generated by the most-widely used compiler, , whose rather unconventional and low-level memory usage challenges automated reasoning. This paper presents a static analysis, developed at the level of the EVM bytecode generated by , that infers write memory accesses that are needless and thus can be safely removed. The application of our implementation on more than 19,000 real smart contracts has detected about 6,200 needless write accesses in less than 4 hours. Interestingly, many of these writes were involved in memory usage patterns generated by that can be greatly optimized by removing entire blocks of bytecodes. To the best of our knowledge, existing optimization tools cannot infer such needless write accesses, and hence cannot detect these inefficiencies that affect both the deployment and the execution costs of Ethereum smart contracts. Elvira Albert, Jesús Correas Fernández, Pablo Gordillo, Guillermo Román-Díez, Albert Rubio |
TACAS (1) | 4 |
| 2021 | Don't run on fumes - Parametric gas bounds for smart contracts
Elvira Albert, Jesús Correas Fernández, Pablo Gordillo, Guillermo Román-Díez, Albert Rubio |
J. Syst. Softw. | 4 |
| 2020 | Smart, and also Reliable and Gas-Efficient, ContractsabstractA smart contract is a software program that runs on top of a blockchain. It contains a collection of public functions that can be invoked within the transactions launched over the contract by parties interacting with it. Being computer programs, well-studied formal verification techniques can be applied to them. Indeed, smart contracts are a very interesting application domain for validation, verification and optimization techniques since (1) they are relatively small in size, hence the application of these techniques scales better than when applied to larger industrial code, (2) they are valuable (in the corresponding blockchain cryptocurrency), hence software bugs or inefficiencies can cause economical losses and there is much interest in formally proving their safety and security, and (3) they require proving new specific properties to ensure their reliability and efficiency. Elvira Albert, Jesús Correas Fernández, Pablo Gordillo, Guillermo Román-Díez, Albert Rubio |
ICST | 4 |
| 2020 | GASOL: Gas Analysis and Optimization for Ethereum Smart ContractsabstractAbstract We present the main concepts, components, and usage of G asol , a Gas AnalysiS and Optimization tooL for Ethereum smart contracts. G asol offers a wide variety of cost models that allow inferring the gas consumption associated to selected types of EVM instructions and/or inferring the number of times that such types of bytecode instructions are executed. Among others, we have cost models to measure only storage opcodes, to measure a selected family of gas-consumption opcodes following the Ethereum’s classification, to estimate the cost of a selected program line, etc. After choosing the desired cost model and the function of interest, G asol returns to the user an upper bound of the cost for this function. As the gas consumption is often dominated by the instructions that access the storage, G asol uses the gas analysis to detect under-optimized storage patterns, and includes an (optional) automatic optimization of the selected function. Our tool can be used within an Eclipse plugin for which displays the gas and instructions bounds and, when applicable, the gas-optimized function. Elvira Albert, Jesús Correas Fernández, Pablo Gordillo, Guillermo Román-Díez, Albert Rubio |
TACAS (2) | 4 |
| 2019 | SAFEVM: a safety verifier for Ethereum smart contractsabstractEthereum 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 that makes use of state-of-the-art verification engines for C programs. SAFEVM takes as input an Ethereum smart contract (provided either in Solidity source code, or in compiled EVM bytecode), optionally with assert and require verification annotations, and produces in the output a report with the verification results. Besides general safety annotations, SAFEVM handles the verification of array accesses: it automatically generates SV-COMP verification assertions such that C verification engines can prove safety of array accesses. Our experimental evaluation has been undertaken on all contracts pulled from etherscan.io (more than 24,000) by using as back-end verifiers CPAchecker, SeaHorn and VeryMax. Elvira Albert, Jesús Correas Fernández, Pablo Gordillo, Guillermo Román-Díez, Albert Rubio |
ISSTA | 4 |
| 2019 | Peak resource analysis of concurrent distributed systems
Elvira Albert, Jesús Correas Fernández, Guillermo Román-Díez |
J. Syst. Softw. | 3 |
| 2018 | Parallel Cost AnalysisabstractThis article presents parallel cost analysis , a static cost analysis targeting to over-approximate the cost of parallel execution in distributed systems. In contrast to the standard notion of serial cost , parallel cost captures the cost of synchronized tasks executing in parallel by exploiting the true concurrency available in the execution model of distributed processing. True concurrency is challenging for static cost analysis, because the parallelism between tasks needs to be soundly inferred, and the waiting and idle processor times at the different locations need to be accounted for. Parallel cost analysis works in three phases: (1) it performs a block-level analysis to estimate the serial costs of the blocks between synchronization points in the program; (2) it then constructs a distributed flow graph (DFG) to capture the parallelism, the waiting, and idle times at the locations of the distributed system; and (3) the parallel cost can finally be obtained as the path of maximal cost in the DFG. We prove the correctness of the proposed parallel cost analysis, and provide a prototype implementation to perform an experimental evaluation of the accuracy and feasibility of the proposed analysis. Elvira Albert, Jesús Correas Fernández, Einar Broch Johnsen, Violet Ka I Pun, Guillermo Román-Díez |
ACM Trans. Comput. Log. | 5 |
| 2016 | A formal verification framework for static analysis - As well as its instantiation to the resource analyzer COSTA and formal verification tool KeY
Elvira Albert, Richard Bubel, Samir Genaim, Reiner Hähnle, Germán Puebla, Guillermo Román-Díez |
Softw. Syst. Model. | 6 |
| 2015 | Resource Analysis: From Sequential to Concurrent and Distributed Programs
Elvira Albert, Puri Arenas, Jesús Correas Fernández, Samir Genaim, Miguel Gómez-Zamalloa, Enrique Martin-Martin, Germán Puebla, Guillermo Román-Díez |
FM | 8 |
| 2015 | Parallel Cost Analysis of Distributed Systems
Elvira Albert, Jesús Correas Fernández, Einar Broch Johnsen, Guillermo Román-Díez |
SAS | 4 |
| 2015 | Non-cumulative Resource Analysis
Elvira Albert, Jesús Correas Fernández, Guillermo Román-Díez |
TACAS | 3 |
| 2015 | Quantified abstract configurations of distributed systemsabstractAbstract When reasoning about distributed systems, it is essential to have information about the different kinds of nodes that compose the system, how many instances of each kind exist, and how nodes communicate with other nodes. In this paper we present a static-analysis-based approach which is able to provide information about the questions above. In order to cope with an unbounded number of nodes and an unbounded number of calls among them, the analysis performs an abstraction of the system producing a graph whose nodes may represent (infinitely) many concrete nodes and arcs represent any number of (infinitely) many calls among nodes. The crux of our approach is that the abstraction is enriched with upper bounds inferred by resource analysis that limit the number of concrete instances that the nodes and arcs represent and their resource consumption. The information available in our quantified abstract configurations allows us to define performance indicators which measure the quality of the system. In particular, we present several indicators that assess the level of distribution in the system, the amount of communication among distributed nodes that it requires, and how balanced the load of the distributed nodes that compose the system is. Our performance indicators are given as functions on the input data sizes, and they can be used to automate the comparison of different distributed settings and guide towards finding the optimal configuration. Elvira Albert, Jesús Correas Fernández, Germán Puebla, Guillermo Román-Díez |
Formal Aspects Comput. | 4 |
| 2015 | Object-sensitive cost analysis for concurrent objectsabstractSummary This article presents a novel cost analysis framework for concurrent objects. Concurrent objects form a well‐established model for distributed concurrent systems. In this model, objects are the concurrency units that communicate among them via asynchronous method calls. Cost analysis aims at automatically approximating the resource consumption of executing a program in terms of its input parameters. While cost analysis for sequential programming languages has received considerable attention, concurrency and distribution have been notably less studied. The main challenges of cost analysis in a concurrent setting are as follows. First, inferring precise size abstractions for data in the program in the presence of shared memory. This information is essential for bounding the number of iterations of loops. Second, distribution suggests that analysis must infer the cost of the diverse distributed components separately. We handle this by means of a novel form of object‐sensitive recurrence equations that use cost centres in order to keep the resource usage assigned to the different components separate. We have implemented our analysis and evaluated it on several small applications that are classical examples of concurrent and distributed programming. Copyright © 2015 John Wiley & Sons, Ltd. Elvira Albert, Puri Arenas, Jesús Correas Fernández, Samir Genaim, Miguel Gómez-Zamalloa, Germán Puebla, Guillermo Román-Díez |
Softw. Test. Verification Reliab. | 7 |
| 2015 | A multi-domain incremental analysis engine and its application to incremental resource analysis
Elvira Albert, Jesús Correas Fernández, Germán Puebla, Guillermo Román-Díez |
Theor. Comput. Sci. | 4 |
| 2014 | Static Inference of Transmission Data Sizes in Distributed Systems
Elvira Albert, Jesús Correas Fernández, Enrique Martin-Martin, Guillermo Román-Díez |
ISoLA (2) | 4 |
| 2014 | Peak Cost Analysis of Distributed Systems
Elvira Albert, Jesús Correas Fernández, Guillermo Román-Díez |
SAS | 3 |
| 2014 | SACO: Static Analyzer for Concurrent Objects
Elvira Albert, Puri Arenas, Antonio Flores-Montoya, Samir Genaim, Miguel Gómez-Zamalloa, Enrique Martin-Martin, Germán Puebla, Guillermo Román-Díez |
TACAS | 8 |
| 2014 | Conditional termination of loops over heap-allocated data
Elvira Albert, Puri Arenas, Samir Genaim, Germán Puebla, Guillermo Román-Díez |
Sci. Comput. Program. | 5 |
| 2013 | Quantified Abstractions of Distributed Systems
Elvira Albert, Jesús Correas Fernández, Germán Puebla, Guillermo Román-Díez |
IFM | 4 |
| 2012 | Verified Resource Guarantees for Heap Manipulating Programs
Elvira Albert, Richard Bubel, Samir Genaim, Reiner Hähnle, Guillermo Román-Díez |
FASE | 5 |
| 2012 | Incremental resource usage analysisabstractThe aim of incremental global analysis is, given a program, its analysis results and a series of changes to the program, to obtain the new analysis results as efficiently as possible and, ideally, without having to (re-)analyze fragments of code which are not affected by the changes. incremental analysis can significantly reduce both the time and the memory requirements of analysis. This paper presents an incremental resource usage analysis for a sequential Java-like language. Our main contributions are (1) a multi-domain incremental fixed-point algorithm which can be used by all global pre-analyses required to infer the cost (including class, sharing, cyclicity, constancy, and size analyses), and which takes care of propagating dependencies among such domains, and (2) a novel form of cost summaries which allows us to incrementally reconstruct only those components of cost functions affected by the change. Experimental results in the COSTA system show that the proposed incremental analysis performs very efficiently in practice. Elvira Albert, Jesús Correas Fernández, Germán Puebla, Guillermo Román-Díez |
PEPM | 4 |
| 2011 | Verified resource guarantees using COSTA and KeYabstractResource guarantees allow being certain that programs will run within the indicated amount of resources, which may refer to memory consumption, number of instructions executed, etc. This information can be very useful, especially in real-time and safety-critical applications. Nowadays, a number of automatic tools exist, often based on type systems or static analysis, which produce such resource guarantees. In spite of being based on theoretically sound techniques, the implemented tools may contain bugs which render the resource guarantees thus obtained not completely trustworthy. Performing full-blown verification of such tools is a daunting task, since they are large and complex. In this work we investigate an alternative approach whereby, instead of the tools, we formally verify the results of the tools. We have implemented this idea using COSTA, a state-of-the-art static analysis system, for producing resource guarantees and KeY, a state-of-the-art verification tool, for formally verifying the correctness of such resource guarantees. Our preliminary results show that the proposed tool cooperation can be used for automatically producing verified resource guarantees. Elvira Albert, Richard Bubel, Samir Genaim, Reiner Hähnle, Germán Puebla, Guillermo Román-Díez |
PEPM | 6 |