Fault localization for data-centric programs

  • Authors:
  • Diptikalyan Saha;Mangala Gowri Nanda;Pankaj Dhoolia;V. Krishna Nandivada;Vibha Sinha;Satish Chandra

  • Affiliations:
  • IBM Research - India, New Delhi, India;IBM Research - India, New Delhi, India;IBM Research - India, New Delhi, India;IBM Research - India, Bangalore, India;IBM Research - India, New Delhi, India;IBM T. J. Watson Research Center, New York, USA

  • Venue:
  • Proceedings of the 19th ACM SIGSOFT symposium and the 13th European conference on Foundations of software engineering
  • Year:
  • 2011

Quantified Score

Hi-index 0.00

Visualization

Abstract

In this paper we present an automated technique for localizing faults in data-centric programs. Data-centric programs primarily interact with databases to get collections of content, process each entry in the collection(s), and output another collection or write it back to the database. One or more entries in the output may be faulty. In our approach, we gather the execution trace of a faulty program. We use a novel, precise slicing algorithm to break the trace into multiple slices, such that each slice maps to an entry in the output collection. We then compute the semantic difference between the slices that correspond to correct entries and those that correspond to incorrect ones. The "diff" helps to identify potentially faulty statements. We have implemented our approach for ABAP programs. ABAP is the language used to write custom code in SAP systems. It interacts heavily with databases using embedded SQL-like commands that work on collections of data. On a suite of 13 faulty ABAP programs, our technique was able to identify the precise fault location in 12 cases.