Software Engineering Practices applied to Blockchain Technology and Decentralized Applications

MARCHESI, LODOVICA
2022-04-22

Abstract

Blockchain software development is becoming more and more important for any modern software developer and IT startup. Nonetheless, blockchain software production still lacks a disciplined, organized and mature development process. The goal of my research is to study innovative software engineering techniques applicable to the development of blockchain applications. I focused on the use of agile practices, because these are suitable for developing systems whose requirements are not fully understood from the beginning, or tend to change, as is the case with most blockchain-based applications. In particular, I contributed to the proposal of a method to guide software development, called ABCDE, meaning Agile BlockChain Dapp Engineering. It takes into account the substantial difference between developing traditional software and developing smart contracts, and separates the two activities. It considers the software integration among the blockchain components and the off-chain components, which all together constitute a complete dApp system. The method also addresses specific activities for both security assessment and gas optimization, two of the main issues of dApp development, through systematic use of patterns and checklists. Agile methodologies aim to reduce software development risk, however, the risk of project failure or time and budget overruns is still a relevant problem. Therefore, I studied and developed a new approach to model some key risk factors in agile development, using software process simulation modeling (SPSM). The approach includes modeling the agile process, gathering data from the tool used for project management, and performing Monte Carlo simulations of the process, to get insights about the expected time and effort to complete the project, and about their distributions. While the simulator hasn't been specifically applied to blockchain projects yet, it has all the features to be able to do so. I also proposed an evaluation framework to compare public and permissioned blockchains, specifically suited for industrial applications. Then, I presented a complete solution based on Ethereum to implement a decentralized application, putting together in an original way components and patterns already used and proved. The proposed approach has the same transparency and immutability of a public blockchain, largely reducing its drawbacks. The key reason to use a blockchain is trust. There is a growing demand for transparency across the agri-food supply chain from customers and governments. The adoption of blockchain technology to enable secure traceability for the agri-food supply chain management, provide information such as the provenance of a food product, and prevent food fraud, is rapidly emerging. However, developing correct smart contracts for these use cases is still more of a challenge. My research also focused on defining a novel approach for easily customizing and composing general Ethereum-based smart contracts designed for the agri-food industrial domain, to be able to reuse the code and modules and automate the process to shorten the time of development, keeping it secure and trusted. Starting from the definition of the real production process, I aimed to automatically generate both the smart contracts to manage the system and the user interfaces to interact with them, thus producing a working system in a semi-automated way. Another supply chain in which blockchain technology can be applied with potential advantages is the shipping logistics. With the support of SWOT analysis, I explored the application prospects and the practical impacts, benefits, pros and cons, economic and technical barriers related to the use of Blockchain to support the creation of an interport community. Finally, I included in this thesis, albeit marginally, a research to the study of techniques for the forecasting of time series, in particular to forecast daily closing price series of different cryptocurrencies.
22-apr-2022
Inglese
34
2020/2021
MATEMATICA E INFORMATICA
Settore INF/01 - Informatica
TONELLI, ROBERTO
DESTEFANIS, GIUSEPPE
Università degli Studi di Cagliari
open
info:eu-repo/semantics/doctoralThesis
-2
8 Tesi di Dottorato::8.1 Tesi di Dottorato
Doctoral Thesis
File in questo prodotto:
File Dimensione Formato  
Tesi di dottorato_Lodovica Marchesi.pdf

accesso aperto

Descrizione: Tesi di dottorato_Lodovica Marchesi
Tipologia: Tesi di dottorato
Dimensione 4 MB
Formato Adobe PDF
4 MB Adobe PDF Visualizza/Apri

I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Questionario e social

Condividi su:
Impostazioni cookie