Synthesis of Sound and Precise Storage Cost Bounds via Unsound Resource Analysis and Max-SMT
A storage is a persistent memory whose contents are kept across different program executions. In the \emph{blockchain} technology, storage contents are replicated and incur the largest costs of a program's execution (a.k.a. \emph{gas fees}).
Storage costs are \emph{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 \emph{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 \emph{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%.
Fri 20 SepDisplayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change
10:30 - 11:50 | Call Graphs and Static AnalysisTechnical Papers at EI 9 Hlawka Chair(s): Julia Rubin The University of British Columbia | ||
10:30 20mTalk | Unimocg: Modular Call-Graph Algorithms for Consistent Handling of Language Features Technical Papers Dominik Helm University of Duisburg-Essen; TU Darmstadt; National Research Center for Applied Cybersecurity ATHENE, Tobias Roth TU Darmstadt; National Research Center for Applied Cybersecurity ATHENE, Sven Keidel TU Darmstadt, Michael Reif CQSE, Mira Mezini TU Darmstadt; hessian.AI; National Research Center for Applied Cybersecurity ATHENE DOI Pre-print | ||
10:50 20mTalk | Total Recall? How Good Are Static Call Graphs Really? Technical Papers Dominik Helm University of Duisburg-Essen; TU Darmstadt; National Research Center for Applied Cybersecurity ATHENE, Sven Keidel TU Darmstadt, Anemone Kampkötter TU Dortmund, Johannes Düsing TU Dortmund, Tobias Roth TU Darmstadt; National Research Center for Applied Cybersecurity ATHENE, Ben Hermann TU Dortmund, Mira Mezini TU Darmstadt; hessian.AI; National Research Center for Applied Cybersecurity ATHENE DOI Pre-print | ||
11:10 20mTalk | Call Graph Soundness in Android Static Analysis Technical Papers Jordan Samhi CISPA Helmholtz Center for Information Security, René Just University of Washington, Tegawendé F. Bissyandé University of Luxembourg, Michael D. Ernst University of Washington, Jacques Klein University of Luxembourg Link to publication DOI Pre-print | ||
11:30 20mTalk | Synthesis of Sound and Precise Storage Cost Bounds via Unsound Resource Analysis and Max-SMT Technical Papers Elvira Albert Complutense University of Madrid, Jesús Correas Complutense University of Madrid, Pablo Gordillo Complutense University of Madrid, Guillermo Román-Díez Universidad Politécnica de Madrid, Albert Rubio Complutense University of Madrid DOI |