OFP-Repair: Repairing Floating-point Errors via Original-Precision Arithmetic

📅 2025-10-10
📈 Citations: 0
Influential: 0
📄 PDF
🤖 AI Summary
Floating-point errors pose severe reliability risks in safety-critical systems; however, existing repair tools struggle to distinguish between errors amenable to *original-precision repair* and those requiring *high-precision repair*, often relying on costly high-precision implementations. This paper proposes OFP-Repair—the first approach to explicitly model and automatically classify these two error categories. It integrates original-precision arithmetic analysis, a novel error classification mechanism, and a verification-driven patch generation framework—without requiring high-precision simulation or external SMT solvers. Evaluated on the ACESO benchmark, OFP-Repair improves four precision metrics by 3–8 orders of magnitude. It successfully repairs 5 out of 15 historically reported bugs in the GNU Scientific Library. By eliminating dependence on expensive high-precision computation, OFP-Repair significantly reduces computational overhead while enhancing repair accuracy, automation, and practical deployability.

Technology Category

Application Category

📝 Abstract
Errors in floating-point programs can lead to severe consequences, particularly in critical domains such as military, aerospace, and financial systems, making their repair a crucial research problem. In practice, some errors can be fixed using original-precision arithmetic, while others require high-precision computation. Developers often avoid addressing the latter due to excessive computational resources required. However, they sometimes struggle to distinguish between these two types of errors, and existing repair tools fail to assist in this differentiation. Most current repair tools rely on high-precision implementations, which are time-consuming to develop and demand specialized expertise. Although a few tools do not require high-precision programs, they can only fix a limited subset of errors or produce suboptimal results. To address these challenges, we propose a novel method, named OFP-Repair.On ACESO's dataset, our patches achieve improvements of three, seven, three, and eight orders of magnitude across four accuracy metrics. In real-world cases, our method successfully detects all five original-precision-repairable errors and fixes three, whereas ACESO only repairs one. Notably, these results are based on verified data and do not fully capture the potential of OFP-Repair. To further validate our method, we deploy it on a decade-old open bug report from GNU Scientific Library (GSL), successfully repairing five out of 15 bugs. The developers have expressed interest in our method and are considering integrating our tool into their development workflow. We are currently working on applying our patches to GSL. The results are highly encouraging, demonstrating the practical applicability of our technique.
Problem

Research questions and friction points this paper is trying to address.

Distinguishing between original-precision and high-precision repairable floating-point errors
Addressing limitations of existing tools in fixing errors efficiently
Providing automated repair without requiring high-precision implementations
Innovation

Methods, ideas, or system contributions that make the work stand out.

Repairs floating-point errors using original-precision arithmetic
Detects repairable errors without high-precision computation
Achieves significant accuracy improvements in real-world applications
🔎 Similar Papers
No similar papers found.