增量调试的个人疑问,菜鸟求助!_项目管理_非技术区_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 非技术区 > 项目管理 > 增量调试的个人疑问,菜鸟求助!

增量调试的个人疑问,菜鸟求助!

 2017/8/29 18:08:51  秦皇汉武  程序员俱乐部  我要评论(0)
  • 摘要:一、实验程序https://files.cnblogs.com/files/xiaojieshisilang/tcas.tar.gz链接中是西门子tcas测试程序。source下是正确版本,versions/v1下是一个错误版本。两个版本的差异是:二、测试用例执行脚本是:../source/tcas.exe95811259757442530399400001../versions/v1/tcas.exe95811259757442530399400001测试输入如下
  • 标签:个人

一、实验程序

https://files.cnblogs.com/files/xiaojieshisilang/tcas.tar.gz

链接中是西门子tcas测试程序。

source下是正确版本,versions/v1下是一个错误版本。两个版本的差异是:

二、测试用例

执行脚本是:

../source/tcas.exe  958 1 1 2597  574 4253 0  399  400 0 0 1

../versions/v1/tcas.exe 958 1 1 2597  574 4253 0  399  400 0 0 1

测试输入如下:

tcas

 测试输入

 测试输入

Cur_Vertical_Sep

958

627

High_Confidence

1

0

Two_of_Three_Reports_Valid

1

0

Own_Tracked_Alt

2597

621

Own_Tracked_Alt_Rate

574

216

Other_Tracked_Alt

4253

382

Alt_Layer_Value

0

1

Up_Separation

399

400

Down_Separation

400

641

Other_RAC

0

1

Other_Capability

0

1

Climb_Inhibit

1

0

V1版本tcas

1

0

正确版本tcas

0

0

V1版本执行结果:

FAIL

PASS

三、定位Failure Cause

现在要在不知道上述错误代码(由>=变为>)位置的情况下,调试出错误代码位置。

先使用增量调试(见参考文献):Delta Debugging先找到failure_introducing input

编号

tcas

 

第一步

第二步

第三步

2

1

Cur_Vertical_Sep

958

958

958

958

627

2

High_Confidence

1

1

1

1

0

3

Two_of_Three_Reports_Valid

1

1

1

1

0

4

Own_Tracked_Alt

2597

2597

2597

2597

621

5

Own_Tracked_Alt_Rate

574

574

574

574

216

6

Other_Tracked_Alt

4253

382

4253

382

382

7

Alt_Layer_Value

0

1

0

1

1

8

Up_Separation

399

400

399

400

400

9

Down_Separation

400

641

400

641

641

10

Other_RAC

0

1

1

0

1

11

Other_Capability

0

1

1

0

1

12

Climb_Inhibit

1

0

0

1

0

 

V1版本

1

0

0

0

0

 

正确版本

0

0

0

0

0

 

执行结果:

FAIL

P

P

P

BUt为什么?

PASS

 

在上述第三步,本来应该继续在10,11,12对应的输入中继续二分查找的。我手残,想试试另一半,于是将0,399,400替换成了1,400,641。

结果也是PASS,but为什么呢?

求助大神!!!是不是自己对增量调试理解有误。

寻找真正导致failure的输入。这里的failure是指的是不满足功能正确性,即不满足预期输出(比较而言,西门子测试程序的正确版本的输入,我们认为是预期输出)。

四、增量调试参考文献:

Zeller A. Isolating cause-effect chains from computer programs[J]. Acm Sigsoft Software Engineering Notes, 2002, 27(6):1-10.

Zeller A, Hildebrandt R. Simplifying and Isolating Failure-Inducing Input[J]. Software Engineering IEEE Transactions on, 2002, 28(2):183-200.

 

发表评论
用户名: 匿名