Bugs are errors in PC programs that cause the software to not work as it should. Generally, bugs are caused by an error in the code that is usually only discovered by users when using the program.
The name bug comes from the time when the first computers were developed. The huge calculating machines worked with large circuits, relays, and partially mechanical items. Bugs usually got into the PC case and caused a short circuit or similar malfunction. Testimony to such a finding is a logbook entry with a beetle attached, which was found in the 'Aiken Mark II Relay Calculator' in 1947, after a malfunction.
The use of the term bug for a failure in a mechanical and / or electrical system is, however, even older: It is said that Thomas Edison already spoke of bugs in 1878, when he told a friend about the difficulties of his inventions
Types of use
Bugs occur in a wide variety of variants. Since the programs are created by humans, a statistical frequency of errors in the source code is expected. The larger a program, the more likely it is that bugs will be detected either in beta testing or by users. There are different types of errors that lead to bugs.
1.) Lexical errors are misspelled or unknown input words. Depending on the programming paradigm used, only certain correctly written commands of a particular language (usually English) are possible. Even a lowercase letter or an incorrect translation can lead to a program bug.
2.) Syntax errors are characterized by the fact that the available characters of the respective programming language have not been used correctly. If a semicolon or quotation marks are missing, the program may fail at these points.
3.) Semantic errors occur when parts of the program are incorrectly defined as a parameter or an argument. The syntax may be absolutely correct, but an error in the declaration can lead to unwanted results.
4.) If the program still contains an error that only becomes apparent during the test run, this is known as a runtime error. The compiler translates the program into binary code so that the computer can run the program. If unexpected values occur for certain variables, you can abort, even though everything seems to be fine in formal terms.
5.) Execution errors are closely related to logical errors. In particular, large programs can produce undesirable results due to logical errors in the source code. The program does not end, but instead emits data that it is not supposed to emit. Logic errors can also lead to security holes.
Avoiding bugs begins with planning a programming project, in what is called software engineering. The Phases of a project are defined based on the objectives of the program. Structural processes promise that the program will produce precisely what it is supposed to produce. This is accompanied by documentation of the development procedure so that simple changes can be made later.
Regardless, since some bugs are only discovered when many users use the program, alpha and beta tests are carried out before the program is released. Even after the publication of a program, bugs can be corrected through updates, corrections or patches. A known bug is Heartbleed, for example.
Importance for SEO
Occasionally, SEOs also exploit errors to influence positioning through so-called black hat methods.