Explore chapters and articles related to this topic
Computer system and Internet reliability and software bugs in computer systems
Published in B. S. Dhillon, Systems reliability and usability for engineers, 2019
Software bugs in computer systems have become a pressing issue due to problems that they cause, such as high cost and catastrophic failures. For example, in 2002, a study commissioned by the U.S. Department of Commerce's National Institute of Standards and Technology (NIST) revealed that software bugs and errors alone cost the U.S. economy approximately $59 billion per year—about 0.6% of its gross domestic product (GDP)] [5].
Do we need to pay technical debt in blockchain software systems?
Published in Connection Science, 2022
Yubin Qu, Tie Bao, Xiang Chen, Long Li, Xianzhen Dou, Meng Yuan, Hongmei Wang
To alleviate these issues, more systematic software engineering approaches, referred to as engineering methodologies, have been researched to ensure the quality of both development and maintenance of blockchain-based software systems (Boopathi et al., 2020; Panda & Nagwani, 2021; Porru et al., 2017; Rankovic et al., 2021). According to 58 selected core studies, Fahmideh et al. organise the research of blockchain-based software systems in four aspects, including approaches, processes, modeling, and role which guide software developers, business managers, and academic researchers in the exploration of practical side and implications (Fahmideh et al., n.d.). There are four phases for the development of blockchain-based software systems, including system analysis, system design, system implementation and test, and system maintenance. In the test phase, conventional testing techniques are used to improve software quality. However, traditional software testing techniques are inadequate in practice. This is because blockchain technology has its own characteristics. For example, smart contracts have the property that cannot be modified after they are deployed. Code review is one of the basic methods to identify potential software bugs and fix them quickly and efficiently.