增量除錯的個人疑問,菜鳥求助!

2022-09-08 04:15:10 字數 1846 閱讀 6768

鏈結中是西門子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

high_confidence

two_of_three_reports_valid

own_tracked_alt

own_tracked_alt_rate

other_tracked_alt

alt_layer_value

up_separation

down_separation

other_rac

other_capability

climb_inhibit

v1版本tcas

正確版本tcas

v1版本執行結果:

fail

pass

現在要在不知道上述錯誤**(由》=變為》)位置的情況下,除錯出錯誤**位置。

編號tcas

第一步

第二步

第三步

cur_vertical_sep

high_confidence

two_of_three_reports_valid

own_tracked_alt

own_tracked_alt_rate

other_tracked_alt

382382

alt_layer_value11

up_separation

400400

down_separation

641641

other_rac11

other_capability11

climb_inhibit00

v1版本

正確版本

執行結果:

failpp

pbut為什麼?

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.

乙隻菜鳥的Java個人修煉淺見

首先說在文前,數月培訓,一朝上班,半路出家,這是乙隻小菜鳥踏上程式猿之路的開始,上班兩個月,許多辛酸也有許多快樂,在這裡跟大家分享一下 1 關於基礎 2 關於業務分析 這其實是很重要的一環,我們的程式最後是為了實際的需求服務的,為了程式設計而程式設計是沒有意義的。新人們接手乙個模組,做一次結果不滿意...

求合作 KMC的個人知識管理培訓體系

您是否存在以下的問題 您的競爭力來自何方?您是否想過 你每天的主要工作內容是什麼?相信你大部分的時間都是在處理資訊和知識 開會 打 面對面溝通 查資料 寫方案。大部分時候你的工作不需要跟人去比誰跑的快 吃的多 力氣大,你的主要工作內容是處理資訊和知識,你的競爭力也來自於你處理資訊和知識的能力 效率和...

常見的設計模式和個人看法 小菜鳥一枚,歡迎指正。

介面卡模式 類的介面卡 實現同一標準介面,然後繼承被適配的類 物件的介面卡 將被適配的物件當做引數傳入介面卡中。模式和介面卡模式區別 模式是讓客戶端可以訪問到實體,而介面卡模式是用來替代實體給適配的物件 門面模式 將各個職能的方法綜合到乙個裡面,應用場景 經常呼叫不同模組,複雜業務邏輯,整合到乙個類...