Abstract
N-version programming is one of the most common techniques which is used to improve the reliability of software by building in fault tolerance, redundancy and decreasing common cause failures. N different equivalent software versions are developed by N different and isolated workgroups by considering the same software specifications. The versions solve the same task and return results that have to be compared to determine the correct result. Decisions of N different versions are evaluated by a voting algorithm or the so-called voter. In this paper, two of the most commonly used software voting algorithms such as the majority voting algorithm and the consensus voting algorithm are studied. The distinctive features of Nversion programming with majority voting and N-version programming with consensus voting are described. These two algorithms make a decision about the correct result on the base of the agreement matrix. However, if the equivalence relation on the agreement matrix is not satisfied it is impossible to make a decision. It is shown that the agreement matrix can be transformed into an appropriate form by using the Boolean compositions when the equivalence relation is satisfied.
Original language | English |
---|---|
Article number | 042059 |
Journal | Journal of Physics: Conference Series |
Volume | 1015 |
Issue number | 4 |
DOIs | |
Publication status | Published - 22 May 2018 |
Externally published | Yes |
Event | International Conference on Information Technologiess in Business and Industry 2018, ITBI 2018 - Tomsk, Russian Federation Duration: 17 Jan 2018 → 20 Jan 2018 |
Bibliographical note
Publisher Copyright:© Published under licence by IOP Publishing Ltd.