Affiliation:
1. University of Utah, Salt Lake City, UT, USA
Abstract
Tools for floating-point error estimation are fundamental to program understanding and optimization. In this paper, we focus on tools for determining the input settings to a floating point routine that maximizes its result error. Such tools can help support activities such as precision allocation, performance optimization, and auto-tuning. We benchmark current abstraction-based precision analysis methods, and show that they often do not work at scale, or generate highly pessimistic error estimates, often caused by non-linear operators or complex input constraints that define the set of legal inputs. We show that while concrete-testing-based error estimation methods based on maintaining shadow values at higher precision can search out higher error-inducing inputs, suit able heuristic search guidance is key to finding higher errors. We develop a heuristic search algorithm called Binary Guided Random Testing (BGRT). In 45 of the 48 total benchmarks, including many real-world routines, BGRT returns higher guaranteed errors. We also evaluate BGRT against two other heuristic search methods called ILS and PSO, obtaining better results.
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design,Software
Cited by
12 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Floating-Point TVPI Abstract Domain;Proceedings of the ACM on Programming Languages;2024-06-20
2. Input Range Generation for Compiler-Induced Numerical Inconsistencies;Proceedings of the 38th ACM International Conference on Supercomputing;2024-05-30
3. Odyssey: An Interactive Workbench for Expert-Driven Floating-Point Expression Rewriting;Proceedings of the 36th Annual ACM Symposium on User Interface Software and Technology;2023-10-29
4. Hierarchical search algorithm for error detection in floating-point arithmetic expressions;The Journal of Supercomputing;2023-07-10
5. Detecting High Floating-Point Errors via Ranking Analysis;2022 29th Asia-Pacific Software Engineering Conference (APSEC);2022-12