介紹 5 種錯誤定位技巧 Tarantula Set-union Set-intersection Nearest Neighbor Cause...

Preview:

DESCRIPTION

 Tarantula  Set-union  Set-intersection  Nearest Neighbor  Cause Transition

Citation preview

第九次MeetingDate : 2015/05/01

上次預計進度 介紹 5種錯誤定位技巧

Five Fault-Localization Technique

Tarantula Set-union Set-intersection Nearest Neighbor Cause Transition

Tarantula 上一篇 Paper有介紹 多了計算 statement的 suspiciousness並且 rank

範例

Set-union & Set-intersection Coverage-based Methods-> A statement is more likely to be buggy

if it is visited more often in failed test cases and less often in passed test cases.

Set Union/Intersection Assume there are one or more passed test

cases {P0, P1, P2, …} and one failed test case f.

Union : the bug is contained in the set{ statements executed by f } – { statements executed by any Pi }

Intersection : the bug is contained in the set{ statements executed by all Pi } – { statements executed by f }

Set-union demonstration Neglect test case 1

Issue The technique performs poorly in

practice – sensitive to particular test cases.

Nearest Neighbor Pick a passed test case p which is the

nearest to the failed test case f. Distance between f and p could be

defined as: the number of statements in f which are not in p.

Report f-p as the potential bugs.

Example

Issue This technique is also sensitive to the

particular test cases used.

Cause Transition Performs a binary search of the

memory states of a program between a passing test case and a failing test case

This technique is part of a suite of techniques defined by Zeller and colleagues called Delta Debugging.

H. Cleve and A. Zeller. Locating causes of program failures.

SDG-ranking techniques Identify the initial set of blamed

statements; rank them the highest Find statements of distance 1 from the

initial set (in both forward and backward direction); rank them the second highest

Find statements of distance 2 and so on.

下週進度 Finish this paper

Recommended