Mining control flow abnormality for logic error isolation

Chao Liu, Xifeng Yan, Jiawei Han

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract

Analyzing the executions of a buggy program is essentially a data mining process: Tracing the data generated during program executions may disclose important patterns and outliers that could eventually reveal the location of software errors. In this paper, we investigate program logic errors, which rarely incur memory access violations but generate incorrect outputs. We show that through mining program control flow abnormality, we could isolate many logic errors without knowing the program semantics. In order to detect the control abnormality, we propose a hypothesis testing-like approach that statistically contrasts the evaluation probability of condition statements between correct and incorrect executions. Based on this contrast, we develop two algorithms that effectively rank functions with respect to their likelihood of containing the hidden error. We evaluated these two algorithms on a set of standard test programs, and the result clearly indicates their effectiveness. software errors, abnormality, ranking.

Original languageEnglish (US)
Title of host publicationProceedings of the Sixth SIAM International Conference on Data Mining
PublisherSociety for Industrial and Applied Mathematics
Pages106-117
Number of pages12
ISBN (Print)089871611X, 9780898716115
DOIs
StatePublished - 2006
EventSixth SIAM International Conference on Data Mining - Bethesda, MD, United States
Duration: Apr 20 2006Apr 22 2006

Publication series

NameProceedings of the Sixth SIAM International Conference on Data Mining
Volume2006

Other

OtherSixth SIAM International Conference on Data Mining
Country/TerritoryUnited States
CityBethesda, MD
Period4/20/064/22/06

ASJC Scopus subject areas

  • General Engineering

Fingerprint

Dive into the research topics of 'Mining control flow abnormality for logic error isolation'. Together they form a unique fingerprint.

Cite this