Cybernetics and Information Technologies (Mar 2020)

IDD – A Platform Enabling Differential Debugging

  • Vassilev Martin,
  • Vassilev Vassil,
  • Penev Alexander

DOI
https://doi.org/10.2478/cait-2020-0004
Journal volume & issue
Vol. 20, no. 1
pp. 53 – 67

Abstract

Read online

Debugging is a very time consuming task which is not well supported by existing tools. The existing methods do not provide tools enabling optimal developers’ productivity when debugging regressions in complex systems. In this paper we describe a possible solution aiding differential debugging. The differential debugging technique performs analysis of the regressed system and identifying the cause of the unexpected behavior by comparing to a previous version of the same system. The prototype, idd, inspects two versions of the executable – a baseline and a regressed version. The interactive debugging session runs side by side both executables and allows to examine and to compare various internal states. The architecture can work with multiple information sources comparing data from different tools. We also show how idd can detect performance regressions using information from third-party performance facilities. We illustrate how in practice we can quickly discover regressions in large systems such as the clang compiler.

Keywords