Engineering Blockchain Based Software Systems: Foundations, Survey, and Future Directions
It addresses the need for improved software engineering practices to tackle unique challenges in blockchain-based systems, serving as a foundational survey for further research.
The article presents a systematic literature review on engineering blockchain-based software systems, characterizing foundations, processes, and challenges to consolidate knowledge for practitioners and researchers.
Many scientific and practical areas have shown increasing interest in reaping the benefits of blockchain technology to empower software systems. However, the unique characteristics and requirements associated with Blockchain Based Software (BBS) systems raise new challenges across the development lifecycle that entail an extensive improvement of conventional software engineering. This article presents a systematic literature review of the state-of-the-art in BBS engineering research from a software engineering perspective. We characterize BBS engineering from the theoretical foundations, processes, models, and roles and discuss a rich repertoire of key development activities, principles, challenges, and techniques. The focus and depth of this survey not only gives software engineering practitioners and researchers a consolidated body of knowledge about current BBS development but also underpins a starting point for further research in this field.