Fast shadow execution for debugging numerical errors using error free transformations

Fast shadow execution for debugging numerical errors using error free transformations
复制标题

使用无错误转换快速阴影执行来调试数值错误

DOI:
10.1145/3563353
复制
发表时间:
2022
影响因子:
--
通讯作者:
Nagarakatte, Santosh
Nagarakatte, Santosh
中科院分区:
--
文献类型:
--
作者:
Chowdhary, Sangeeta;Nagarakatte, Santosh

文献摘要

参考文献

相似文献

本文提出了 EFTSanitizer,这是一种快速影子执行框架,用于在测试的后期阶段检测和调试数值错误,特别是对于长时间运行的应用程序。任何影子执行框架都需要一个预言机来与浮点 (FP) 执行进行比较。本文提出了使用无错误转换的案例,无错误转换是使用现有硬件支持的 FP 操作来计算原始操作的错误的操作序列,作为影子执行的预言机。尽管单个正确舍入的 FP 运算的误差是有界的,但跨运算的误差累积可能会导致异常、收敛缓慢甚至崩溃。为了简化调试此类错误的工作,EFTSaniizer 提供了有向无环图 (DAG),它突出显示了导致异常或崩溃的错误传播。与之前的工作不同,EFTSaniizer 生成的 DAG 包括跨越各种函数调用的操作,同时保持内存使用有限。为了能够在长时间运行的应用程序中使用此类影子执行工具,EFTSaniizer 还支持在动态执行中的任意点启动影子执行,我们将其称为选择性影子执行。 EFTSanitizer 比 FPSanitizer 和 Herbgrind 等先前最先进的影子执行工具快一个数量级。我们发现了新的数值错误并使用 EFTSanitizer 对其进行了调试。
This paper proposes, EFTSanitizer, a fast shadow execution framework for detecting and debugging numerical errors during late stages of testing especially for long-running applications. Any shadow execution framework needs an oracle to compare against the floating point (FP) execution. This paper makes a case for using error free transformations, which is a sequence of operations to compute the error of a primitive operation with existing hardware supported FP operations, as an oracle for shadow execution. Although the error of a single correctly rounded FP operation is bounded, the accumulation of errors across operations can result in exceptions, slow convergences, and even crashes. To ease the job of debugging such errors, EFTSanitizer provides a directed acyclic graph (DAG) that highlights the propagation of errors, which results in exceptions or crashes. Unlike prior work, DAGs produced by EFTSanitizer include operations that span various function calls while keeping the memory usage bounded. To enable the use of such shadow execution tools with long-running applications, EFTSanitizer also supports starting the shadow execution at an arbitrary point in the dynamic execution, which we call selective shadow execution. EFTSanitizer is an order of magnitude faster than prior state-of-art shadow execution tools such as FPSanitizer and Herbgrind. We have discovered new numerical errors and debugged them using EFTSanitizer.
DOI: 10.1007/978-1-4899-7983-4
发表时间: 2006
期刊: --
影响因子: --
作者:
通讯作者: --
DOI: 10.1145/2813885.2737959
发表时间: 2015
期刊: Sigplan Notices
影响因子: --
作者:
P. Panchekha;Alex Sanchez;James R. Wilcox;Zachary Tatlock
通讯作者: Zachary Tatlock
可扩展且严格的浮点误差分析
DOI: 10.1109/sc41405.2020.00055
发表时间: 2020
期刊: Storage and Analysis
影响因子: --
作者:
Das, Arnab;Briggs, Ian;Gopalakrishnan, Ganesh;Krishnamoorthy, Sriram;Panchekha, Pavel
通讯作者: Panchekha, Pavel
浮点算术手册(第二版)
DOI: --
发表时间: 2018
期刊:
影响因子: --
作者:
Jean;Nicolas Brunie;F. D. Dinechin;C. Jeannerod;Mioara Joldes;V. Lefèvre;G. Melquiond;N. Revol;Serge Torres
通讯作者: Serge Torres
DOI: --
发表时间: 2018
期刊: International Conference on Verification, Model Checking and Abstract Interpretation
影响因子: --
作者:
Laura Titolo;Marco A. Feliú;Mariano M. Moscato;C. Muñoz
通讯作者: C. Muñoz