Statistical Based Slicing Method for Prioritizing Program Fault Relevant Statements

Authors

  • Saeed Parsa Faculty of Computer Engineering, Iran University of Science and Technology, Narmak, Tehran
  • Mojtaba Vahidi-Asl Faculty of Computer Engineering, Iran University of Science and Technology, Narmak, Tehran
  • Farzaneh Zareie Faculty of Computer Engineering, Iran University of Science and Technology, Narmak, Tehran

Keywords:

Fault localization, dynamic slicing, statistical debugging, clustering, Pearson, fault

Abstract

The aim of this paper is to integrate the strong points of statistical debugging and program slicing techniques for efficient program fault localization. The dynamic slices could be inappropriately large including redundant information considering that the statements are not ranked according to their fault relevance in the computed slice. On the other hand, the conventional statistical debugging techniques do not consider the dependence relationships between the faulty code (i.e., the cause) and the erroneous output (i.e., the effect). This information is very useful during the debugging. In this paper, a new method Stat-Slice for locating the latent bugs in programs is presented which could find a wider range of bugs, e.g. the omitted code faults, the header file faults, and etc., comparing with other techniques. Unlike the traditional program slicing techniques, the proposed method computes the backward dynamic slices of several failing and passing runs. Using K-means clustering in addition to a new ranking and pruning technique, we prioritize statements according to their likelihood to be the cause for failure. Our experiments on Siemens, grep, gzip, and flex test suites manifest that ranking statements according to their suspiciousness has considerably reduced the effort for fault localization.

Downloads

Download data is not yet available.

Downloads

Published

2016-02-29

How to Cite

Parsa, S., Vahidi-Asl, M., & Zareie, F. (2016). Statistical Based Slicing Method for Prioritizing Program Fault Relevant Statements. Computing and Informatics, 34(4), 823–857. Retrieved from http://147.213.75.17/ojs/index.php/cai/article/view/1284