跳到主要内容
研究论文

数字代码的自动反向错误分析

出版:2015年10月23日 出版历史

摘要

数字代码使用浮点运算,必然会出现舍入和截断错误。误差分析是在解决问题时量化此类不确定性的过程。正向误差分析和反向误差分析是两种常见的误差分析范式。正向错误分析更直观,已经被编程语言(PL)社区探索并自动化。相比之下,虽然数值分析人员更倾向于采用反向误差分析,并将其作为数值稳定性的基础,但PL社区对此知之甚少,也未进行探索。为了填补这一空白,本文提出了数字代码的自动向后错误分析,以增强数值分析师和应用程序开发人员的能力。此外,我们还使用计算的后向误差结果来计算条件数,这是数值分析师识别的一个重要量,用于测量函数对输入中的变化或误差的敏感程度。在Intel X87 FPU函数和广泛使用的GNU C库函数上的实验结果表明,我们的分析在分析浮点程序的准确性方面是有效的。

工具书类

[1]
Boost多精度组件。http://www.boost.org/doc/libs/1_57_0/libs/multiprecision/doc/html/index.html。检索日期:2015年3月25日。
[2]
英特尔低估了1.3万亿的误差范围。https://randomascii.wordpress.com/2014/10/09/intel-低估了错误界限-1-35亿/。检索日期:2015年3月25日。
[3]
https://software.intel.com/blogs/2014/10/09/fsin-documentation-improvements-in-the-intel-64和ia-32-architectures-software。检索日期:2015年3月25日。
[4]
https://sourceware.org/bugzilla/show_bug.cgi?id=13658。检索日期:2015年3月25日。
[5]
Scipy优化包。http://docs.scipy.org/doc/scipy-dev/reference/optimize.html#modulescipy.optimize。检索日期:2015年3月25日。
[6]
C.Andrieu、N.de Freitas、A.Doucet和M.I.Jordan。机器学习MCMC简介。机器学习,50(1-2):5–432003。
[7]
T.Bao和X.Zhang。浮点程序执行中不稳定问题的实时检测。在OOPSLA中,第817-832页,2013年。
[8]
E.T.Barr、T.Vo、V.Le和Z.Su.浮点异常的自动检测。在POPL中,第549-560页,2013年。
[9]
F.Benz、A.Hildebrandt和S.Hack。动态程序分析以发现浮点精度问题。PLDI,第453-462页,2012年。
[10]
B.Blanchet、P.Cousot、R.Cousot、J.Feret、L.Mauborgne、A.Miné、D.Monniaux和X.Rival。大型安全关键软件的静态分析器。在PLDI中,第196–207页,2003年。
[11]
S.Boldo和J.-C.Filliátre。浮点程序的正式验证。IEEE ARITH,第187-194页,2007年。
[12]
R.P.布伦特。无导数最小化算法。普伦蒂斯·霍尔,恩格伍德悬崖,新泽西州,1973年。
[13]
W.F.Chiang、G.Gopalakrishnan、Z.Rakamaric和A.Solovyev。高效搜索导致高浮点错误的输入。在PPOPP中,第43-52页,2014年。
[14]
P.库索和R.库索。程序分析框架的系统设计。在POPL中,第269-282页,1979年。
[15]
P.Cousot和N.Halbwachs。程序变量之间线性约束的自动发现。在POPL中,第84-96页,1978年。
[16]
D.Dunbar、C.Cadar和D.Engler。KLEE:为复杂系统程序自动生成高覆盖率测试。OSDI,2008年。
[17]
I.A.Espírito-Santo、L.A.Costa、A.M.A.C.Rocha、M.A.K.Azad和E.M.G.P.Fernandes。关于约束全局优化的挑战性技术。《优化手册》,第641-671页,2013年。
[18]
P.菲茨帕特里克。将反向错误断言扩展到浮点计算中的大错误容限。IEEE传输。计算机,46(4):505–5101997。
[19]
Z.Fu先生。将数字抽象域与指向分析以及可扩展的Java静态数字分析器进行模块化组合。在VMCAI中,第282-301页,2014年。
[20]
A.加蒂。用于Matlab的Miller分析器:用于自动舍入分析的Matlab包。计算与信息学,31(4):713–7262012。
[21]
每个计算机科学家都应该了解浮点运算。ACM CSUR,23(1):1991年5月至48日。
[22]
M.戈尔茨坦。数字计算机上的重要性算法。Commun公司。ACM,6(3):111-1171963年。
[23]
E.古堡。浮点运算精度的静态分析。在SAS中,第234–259页,2001年。
[24]
E.古堡和S.普特。数值算法的静态分析。在SAS中,第18–34页,2006年。
[25]
J.哈里森。通过二进制的十进制超验。IEEE ARITH,第187-194页,2009年。
[26]
N.J.海姆。数值算法的准确性和稳定性。SIAM,第二版,2002年。
[27]
英特尔公司。英特尔®64与IA-32体系结构软件开发人员手册,2012年3月。
[28]
D.Jiang和N.F.Stewart。计算几何中的反向误差分析。在ICCSA中,第50–59页,2006年。
[29]
T.Kaneko和B.Liu。浮点运算中的局部舍入错误。J.ACM,20(3):391–3981973年。
[30]
J.C.金。符号执行和程序测试。ACM通讯,19(7),1976年。
[31]
D.E.Knuth。计算机编程艺术,第2卷:半数值算法(第3版)。Addison-Wesley Professional,第3版,1997年11月。国际标准图书编号0201896842。
[32]
马特尔先生。基于语义的算术表达式转换。在SAS中,第298–314页,2007年。
[33]
W.Miller和D.L.Spooner。算法532:取整分析软件{Z}。ACM TOMS,4(4):388–3901978年。
[34]
A.米内。弱关系数值抽象域。博士论文,埃科尔理工学院,法国帕莱索,2004年。
[35]
J.-M Muller、N.Brisebare、F.de Dinechin、C.-P.Jeannerod、V.Lefèvre、G.Melquiond、N.Revol、D.Stehlé和S.Torres。浮点运算手册。2010
[36]
W.H.Press、S.A.Teukolsky、W.T.Vetterling和B.P.Flannery。C语言中的数字配方:科学计算的艺术。剑桥大学出版社,第二版,1992年。
[37]
C.Rubio-González、C.N.0001、H.D.Nguyen、J.Demmel、W.Kahan、K.Sen、D.H.Bailey、C.Iancu和D.Hough。珍贵:浮点精度的调优助手。在SC中,2013年第27页。
[38]
W.鲁丁。数学分析原理。McGraw-Hill,纽约,第三版,1976年。
[39]
E.Schkufza、R.Sharma和A.Aiken。精度可调的浮点程序的随机优化。PLDI,第53-64页,2014年。
[40]
E.Tang,E.Barr,X.Li和Z.Su。用于浮点程序(in)稳定性统计分析的扰动数值计算。ISSTA,第131-142页,2010年。
[41]
N.H.Tuan、P.H.Quan、D.D.Trong和L.M.Triet。关于具有时间相关系数的反向热问题:正则化和误差估计。应用数学与计算,219(11):6066–60732013。
[42]
D.J.Wales和J.P.K.Doye。通过盆顶和包含多达110个原子的Lennard-Jones团簇的最低能量结构进行全局优化。物理化学杂志A,101(28):5111–51161998年3月。
[43]
J·H·威尔金森。代数过程中的舍入误差。IFIP大会,第44-53页,1959年。
[44]
J.H.威尔金森。浮点计算的错误分析。数字数学,2(1):319–3401960。
[45]
J.H.威尔金森。数值分析师的一些评论。J.ACM,18(2):137-1471971年。
[46]
J.H.威尔金森。重新进行错误分析。IMA公告,22(11/12):192-2001986年。
[47]
I.Zelinka、V.Snsel和A.Abraham。优化手册:从经典到现代方法。Springer Publishing Company,Incorporated,2012年。是3642305032,9783642305030。
[48]
D.Zou、R.Wang、Y.Xiong、L.Zhang、Z.Su和H.Mei。用于检测显著浮点不精确性的遗传算法。第37届国际软件工程会议,意大利费伦泽,2015年。

