TY - GEN Y1 - 2024/08/15/ SP - 72 N1 - This version is the author accepted manuscript. For information on re-use, please refer to the publisher's terms and conditions. ID - discovery10196285 PB - Institute of Electrical and Electronics Engineers (IEEE) TI - DAI: A Dependencies Analyzer and Installer for Solidity Smart Contracts AV - public EP - 75 N2 - The growing importance of Decentralized Applications (dApps) in areas such as the Internet of Things (IoT), Cybersecurity, and Finance is playing a crucial role in advancing software maintenance, security, and data sharing. Understanding the complex architecture and components of dApps is essential to harness their full benefits. This often involves the challenging task of identifying and retrieving key components during the dApp compilation process, particularly when dealing with multiple external dependencies. A case in point is the variety of versions in the OpenZeppelin libraries, where finding compatible elements can be a laborious process. In response to this challenge, we introduce DAI (Dependency Analyser and Installer), a novel tool that automates the identification of compatible external dependency versions for specific smart contracts. This tool significantly simplifies the compilation process for dApps that incorporate external modules, making it more efficient for developers and researchers. We evaluated DAI on 57 real-world dApps, achieving success in determining the right dependency match for 50 cases. However, the inability to compile the remaining 7 dApps due to missing files and artifacts highlights the ongoing complexities in dApp development. KW - Blockchain KW - Smart Contracts KW - Decentralized Applications KW - Software Engineering A1 - Ibba, Giacomo A1 - Destefanis, Giuseppe A1 - Neykova, Rumyana A1 - Ortu, Marco A1 - Aufiero, Sabrina A1 - Bartolucci, Silvia UR - https://doi.org/10.1109/SANER-C62648.2024.00015 ER -