Crash Correlation 會說謊。以下是讓它指向真正 Bug 的方法。
統計除錯找到與當機相關的 predicates,但相關性不是檔案名稱與行號。以下是如何透過排序、過濾與三角測量,從相關分數走到真正的 bug 位置。
統計除錯給你的是一份排序過的 predicate 清單,而不是根本原因。你對每個分支與 null check 插樁,執行十萬次,然後演算法遞給你一個記分板。 的 重要性是 0.94。 的 也是 0.94。其中一個是 bug,另一個只是剛好在程式當機時總是為真。 高相關性代表 predicate 與當機同時發生。不代表…