Amir Mohammad Ebrahimi

dblp:357/3493 · DBLP profile ↗
← Back
3ranked-venue papers
3as first author
3since 2021 · last 2025
0000-0003-0706-9820ORCID · reported

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

Software engineering, systems software and programming languages · 3 · 3 first-author · 3 since 2021
YearPublicationVenuePosition
2025 UPC sentinel: An accurate approach for detecting upgradeability proxy contracts in Ethereum
Amir Mohammad Ebrahimi, Bram Adams, Gustavo Ansaldi Oliva, Ahmed E. Hassan
Empir. Softw. Eng.1
2024 A large-scale exploratory study on the proxy pattern in Ethereum
Amir Mohammad Ebrahimi, Bram Adams, Gustavo Ansaldi Oliva, Ahmed E. Hassan
Empir. Softw. Eng.1
2023 Self-Admitted Technical Debt in Ethereum Smart Contracts: A Large-Scale Exploratory Study
abstract
Programmable blockchain platforms such as Ethereum offer unique benefits to application development, including a decentralized infrastructure, tamper-proof transactions, and auditability. These benefits enable new types of applications that can bring competitive advantage to several business segments. Nonetheless, the pressure of time-to-market combined with relatively immature development technologies (e.g., the Solidity programming language), lack of high-quality training resources, and an unclear roadmap for Ethereum creates a context that favors the introduction of technical debt (e.g., code hacks, workarounds, and suboptimal implementations) into application code. In this paper, we study self-admitted technical debt (SATD) in smart contracts. SATD refers to technical debt that is explicitly acknowledged in the source code by developers via code comments. We extract 726 k real-world contracts from Ethereum and apply both quantitative and qualitative methods in order to (i) determine SATD prevalence, (ii) understand the relationship between code cloning and SATD prevalence, and (iii) uncover the different categories of SATD. Our findings reveal that, while SATD is not a widespread phenomenon (1.5% of real-world contracts contain SATD), SATD does occur in extremely relevant contracts (e.g., multi-million contracts). We also observed a strong connection between SATD prevalence and code cloning activities, leading us to conclude that the former cannot be reliably studied without taking the latter into consideration. Finally, we produced a taxonomy for SATD that consists of 6 major and 26 minor categories. We note that several minor categories are bound to the domain of blockchain and smart contracts, including gas-inefficient implementations and Solidity-induced workarounds. Based on our results, we derive a set of practical recommendations for contract developers and introduce open research questions to guide future research on the topic.
Amir Mohammad Ebrahimi, Gustavo Ansaldi Oliva, Ahmed E. Hassan
IEEE Trans. Software Eng.1