鏈結中是西門子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的個人知識管理培訓體系
您是否存在以下的問題 您的競爭力來自何方?您是否想過 你每天的主要工作內容是什麼?相信你大部分的時間都是在處理資訊和知識 開會 打 面對面溝通 查資料 寫方案。大部分時候你的工作不需要跟人去比誰跑的快 吃的多 力氣大,你的主要工作內容是處理資訊和知識,你的競爭力也來自於你處理資訊和知識的能力 效率和...
常見的設計模式和個人看法 小菜鳥一枚,歡迎指正。
介面卡模式 類的介面卡 實現同一標準介面,然後繼承被適配的類 物件的介面卡 將被適配的物件當做引數傳入介面卡中。模式和介面卡模式區別 模式是讓客戶端可以訪問到實體,而介面卡模式是用來替代實體給適配的物件 門面模式 將各個職能的方法綜合到乙個裡面,應用場景 經常呼叫不同模組,複雜業務邏輯,整合到乙個類...