Graduation Semester and Year

2015

Language

English

Document Type

Thesis

Degree Name

Master of Science in Computer Science

Department

Computer Science and Engineering

First Advisor

(Jeff) Yu Lei

Abstract

Debugging refers to the activity of locating software faults in a program and is considered to be one of the most challenging tasks during software development. Automated fault localization tools have been developed to reduce the amount of effort and time software developers have to spend on debugging. In this thesis, we evaluate the effectiveness of a fault localization tool called BEN in locating different types of software faults. Assuming that combinatorial testing has been performed on the subject program, BEN leverages the result obtained from combinatorial testing to perform fault localization. Our evaluation focuses on how the following three properties of software fault affect the effectiveness of BEN: (1) Accessibility: Accessibility refers to the degree of difficulty to reach (and execute) a fault during a program execution; (2) Input-value sensitivity: A fault is input-value sensitive if the execution of the fault triggers a failure only for some input values but not for other input values; and (3) Control-flow sensitivity: A fault is control-flow sensitive if the execution of the fault triggers a failure while inducing a change of control flow in the program execution.We conducted our experiments on seven programs from the Siemens suite and two real-life programs, grep and gzip, from the SIR repository. Our results indicate that BEN is very effective in locating faults of low accessibility. A unique aspect of BEN is that it generates a failed test called the core member and a small group of passed tests called the derived members. The spectrum of the core member is compared to that of each derived member. The way in which the core and derived members are generated allows faults of low accessibility to be effectively located by BEN. Our results also suggest that in most of the cases, BEN is effective in locating input value- and control flow-insensitive faults. However, no conclusion can be drawn from the experimental data about the individual impact of input value sensitivity and control flow sensitivity on BEN’s effectiveness.

Disciplines

Computer Sciences | Physical Sciences and Mathematics

Comments

Degree granted by The University of Texas at Arlington

Share

COinS