Upload
camilla-norton
View
218
Download
4
Embed Size (px)
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