引用人

查看全部

索引术语

  1. 数字代码的自动反向错误分析

      建议

      评论

      信息和贡献者

      问询处

      发布于

      封面图片ACM SIGPLAN注意事项
      ACM SIGPLAN通知 第50卷第10期
      2015年OOPSLA
      2015年10月
      953页
      国际标准编号:0362-1340
      EISSN公司:1558-1160
      内政部:10.1145/2858965
      期刊目录
      • 封面图片ACM会议
        OOPSLA 2015:2015 ACM SIGPLAN面向对象编程、系统、语言和应用国际会议记录
        2015年10月
        953页
        十亿英镑:9781450336895
        内政部:10.1145/2814270
      如果复制品不是为了盈利或商业利益而制作或分发的,并且复制品的第一页载有本通知和完整引文,则允许免费制作本作品的全部或部分数字或硬拷贝以供个人或课堂使用。必须尊重ACM以外的其他人对本作品组成部分的版权。允许用信用证进行摘要。要以其他方式复制或重新发布、在服务器上发布或重新分发到列表,需要事先获得特定许可和/或收取费用。从请求权限[电子邮件保护]

      出版商

      计算机协会

      美国纽约州纽约市

      出版历史

      出版:2015年10月23日
      在SIGPLAN中发布体积50,问题10

      检查更新

      作者标记

      1. 浮点
      2. 反向误差
      3. 条件编号
      4. 数学优化

      限定符

      • 研究文章

      资金来源

      贡献者

      其他指标

      文献计量学和引文

      文献计量学

      文章指标

      • 下载次数(过去12个月)36
      • 下载次数(最近6周)5
      反映截至2024年9月17日的下载量

      其他指标

      引文

      引用人

      查看全部
      • (2023)LAProof:线性代数程序精确性和正确性的形式证明库2023年IEEE第30届计算机算术(ARITH)研讨会10.1109/ARITH58626.2023.00021(36-43)在线发布日期:2023年9月4日
      • (2023)异构代码中编译器引起的数值不一致的表达式隔离高性能计算10.1007/978-3-031-32041-5_20(381-401)在线发布日期:2023年5月10日
      • (2016)XSat:一种快速浮点可满足性求解器计算机辅助验证10.1007/978-3-319-41540-6_11(187-209)在线发布日期:2016年7月13日
      • (2023)埃菲尔:通过多项式外推推断重要浮点误差的输入范围2023年第38届IEEE/ACM国际自动化软件工程会议(ASE)10.1109/ASE56229.2023.00139(1441-1453)在线发布日期:2023年9月11日
      • (2023)AMPT:基于精度增益的自动混合精度调谐2023年第30届亚太软件工程会议(APSEC)10.1109/APSEC60848.2023.00043(329-338)在线发布日期:2023年12月4日
      • (2022)浮点程序的无Oracle修复合成美国计算机学会程序设计语言会议录10.1145/35633226:OOPSLA2(957-985)在线发布日期:2022年10月31日
      • (2022)深度稳定性第44届软件工程国际会议论文集10.1145/3510003.3510095(586-597)在线发布日期:2022年5月21日
      • (2021)概率浮点计算的严格舍入误差分析计算机辅助验证10.1007/978-3-030-81688-9_29(626-650)在线发布日期:2021年7月15日
      • (2020)pLiner公司高性能计算、网络、存储和分析国际会议记录10.5555/3433701.3433766(1-14)在线发布日期:2020年11月9日
      • (2020)发现数字图书馆中的差异第29届ACM SIGSOFT软件测试与分析国际研讨会论文集10.1145/3395363.3397380(488-501)在线发布日期:2020年7月18日
      • 显示更多引用者

      视图选项

      获取访问权限

      登录选项

      完全访问权限

      查看选项

      PDF格式

      以PDF文件查看或下载。

      PDF格式

      电子阅读器

      使用联机查看电子阅读器.

      电子阅读器

      媒体

      数字

      其他

      桌子

      分享

      分享

      共享此出版物链接

      在社交媒体上分享