Fault localization based on abstract dependencies

  • Authors:
  • Franz Wotawa;Safeeullah Soomro

  • Affiliations:
  • Graz University of Technology, Institute for Software Technology, Graz, Inffeldgasse, Austria;Graz University of Technology, Institute for Software Technology, Graz, Inffeldgasse, Austria

  • Venue:
  • IEA/AIE'2005 Proceedings of the 18th international conference on Innovations in Applied Artificial Intelligence
  • Year:
  • 2005

Quantified Score

Hi-index 0.00

Visualization

Abstract

Debugging, i.e., removing faults from programs, comprises three parts. Fault detection is used to find a misbehavior. Within fault localization the root-cause for the detected misbehavior is searched for. And finally, during repair the responsible parts of the program are replaced by others in order to get rid of the detected misbehavior. In this paper we focus on fault localization which is based on abstract dependencies that are used by the Aspect system [1] for detecting faults. Abstract dependencies are relations between variables of a program. We say that a variable x depends on a variable y iff a new value for y may causes a new value for x. For example, the assignment statement x = y + 1; implies such a dependency relation. Every time we change the value of y the value of x is changed after executing the statement. Another example which leads to the same dependency is the following program fragment: if ( y