Identifying Bug Signatures Using Discriminative Graph Mining

Bug localization has attracted a lot of attention recently. Most existing methods focus on pinpointing a single statement or function call which is very likely to contain bugs. Although such methods could be very accurate, it is usually very hard for developers to understand the context of the bug,...

Full description

Saved in:
Bibliographic Details
Main Authors: CHENG, Hong, LO, David, ZHOU, YANG, WANG, Xiaoyin, YAN, Xifeng
Format: text
Language:English
Published: Institutional Knowledge at Singapore Management University 2009
Subjects:
Online Access:https://ink.library.smu.edu.sg/sis_research/282
https://ink.library.smu.edu.sg/context/sis_research/article/1281/viewcontent/issta09.pdf
Tags: Add Tag
No Tags, Be the first to tag this record!
Institution: Singapore Management University
Language: English
id sg-smu-ink.sis_research-1281
record_format dspace
spelling sg-smu-ink.sis_research-12812011-11-02T09:35:28Z Identifying Bug Signatures Using Discriminative Graph Mining CHENG, Hong LO, David ZHOU, YANG WANG, Xiaoyin YAN, Xifeng Bug localization has attracted a lot of attention recently. Most existing methods focus on pinpointing a single statement or function call which is very likely to contain bugs. Although such methods could be very accurate, it is usually very hard for developers to understand the context of the bug, given each bug location in isolation. In this study, we propose to model software executions with graphs at two levels of granularity: methods and basic blocks. An individual node represents a method or basic block and an edge represents a method call, method return or transition (at the method or basic block granularity). Given a set of graphs of correct and faulty executions, we propose to extract the most discriminative subgraphs which contrast the program flow of correct and faulty executions. The extracted subgraphs not only pinpoint the bug, but also provide an informative context for understanding and fixing the bug. Different from traditional graph mining which mines a very large set of frequent subgraphs, we formulate subgraph mining as an optimization problem and directly generate the most discriminative subgraph with a recently proposed graph mining algorithm LEAP. We further extend it to generate a ranked list of top-k discriminative subgraphs representing distinct locations which may contain bugs. Experimental results and case studies show that our proposed method is both effective and efficient to mine discriminative subgraphs for bug localization and context identification. 2009-07-01T07:00:00Z text application/pdf https://ink.library.smu.edu.sg/sis_research/282 info:doi/10.1145/1572272.1572290 https://ink.library.smu.edu.sg/context/sis_research/article/1281/viewcontent/issta09.pdf http://creativecommons.org/licenses/by-nc-nd/4.0/ Research Collection School Of Computing and Information Systems eng Institutional Knowledge at Singapore Management University bug signature discriminative subgraph mining Software Engineering
institution Singapore Management University
building SMU Libraries
continent Asia
country Singapore
Singapore
content_provider SMU Libraries
collection InK@SMU
language English
topic bug signature
discriminative subgraph mining
Software Engineering
spellingShingle bug signature
discriminative subgraph mining
Software Engineering
CHENG, Hong
LO, David
ZHOU, YANG
WANG, Xiaoyin
YAN, Xifeng
Identifying Bug Signatures Using Discriminative Graph Mining
description Bug localization has attracted a lot of attention recently. Most existing methods focus on pinpointing a single statement or function call which is very likely to contain bugs. Although such methods could be very accurate, it is usually very hard for developers to understand the context of the bug, given each bug location in isolation. In this study, we propose to model software executions with graphs at two levels of granularity: methods and basic blocks. An individual node represents a method or basic block and an edge represents a method call, method return or transition (at the method or basic block granularity). Given a set of graphs of correct and faulty executions, we propose to extract the most discriminative subgraphs which contrast the program flow of correct and faulty executions. The extracted subgraphs not only pinpoint the bug, but also provide an informative context for understanding and fixing the bug. Different from traditional graph mining which mines a very large set of frequent subgraphs, we formulate subgraph mining as an optimization problem and directly generate the most discriminative subgraph with a recently proposed graph mining algorithm LEAP. We further extend it to generate a ranked list of top-k discriminative subgraphs representing distinct locations which may contain bugs. Experimental results and case studies show that our proposed method is both effective and efficient to mine discriminative subgraphs for bug localization and context identification.
format text
author CHENG, Hong
LO, David
ZHOU, YANG
WANG, Xiaoyin
YAN, Xifeng
author_facet CHENG, Hong
LO, David
ZHOU, YANG
WANG, Xiaoyin
YAN, Xifeng
author_sort CHENG, Hong
title Identifying Bug Signatures Using Discriminative Graph Mining
title_short Identifying Bug Signatures Using Discriminative Graph Mining
title_full Identifying Bug Signatures Using Discriminative Graph Mining
title_fullStr Identifying Bug Signatures Using Discriminative Graph Mining
title_full_unstemmed Identifying Bug Signatures Using Discriminative Graph Mining
title_sort identifying bug signatures using discriminative graph mining
publisher Institutional Knowledge at Singapore Management University
publishDate 2009
url https://ink.library.smu.edu.sg/sis_research/282
https://ink.library.smu.edu.sg/context/sis_research/article/1281/viewcontent/issta09.pdf
_version_ 1770570368236388352