Introduction:
A software bug is an error, flaw, failure, or fault in a computer program or system that produces an incorrect or unexpected result, or causes it to behave in unintended ways. Most bugs arise from mistakes and errors made by people in either a program's source code or its design, and a few are caused by compilers producing incorrect code. Bugs trigger errors that can in turn have a wide variety of ripple effects, with varying levels of inconvenience to the user of the program.
In software development projects, a "mistake" or "fault" can be committed at any stage during development. Bugs are a consequence of the nature of human factors in the programming task. They arise from oversights or mutual misunderstandings made by a software team during specification, design, coding, data entry and documentation. More complex bugs can arise from unintended interactions between different parts of a computer program. This frequently occurs because computer programs can be complex — millions of lines long in some cases — often having been programmed by many people over a great length of time, so that programmers are unable to mentally track every possible way in which parts can interact.
Chain of Events:
Recent efforts to reform the management of elections in Kenya received a major setback following the malfunctioning of electronic transmission of votes, putting the credibility of the presidential poll on trial. The system, based on the acquisition of one-way phone lines from telecoms operator Safaricom connected to servers at the Independent Electoral and Boundaries Commission’s national tallying centre at the Bomas of Kenya, was a key measure in improving the credibility of the presidential poll, especially the relay and central tallying of the results.
The malfunction was attributed to a software bug in a program developed in-house by the IEBC’s IT department, which, besides being slow, also automatically