debugging


Also found in: Dictionary, Thesaurus, Medical, Financial, Wikipedia.

debugging

(programming)
The process of attempting to determine the cause of the symptoms of malfunctions in a program or other system. These symptoms may be detected during testing or use by real users.

Symptoms are often caused by factors outside the program, such as misconfiguration of the user's operating system, misunderstanding by the user (see PEBCAK) or failures in other external systems on which the program relies. Some of these are more in the realm of technical support but need to be eliminated. Debugging really starts when it has been established that the program is not behaving according to its specification (which may be formal or informal). It can be done by visual inspection of the source code, debugging by printf or using a debugger. The result may be that the program is actually behaving as specified but that the spec is wrong or the requirements on which it was based were deficient in some way (see BAD).

Once a bug has been identified and a fix applied, the program must be tested to determine whether the bug is really fixed and what effects the changes have had on other aspects of the program's operation (see regression testing).

The term is said to have been coined by Grace Hopper, based on the term "bug".
References in periodicals archive ?
The Indago Debug Platform and debugging apps are part of the comprehensive Cadence System Development Suite and are currently available for early adopters.
In another example, ABAQUS uses TotalView on IBM systems running AIX on Power to address the challenges of debugging in data-intensive and distributed computing environments.
The Workbench On-Chip Debugging solution provides an advanced graphical JTAG development environment that allows organizations to standardize on a common framework of tools for hardware bring-up, kernel debugging, and software development (OS, middleware, applications) as well as test and manufacturing.
All Optima plug-ins support fully distributed debugging, which enables any target CPU in a connected network to be accessed without the need for a direct connection.
We joined the Nexus Forum standardization effort because it will enable the availability of an even broader array of world-class debugging tools needed by the growing number of multi-core SOC designers worldwide.
The PICkit 2 Debug Express debugging capabilities are currently supported on select PIC microcontrollers, with support for additional devices coming soon via firmware downloads -- please check www.
Debugging capacity is reserved so that a given number of users will always be able to simultaneously debug.
By leveraging Eclipse, Mentor has created a powerful platform for building and debugging designs based on ColdFire.
Many SoC implementation and debugging problems can be easily understood and solved when designers get detailed information and debug support not only from their pure digital components (Verilog), but also from the analog or library components (SPICE).
1 expand support to include several major commercial simulation environments, allowing designers to use Vista's best-in-class debugging capabilities with a range of simulators.
The SignalTap II embedded logic analyzer is a system-level debugging tool that allows designers to observe signal data via gate-level probes.