When a programmer checks to see if a program functions correctly and then corrects errors, it is known as debugging. It is the art of diagnosing errors in programs and determining how to correct them. “Bugs” come in a variety of forms, including: coding errors, design errors, complex interactions, poor user interface designs, and system failures