Multi-Version Programming to Successfully Leverage Overseas Programming

This post is more than 18 months old. Since technology changes to rapidly, this content may be out of date (but that's not always the case). Please remember to verify any technical or programming information with the current release.

Today, I read through the paper titled ‘An Experimental Evaluation of the Assumption of Independence in Multi-Version Programming’ (Find it here).

The basic concept is that in N programs written by N different programmers, they will have N*N bugs and inconsistencies. However, the probability of them having the exact same fault is very small. By executing the same programs at the same time and comparing the output to each other automatically, you can take the majority of exact same output and call that the bug-free result. Those who have not matched the output of everyone else theoretically have a bug.

Now, this got me thinking about people who outsource their technology. Lets say I have a wage of $50 an hour. I make a pretty good program. However, lets say you can hire an outsource programmer for $10 an hour who has average accuracy in their program. You could hire 4 of them, saving yourself $10 an hour, and run those programs together. Compare the output, use the majority of the answers that match, and money is saved.

Now, mind you, I am not a fan of outsourcing at all - but I just thought it would be an interesting idea.

Return to All Posts