Symbolic Execution 找到了我 94% 測試覆蓋率都漏掉的整數溢位
你的單元測試只檢查特定輸入。Symbolic execution 檢查所有可能的輸入。以下是它的運作原理、成本,以及從哪裡開始。
你的測試套件有 94% 覆蓋率且零失敗。Symbolic execution engine 在三秒內就在你的程式碼中找到了一個 crash。 測試沒壞。覆蓋率指標沒有說謊。問題在於測試只驗證特定點上的行為。Symbolic execution 驗證的是整個輸入空間區域中的行為。如果 bug…