Definition of Bug (Computing)
Miscellanea / / July 04, 2021
By Guillem Alsina González, in Jan. 2017
The first modern computers were not exactly small, nor did they work in the same way, but based on larger mechanical and electronic parts.
We are situated, in temporal terms, during the Second World War, and more specifically in 1944, when the computer The Mark II (built by IBM at Harvard) suffered a failure in an electromagnetic relay, at the time a primary component for a computer.
When opening the computer and looking for the affected relay, those responsible found that a moth (in English, bug) had crept into the system, bumping against the relay, which was left open
Since then, every time that some type of error occurred in said computer, the scientists in charge of its management began to speak of a bug, a term that made a fortune to refer to all kinds of problems and errors that prevented the normal functioning of hardware
Over time and the increased reliability of the hardware in parallel to its miniaturization, most of the problems suffered by computers They remained in the software section, although the name bug made a fortune to name these mistakes
How should we understand a bug in the modern sense of the term? Well, simply, as a failure at the time of programming, which gives rise to a part of the code source containing an essential error, causing the resulting program to have run-time problems.
Bugs can lead to recurring problems as long as the Username does a series of things, or when there are a series of circumstances that are not always repeated when doing the same things in the same order, but depend on factors external to the program.
Thus, for example, we can have conflicts between a program and a different program loaded in memory, but that the problem occurs when we have done a series of things with both applications.
Between the bugs most common in programming we have the division by zero, buffer overflow, memory violation, errors of operations with treatment not contemplated in the program, incorrect access to variables, ...
The tools of programming They tend to offer solutions to detect and correct these problems, first reviewing the source code and applying logical rules (for example, if a variable is accessed before declare it and define its type), and then through code testing tools that allow us to play with the entered values and examine the records with information from execution.
This process is called “debug”, From the English term debug (to clean of bugs).
The darkest side of bugs is that they can open the door to executing malware on the system running the affected program
Since once the error has been caused, there are ways to exploit the problem caused in the operating system to execute arbitrary code injected from outside.
If we add to this the privileges that can be earned in the system, we have a potential danger very serious that has been exploited in multitudes of occasions by cybercriminals to access third-party systems.
Photos: Fotolia - selcuk kırbız / gustavofrazao
Topics in Bug (Computing)