A Practical Implementation of Maximum Likelihood Voting
Kalhee Kim, Mladen Alan Vouk, David F. McAllister · 1997
The Maximum Likelihood Voting (MLV) strategy was recently proposed as one of the most reliable voting methods. The strategy determines the most likely correct result based on the reliability history of each software version. In this paper we first discuss the issues that arise in practical implementation of MLV, such as the question of unrealized outputs, the handling of voting ties, and the issue of inter-version failure correlation. We then present an extended MLV algorithm that a) uses a dynamic voting strategy which automatically adapts to the number of realized output space categories, and b) uses component reliability estimates to break voting ties. We also present an empirical evaluation of the implemented MLV strategy, and we compare it with Recovery Block (RB), N-Version Programming (NVP) and Consensus Recovery Block (CRB) approaches. Our results show that, even under high inter-version failure correlation conditions, our implementation of MLV performs well. In fact, statist...