15
第第第 Meeting Date : 2015/05/01

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

Embed Size (px)

DESCRIPTION

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

Citation preview

Page 1: 介紹 5 種錯誤定位技巧  Tarantula  Set-union  Set-intersection  Nearest Neighbor  Cause Transition

第九次MeetingDate : 2015/05/01

Page 2: 介紹 5 種錯誤定位技巧  Tarantula  Set-union  Set-intersection  Nearest Neighbor  Cause Transition

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

Page 3: 介紹 5 種錯誤定位技巧  Tarantula  Set-union  Set-intersection  Nearest Neighbor  Cause Transition

Five Fault-Localization Technique

Tarantula Set-union Set-intersection Nearest Neighbor Cause Transition

Page 4: 介紹 5 種錯誤定位技巧  Tarantula  Set-union  Set-intersection  Nearest Neighbor  Cause Transition

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

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

範例

Page 6: 介紹 5 種錯誤定位技巧  Tarantula  Set-union  Set-intersection  Nearest Neighbor  Cause Transition

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.

Page 7: 介紹 5 種錯誤定位技巧  Tarantula  Set-union  Set-intersection  Nearest Neighbor  Cause Transition

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 }

Page 8: 介紹 5 種錯誤定位技巧  Tarantula  Set-union  Set-intersection  Nearest Neighbor  Cause Transition

Set-union demonstration Neglect test case 1

Page 9: 介紹 5 種錯誤定位技巧  Tarantula  Set-union  Set-intersection  Nearest Neighbor  Cause Transition

Issue The technique performs poorly in

practice – sensitive to particular test cases.

Page 10: 介紹 5 種錯誤定位技巧  Tarantula  Set-union  Set-intersection  Nearest Neighbor  Cause Transition

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.

Page 11: 介紹 5 種錯誤定位技巧  Tarantula  Set-union  Set-intersection  Nearest Neighbor  Cause Transition

Example

Page 12: 介紹 5 種錯誤定位技巧  Tarantula  Set-union  Set-intersection  Nearest Neighbor  Cause Transition

Issue This technique is also sensitive to the

particular test cases used.

Page 13: 介紹 5 種錯誤定位技巧  Tarantula  Set-union  Set-intersection  Nearest Neighbor  Cause Transition

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.

Page 14: 介紹 5 種錯誤定位技巧  Tarantula  Set-union  Set-intersection  Nearest Neighbor  Cause Transition

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.

Page 15: 介紹 5 種錯誤定位技巧  Tarantula  Set-union  Set-intersection  Nearest Neighbor  Cause Transition

下週進度 Finish this paper