blog posts

What is a bug ?

One of the most widely used terms in programming is bug or software defect. This term is one of the terms that are almost always usefel in the speeches of programmers. Because there are almost no programmers in the world who have not encountered software bugs and debugging processes, if you are not familiar with this concept yet, read on to find out what a bug is and its types.

What is a Bug?

What is a Bug;? The bug means insect. The term is useful in computer science to mean defects or forms of software. There are different types of software defects, and they have different origins. Therefore, errors that interfere with the proper execution of software are called bugs.

Bug History

The term is said to have been first coined by Ms. Grace Murray Hopper. Ms.  Grace Hopper is famous as one of the first female programmers. Term Grace Hopper used “error” when debugging or debugging a Mark II computer at Harvard University.
Because when Ms. Hopper, along with several experts examining the Mark II computer, found that the computer was malfunctioning due to a beetle. So they used the term Bug there to mean software defect.

Types of programming bugs

Types of bugs

In the previous section, we learned what a bug is and how this concept entered the world of programmers. The presence of bugs in the software indicates that software coding can always have an association with defects. So the software will always need to update, debugged, and improved. So, contrary to the belief of novice programmers, one can not expect to encounter software bugs or debugging operations in coding.

Bugs can come in many forms, including:

  • Syntax When the rules for writing a programming language are not following, we encounter a syntax bug. For example, use the wrong operator, letters, or characters in the code.
  • Logic: In cases where the software logic is implemented incorrectly, for example, the execution of the software is in an infinite loop.
  • Arithmetic: If the mathematical calculations in the software encounter an error, for example, a number is divided by zero, or the expected result has a computational error.
  • Resources: When the software fails to use software resources. For example, referring to a variable that does not exist or is not definable in the software.
  • Teamworking: Creating differences and errors in programmer coding due to team codings, such as software registration and documentation differences.
  • Interfacing:  Software fails to interact with other parts of software and hardware, such as using the wrong API.
  • Multi-threading: When threads fail to run in software. For example, where task A will not continue until task B is completed, but at the same time, task B cannot continue until task A is completed.

Conclusion

Bug investigation is one of the most important topics in programming. Because programmers have always been trying to develop ways to build their software with the least amount of error. But since bugs and debugging operations are almost an integral part of the software development process, familiarity with the principles of debugging in software has become necessary for programmers.