Читать книгу From Traditional Fault Tolerance to Blockchain - Wenbing Zhao - Страница 28

1.2.1 Fault Avoidance

Оглавление

For software components, fault avoidance aims to ensure correct design specification and correct implementation before a distributed system is released. This objective can be achieved by employing standard software engineering practices, for example:

 ◾ More rigorous software design using techniques such as formal methods. Formal methods mandate the use of formal language to facilitate the validation of a specification.

 ◾ More rigorous software testing to identify and remove software bugs due to remnant design deficiency and introduced during implementation.

 ◾ For some applications, it may be impractical to employ formal methods, in which case, it is wise to design for testability [2], for example, by extensively use unit testing that is available in many modern programming languages such as Java and C#.

From Traditional Fault Tolerance to Blockchain

Подняться наверх