eprintid: 10196285 rev_number: 11 eprint_status: archive userid: 699 dir: disk0/10/19/62/85 datestamp: 2024-08-30 12:34:35 lastmod: 2024-08-30 12:34:35 status_changed: 2024-08-30 12:34:35 type: proceedings_section metadata_visibility: show sword_depositor: 699 creators_name: Ibba, Giacomo creators_name: Destefanis, Giuseppe creators_name: Neykova, Rumyana creators_name: Ortu, Marco creators_name: Aufiero, Sabrina creators_name: Bartolucci, Silvia title: DAI: A Dependencies Analyzer and Installer for Solidity Smart Contracts ispublished: pub divisions: UCL divisions: B04 divisions: F48 keywords: Blockchain, Smart Contracts, Decentralized Applications, Software Engineering note: This version is the author accepted manuscript. For information on re-use, please refer to the publisher's terms and conditions. abstract: 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. date: 2024-08-15 date_type: published publisher: Institute of Electrical and Electronics Engineers (IEEE) official_url: https://doi.org/10.1109/SANER-C62648.2024.00015 oa_status: green full_text_type: other language: eng primo: open primo_central: open_green verified: verified_manual elements_id: 2307821 doi: 10.1109/SANER-C62648.2024.00015 isbn_13: 979-8-3503-5157-6 lyricists_name: Bartolucci, Silvia lyricists_id: SBART13 actors_name: Bartolucci, Silvia actors_id: SBART13 actors_role: owner full_text_status: public pres_type: paper publication: 2024 IEEE International Conference on Software Analysis, Evolution and Reengineering - Companion (SANER-C) pagerange: 72-75 event_title: 2024 IEEE International Conference on Software Analysis, Evolution and Reengineering - Companion (SANER-C) event_location: Rovaniemi, Finland event_dates: 12th March 2024 book_title: Proceedings of the IEEE International Conference on Software Analysis, Evolution and Reengineering - Companion (SANER-C) citation: Ibba, Giacomo; Destefanis, Giuseppe; Neykova, Rumyana; Ortu, Marco; Aufiero, Sabrina; Bartolucci, Silvia; (2024) DAI: A Dependencies Analyzer and Installer for Solidity Smart Contracts. In: Proceedings of the IEEE International Conference on Software Analysis, Evolution and Reengineering - Companion (SANER-C). (pp. pp. 72-75). Institute of Electrical and Electronics Engineers (IEEE) Green open access document_url: https://discovery.ucl.ac.uk/id/eprint/10196285/1/DAI__A_Dependencies_Analyser_and_Installer_For_Solidity_Smart_Contracts-4.pdf