Computer bugs, or software bugs, are a common problem related to software, and a scourge for program developers. Bugs frequently cause numerous problems and inconveniences to software users, often rendering programs unusable, and demand much effort from the programmers to be managed. In this paper, we will discuss software bugs in more detail, examining their types, causes, consequences, and history, and provide some examples of bugs that led to major losses.
We will write a custom Essay on Software Bugs Types, Causes and Consequences specifically for you
301 certified writers online
A software bug is a term that is used to denote a fault, error, or failure in a piece of computer software, which yields an undesirable result such as a software crash, incorrect behavior of the program, etc. (“A Presentation” par. 1). There exist a number of types of software bugs. These include arithmetic, interfacing, teamworking, performance, resource, syntax, logic, multi-threading programming bugs, and access violations (Periyasamy par. 2).
Software bugs are usually caused by an error made in the process of writing a program. The mistakes can be made at any stage of the software development, and can usually be found in the software’s design, source code, and operating systems in which the programs were run; in some cases, compilers are also capable of causing an error. The most frequently occurring bugs are logic bugs caused by typos when a programmer mistakenly inputs a wrong symbol that is then interpreted by the computer in a different way than the programmer intended.
Apparently, bugs as a phenomenon existed since the development of the first pieces of software; any people, including the very first programmers, are prone to error, so the human factor is always present. The name, however, is said to originate from G. Hopper, a U.S. Navy Admiral and one of the first programmers of the Harvard Mark I computer, who is reputed to have found a moth in a computer. On the other hand, it is stated that the term “bug” was used to denote mistakes and problems long before that. Therefore, the term has earlier roots, but since some point in time, it became firmly associated with programming errors (Computerworld n. pag.).
Computer bugs can be rather harmful, rendering a piece of software unusable or making its use difficult. Often, bugs are encountered when one installs a piece of software and finds that it is not working properly. This leads to the need to look for patches or even buying alternative programs. In organizations, people may lose much time waiting until their programs can work properly. In rare cases, bugs can cause major losses or even extreme situations endangering people’s lives (for instance, if a bug appears in software designed for air industry, or when telecommunications stop working, and people are unable to call an ambulance).
Software designers are forced to take numerous measures in order to avoid bugs, and invest additional resources into debugging (the process of finding errors and disposing of them) (Gupta, Ganeshan, and Singhal 60). Special programs (“debuggers,” bug tracking systems) are developed to find the errors in the code, after which the programmers fix it. In many cases, software testing and debugging take more effort than writing the program itself.
To provide some examples of bugs that led to serious consequences, it is possible to name a bug that caused AT&T, a major American telecommunications company, to lose approximately $60 million in 1990 due to lawsuits, when a software update caused the impossibility of making long-distance calls.
Further, in 1998, a space probe costing $655 million crashed on Mars because the output of the thrusters was mistakenly calculated in pound-seconds instead of newton-seconds (Pogue n. pag.). Another example: in 1996, the European Space Agency launched a rocket in order to test it. However, a computer bug leads to its self-destruction less than a minute after the start (“Bad Bugs” n. pag.).
To sum up, it might be said that bugs are a scourge of program engineering. They often render the software unusable, forcing developers to spend much effort preventing them and creating patches. In some cases, bugs in the software controlling important or large-scale operations may cause major losses to those involved.
Computerworld. Moth in the Machine: Debugging the Origins of ‘Bug’. 2011. Web.
Gupta, Varuna, N. Ganeshan, and Tarun K. Singhal. “Developing Software Bug Prediction Models Using Various Software Metrics as the Bug Indicators.” International Journal of Advanced Computer Science and Applications 6.2 (2015): 60-65. Web.
Periyasamy, Jaiganesh. Common Types of Computer Bugs. n.d. Web.
Get your first paper with 15% OFF
Pogue, David. 5 Most Embarrassing Software Bugs in History. 2014. Web.