Differential debugging

Diomidis Spinellis*

*Corresponding author for this work

Research output: Contribution to journalArticleScientific

2 Citations (Scopus)


Finding yourself in a situation with a working and a buggy system is quite common. Differential debugging methodically can help by comparing a known good system with a buggy one, working toward the problem source. Some simple steps include applying differential debugging by looking at log files and increasing a system's log verbosity when needed. If the system doesn't offer a sufficiently detailed logging mechanism, you can tease out its runtime behavior with tools that trace calls to the operating system or that trace network packets. You can also compare carefully the two environments where the systems operate. The Web extra at http://youtu.be/qnXS6b4hakg is an audio podcast of author Diomidis Spinellis reading his Tools of the Trade column, in which he discusses how comparing a good system with a buggy one can help locate the source of the problem.

Original languageEnglish
Article number6588528
Pages (from-to)19-21
Number of pages3
JournalIEEE Software
Issue number5
Publication statusPublished - 17 Sep 2013
Externally publishedYes


  • Debug
  • Log file
  • Trace
  • Unix tools


Dive into the research topics of 'Differential debugging'. Together they form a unique fingerprint.

Cite this