PlumX Metrics
Embed PlumX Metrics

Floating-Point TVPI Abstract Domain

Proceedings of the ACM on Programming Languages, ISSN: 2475-1421, Vol: 8, Issue: PLDI, Page: 442-466
2024
  • 0
    Citations
  • 0
    Usage
  • 0
    Captures
  • 0
    Mentions
  • 0
    Social Media
Metric Options:   Counts1 Year3 Year

Article Description

Floating-point arithmetic is natively supported in hardware and the preferred choice when implementing numerical software in scientific or engineering applications. However, such programs are notoriously hard to analyze due to round-off errors and the frequent use of elementary functions such as log, arctan, or sqrt. In this work, we present the Two Variables per Inequality Floating-Point (TVPI-FP) domain, a numerical and constraint-based abstract domain designed for the analysis of floating-point programs. TVPI-FP supports all features of real-world floating-point programs including conditional branches, loops, and elementary functions and it is efficient asymptotically and in practice. Thus it overcomes limitations of prior tools that often are restricted to straight-line programs or require the use of expensive solvers. The key idea is the consistent use of interval arithmetic in inequalities and an associated redesign of all operators. Our extensive experiments show that TVPI-FP is often orders of magnitudes faster than more expressive tools at competitive, or better precision while also providing broader support for realistic programs with loops and conditionals.

Bibliographic Details

Joao Rivera; Markus Püschel; Franz Franchetti

Association for Computing Machinery (ACM)

Computer Science; Engineering

Provide Feedback

Have ideas for a new metric? Would you like to see something else here?Let us know