Applying Blockchain to Improve the Integrity of the Software Development Process

Date

2019

Editor(s)

Advisor

Supervisor

Co-Advisor

Co-Supervisor

Instructor

Source Title

Systems, Software and Services Process Improvement

Print ISSN

1865-0929

Electronic ISSN

Publisher

Springer, Cham

Volume

1060

Issue

Pages

260 - 271

Language

English

Journal Title

Journal ISSN

Volume Title

Series

Communications in Computer and Information Science;1060

Abstract

Software development is a complex endeavor that encompasses application and implementation layers with functional (refers to what is done) and non-functional (how is done) aspects. The efforts to scale agile software development practices are not wholly able to address issues such as integrity, which is a crucial non-functional aspect of the software development process. However, if we consider most software failures are Byzantine failures (i.e., where components may fail and there is imperfect information on which a component has failed.) that might impair the operation but do not completely disable the production line. In this paper, we assume software practitioners who cause defects as Byzantine participants and claim that most software failures can be mitigated by viewing software development as the Byzantine Generals Problem. Consequently, we propose a test-driven incentive mechanism based on a blockchain concept to orchestrate the software development process where production is controlled by a similar infrastructure based on the working principles of blockchain. We discuss the model that integrates blockchain with the software development process, and provide some recommendations for future work to address the issues while orchestrating software production.

Course

Other identifiers

Book Title

Citation