Fault localization in ABAP Programs

In this paper we present an automated technique for localizing faults in data centric programs. Data-centric programs typically interact with databases to get collections of content, process each entry in the collection and output another collection or write entries back to database. Many of the production faults in data centric programs are manifested because of presence of certain data values or data patterns in the database that were not checked for or handled correctly during development of the initial code. Our technique collects the execution trace of the faulty program, uses a novel precise slicing algorithm to break the trace into slices mapping to each entry in the output collection and finally does a semantic difference between the slices corresponding to correct output entries versus incorrect ones to suggest potentially faulty statements. We implemented our approach for ABAP programs. ABAP is the language used to code in SAP systems and interacts heavily with databases. It also contains embedded SQL like commands to work on collections of data. We applied our technique to a suite of 13 ABAP programs with faults from the field and it was able to identify the precise cause in 12 cases.

By: Diptikalyan Saha, Mangala Gowri Nanda, Pankaj Dhoolia, V. Krishna Nandivada,Vibha Sinha and Satish Chandra

Published in: RI11004 in 2011


This Research Report is available. This report has been submitted for publication outside of IBM and will probably be copyrighted if accepted for publication. It has been issued as a Research Report for early dissemination of its contents. In view of the transfer of copyright to the outside publisher, its distribution outside of IBM prior to publication should be limited to peer communications and specific requests. After outside publication, requests should be filled only by reprints or legally obtained copies of the article (e.g., payment of royalties). I have read and understand this notice and am a member of the scientific community outside or inside of IBM seeking a single copy only.


Questions about this service can be mailed to reports@us.ibm.com .