# Software Engineering Applications Enabled by Blockchain Technology: A Systematic Mapping Study
## 4 Results
### Blockchain Uses in Software Engineering Reported in Literature (RQ2)
According to the authors, this model ensures the transparent code quality measurement history, i.e., visible to any authorized user. [PERSON] et al. [51] proposed a blockchain-based platform namely CoderChain. This platform consists of three roles: developers, code and jury. The novelty of this approach lies in the \"jury\" concept which entails developers with advanced skills. The jury assesses and reviews the code of developers and stores this review on the blockchain ledger. The authors conclude that such an approach ensures the reliability of code reviews, the anonymity of reviewers and enhances code quality. **Software maintenance. ** Given that the maintenance of open-source software projects is at the mercy of volunteers [29], it may happen that after development the software is no longer maintained and further developed. To address this issue, [PERSON] and [PERSON] [29] proposed implementing a continuously operating virtual organization to represent the software, by means of Ethereum smart contracts. Their model enables the collection of funds for software development proposals through cryptocurrencies and, additionally, records citations, software usage and software executions on the public blockchain. The proposed model is deployed on a local Ethereum blockchain network, however, the validation is constrained to the gas consumption of smart contracts functions and does not consider aspects of performance efficiency, such as latency and throughput. **Software configuration management. **[PERSON] and [PERSON] [41] introduced the first peer-to-peer software license validation approach based on blockchain technology back in 2015. Different from the other studies that make use of smart contracts or chaincode, such an approach uses bitcoins that are held by the user to prove software entitlement. Blockchain enables developers or vendors to allocate licenses to users in a cost-effective and transparent manner. These licenses are stored on the blockchain ledger and can be verified by any node. [PERSON] and [PERSON] [30] proposed a user-run package management model, where any participant may propose new packages and verify the work of others. This approach aims to replace centralized package management systems, in order to democratize and professionalize the SE field. In turn, [PERSON] and [PERSON] [52] proposed a blockchain-enabled package control system that stores metadata of the new packages (owner name, package name, version and dependencies) on the distributed ledger and package files on IPFS (InterPlanetary File System). Their model was successfully tested with 4338 packages from NPM (Node Package Manager). The authors strongly believe that the use of smart contracts could have a significant impact on the open-source ecosystem, in terms of maintaining a block chain of version and dependencies in software packages. **Software engineering management. ** The development of software by distributed teams that make use of a variety of artifacts from disparate sources leads to issues, such as the lack of integrity, lack of provenance, and ineffective compliance monitoring [37]. To address these issues, [PERSON] et al. [37] proposed a blockchain-based governance framework for trustworthy software development which consists of three layers, as follows:  
* _Data Layer._ The goal of this layer is to capture and monitor event data from the variety of tools used throughout the SDLC. To model the diverse sources of data, the authorspropose the use of PROV family of specifications which support the capture of the software development resource view, process-flow view and data-flow view. * _Analytical Layer._ This layer comprises the analysis of event data for: compliance checking, provenance services and integrity assessment. Regulations and best practices, e.g., libraries should not be used if their vulnerability score is 5 and above (vulnerability threshold is 4), are encoded in the form of smart contracts [53].