Crash Correlation 会说谎。以下是如何让它们指向真正的 Bug。
Statistical debugging 找到与崩溃相关的 predicates,但相关性不是文件和行号。以下是如何通过排序、过滤和三角测量,从相关性分数找到实际的 bug 位置。
Statistical debugging 给你的是 predicates 的排序列表,而不是根因。你对每个分支和 null check 进行插桩,运行十万次执行,算法给你一个记分板。 处的 的 importance 为 0.94。 处的 也是。其中一个是 bug。另一个只是每当程序崩溃时就恰好为真。…