Termination analysis of floating-point programs using parameterizable rational approximations

Analysis of oating-point programs is a topic that received an increasing attention the past few years. However, only very few works have been done regarding their termination analysis. We address that problem in this paper. We present a technique that takes advantage of the already existing works on termination analysis of rational programs. Our approach consists in translating the oating-point programs into rational ones by means of sound approximations. We approximate the oating-point expressions using piecewise linear functions. Our approximation differs from the already existing ones in the sense that it can be as precise as needed.

[1]  Henny B. Sipma,et al.  The Polyranking Principle , 2005, ICALP.

[2]  Sylvie Boldo,et al.  Hardware-independent Proofs of Numerical Programs , 2010, NASA Formal Methods.

[3]  Michel Rueher,et al.  Boosting Local Consistency Algorithms over Floating-Point Numbers , 2012, CP.

[4]  Alexander Serebrenik,et al.  Termination of Floating-Point Computations , 2005, Journal of Automated Reasoning.

[5]  Claude-Pierre Jeannerod,et al.  On relative errors of floating-point operations: Optimal bounds and applications , 2017, Math. Comput..

[6]  Antoine Miné,et al.  Relational Abstract Domains for the Detection of Floating-Point Run-Time Errors , 2004, ESOP.

[7]  Supratik Mukhopadhyay,et al.  Termination proofs for linear simple loops , 2013, International Journal on Software Tools for Technology Transfer.

[8]  Frédéric Mesnard,et al.  Eventual linear ranking functions , 2013, PPDP.

[9]  Nicholas J. Higham,et al.  INVERSE PROBLEMS NEWSLETTER , 1991 .

[10]  Andreas Podelski,et al.  A Complete Method for the Synthesis of Linear Ranking Functions , 2004, VMCAI.

[11]  Garth P. McCormick,et al.  Computability of global solutions to factorable nonconvex programs: Part I — Convex underestimating problems , 1976, Math. Program..

[12]  Guillaume Melquiond,et al.  Combining Coq and Gappa for Certifying Floating-Point Programs , 2009, Calculemus/MKM.

[13]  Sylvie Boldo,et al.  Proofs of numerical programs when the compiler optimizes , 2011, Innovations in Systems and Software Engineering.

[14]  Eric Goubault,et al.  Towards an Industrial Use of FLUCTUAT on Safety-Critical Avionics Software , 2009, FMICS.

[15]  Daniel Kroening,et al.  Unrestricted Termination and Non-termination Arguments for Bit-Vector Programs , 2014, ESOP.