Diptikalyan Saha is a Stony Brook alum (PhD, 2006) who is currently a research staff member at IBM Research Labs in Bangalore, India. He will be visiting Stony Brook on July 2, and will give a talk at 2pm in Room 120 of the new CS building.
Title: Fault Localization in Data-centric Programs and Partitioned Path Problems
Abstract: In this talk I will present our experience of developing an automated technique for fault localization 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 apply this technique for localizing faults in SAP-ABAP programs. It turns out that getting execution trace efficiently for SAP-ABAP programs is very challenging. So in the second part of the this talk, I will present a novel trace collection framework, wherein, a program is executed multiple times with the same input for different sets of witnesses. The partial traces such obtained are then merged to create the whole program trace. Such divide-and-conquer strategy enables parallel collection of partial traces, thereby reducing the total time of collection. The problem is particularly challenging as arbitrary distribution of witnesses cannot guarantee correct formation of traces. We provide and prove a necessary and sufficient condition for distributing the witnesses which ensures correct formation of trace.