Using Backward Dynamic Program Slicing to Isolate Influencing Statements in GDB

Árpád Beszédes, Tibor Gyimóthy, Gábor Lóki, Gergely Diós and Ferenc Kovács
Program slicing is a program analysis technique initially introduced to assist debugging, based on the observation that programmers mentally form program slices when they debug and understand programs. Namely, only those statements need to be investigated that actually influenced the erroneous value, and eventually, these statements constitute the backward dynamic program slice. An efficient algorithm to compute such slices has been implemented in the GCC/GDB environment, which adds a new slice command to retrieve the slice for a given program entity. In this paper, a background on program slicing is given, followed by the details of implementation. The dependences are computed after 'gimplification' in GCC, while STABS format is used to transfer them to GDB. The initial experimental results are presented as well.