Abstract

This paper describes an interactive tool that facilitates following define-use chains in large codes. The motivation for the work is to support “relative debugging”, where it is necessary to iteratively refine a set of assertions between different versions of a program. DUCT is novel because it exploits the Microsoft Inter-mediate Language (MSIL) that underpins the .NET Framework. Accordingly, it works on a wide range of programming languages without any modification. The paper describes the design and implementation of DUCT, and then illustrates its use with a small case study.