Proofs of numerical programs when the compiler optimizes

被引:7
作者
Boldo, Sylvie [1 ,2 ]
Thi Minh Tuyen Nguyen [1 ,2 ]
机构
[1] INRIA Saclay, F-91893 Orsay, France
[2] Univ Paris Sud, LRI, F-91405 Orsay, France
关键词
Floating-point arithmetic; Numerical program; Static analysis; Compiler optimization; Why platform; Frama-C platform;
D O I
10.1007/s11334-011-0151-6
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
On certain recently developed architectures, a numerical program may give different answers depending on the execution hardware and the compilation. Our goal is to formally prove properties about numerical programs that are true for multiple architectures and compilers. We propose an approach that states the rounding error of each floatingpoint computation whatever the environment and the compiler choices. This approach is implemented in the Frama-C platform for static analysis of C code. Small case studies using this approach are entirely and automatically proved.
引用
收藏
页码:151 / 160
页数:10
相关论文
共 25 条
[1]  
[Anonymous], 1998, LMS J COMPUT MATH
[2]  
Ayad A, 2010, 5 INT JOINT C AUT RE
[3]  
Barnett Mike, 2004, INT WORKSH CONSTR AN, P49, DOI [10.1007/978-3-540-30569-9_3, DOI 10.1007/978-3-540-30569-9_3]
[4]  
Barrett C, 2007, LECT NOTES COMPUT SC, V4590, P298
[5]  
Baudin P, 2008, ACSL ANSI ISO C SPEC
[6]  
Boldo S., 2010, P 2 NASA FORM METH S, P14
[7]   Formal verification of floating-point programs [J].
Boldo, Sylvie ;
Filliatre, Jean-Christophe .
18TH IEEE SYMPOSIUM ON COMPUTER ARITHMETIC, PROCEEDINGS, 2007, :187-+
[8]  
Boldo S, 2009, LECT NOTES COMPUT SC, V5625, P59, DOI 10.1007/978-3-642-02614-0_10
[9]   An overview of JML tools and applications [J].
Burdy L. ;
Cheon Y. ;
Cok D.R. ;
Ernst M.D. ;
Kiniry J.R. ;
Leavens G.T. ;
Leino K.R.M. ;
Poll E. .
International Journal on Software Tools for Technology Transfer, 2005, 7 (3) :212-232
[10]  
Carreno V.A., 1995, HIGHER ORDER LOGIC T