×

利用二进制浮点表示进行约束传播。 (英语) Zbl 1357.68010号

概要:尽管设计浮点算法比设计整数算法要困难得多,但浮点计算在安全和任务关键型系统的设计中很快找到了自己的方法。因此,浮点计算的验证和验证是热门的研究课题。测试是一项重要的验证技术,尤其是在一些工业部门。然而,为浮点密集型程序生成测试数据被证明是一个具有挑战性的问题。现有方法通常诉诸随机或基于搜索的测试数据生成,但如果没有符号推理,几乎不可能生成执行由浮点计算控制的复杂路径的测试输入。此外,由于实数或有理数上的约束求解器本身不支持处理舍入误差,因此需要浮点域上的高效约束求解器。在本文中,我们提出并充分证明了算法IEEE754二进制浮点约束传播的改进算法。这些算法的关键点是对B.Marre和C.Michel的一个思想的概括,该思想利用了浮点数表示的一个特性。

MSC公司:

2007年7月68日 计算机体系结构的数学问题
6504年 计算机算术的数值算法等。
68米15 网络和计算机系统的可靠性、测试和容错
60年第68季度 规范和验证(程序逻辑、模型检查等)
PDF格式BibTeX公司 XML格式引用

参考文献:

[1] Ammann PE,Knight JC(1988)《数据多样性:软件容错方法》。IEEE传输。计算。37:418-425. 交叉参考
[2] Arcuri A(2009)软件测试中本地搜索的理论分析。Watanabe O,Zeugmann T编辑。程序。第五国际。交响乐。随机算法:基础应用。(SAGA 2009),《计算机科学讲义》,第5792卷(施普林格出版社,柏林),156-168。交叉参考·Zbl 1260.68121号
[3] Bagnara R、Carlier M、Gori R、Gotlieb A(2013)浮点程序的符号路径定向测试数据生成。程序。第六届IEEE国际。符合软件测试、验证和确认(IEEE出版社,纽约)。交叉参考
[4] Bagnara R,Carlier M,Gori R,Gotlieb A(2015)《在线补充:利用二进制浮点表示进行约束过滤》。信息J.计算。即将到来·Zbl 1357.68010号
[5] Belaid MS(2013)《海上禁运解决方案》(Résolution de containtes sur les flottants dédiéa la vérification de programs)。法国尼斯大学索菲亚·安蒂波利斯分校STIC博士学位论文。
[6] Belaid MS、Michel C、Rueher M(2012)《提高浮点数的局部一致性算法》。Milano M编辑。程序。第18届国际米兰。约束编程的编译原理与实践《计算机科学课堂讲稿》,第7514卷(柏林施普林格-弗拉格出版社),127-140。交叉参考
[7] Blanc B、Bouquet F、Gotlieb A、Jeannet B、Jeron T、Legeard B、Marre B、Michel C、Rueher M(2006)《V3F项目》。程序。软件测试、验证和分析约束第一次研讨会。(CSTVA’06),法国南特, 5-21.
[8] Borges M、d'Amorim M、Anand S、Bushnell d、Pasareanu CS(2012)《带区间求解和元神经搜索的符号执行》。程序。第五届IEEE国际。符合软件测试、验证和确认(IEEE计算机学会,华盛顿特区),111-120。交叉参考
[9] Botella B,Gotlieb A,Michel C(2006)浮点计算的符号执行。软件测试、验证可靠性16:97-121. 交叉参考
[10] Burdy L,Dufour J-L,Lecomte T(2012)TheB类方法使用浮点数。程序。第六国际。嵌入式实时软件和系统展览会(ERTS 2012),法国图卢兹。
[11] Carlier M,Gotlieb A(2011)通过ULP最大值进行过滤。程序。第23届IEEE国际。人工智能工具(ICTAI 2011)(IEEE计算机学会,华盛顿特区),209-214。交叉参考
[12] Chabert G,Jaulin L(2009)《承包商编程》。人工智能173:1079-1100. 交叉参考·Zbl 1191.68628号
[13] Chan FT,Chen TY,Cheung SC,Lau MF,Yiu SM(1998)变形测试在数值分析中的应用。程序。IASTED国际。Conf.软件工程师(SE’98)(ACTA出版社,加拿大阿尔伯塔省卡尔加里),191-197年。
[14] Clarke EM、Kroening D、Lerda F(2004)《检查ANSI-C程序的工具》。Jensen K,Podelski A,编辑。系统构建和分析的工具和算法,Proc。第十届国际。会议(TACAS 2004)《计算机科学课堂讲稿》,第2988卷(柏林施普林格-弗拉格出版社),168-176页。交叉参考·Zbl 1126.68470号
[15] Cousot P,Cousot R(1977)抽象解释:通过构造或近似不动点对程序进行静态分析的统一格模型。程序。第四届ACM年度交响曲。程序设计语言原理(纽约ACM出版社),238-252。交叉参考
[16] Denmat T,Gotlieb A,DucasséM(2007)用动态线性松弛改进基于约束的测试。程序。第18届IEEE国际。交响乐。软件可靠性(ISSRE 2007)(IEEE计算机学会,华盛顿特区),181-190年。交叉参考·Zbl 1145.68510号
[17] D’Silva V、Haller L、Kroening D、Tautschnig M(2012)《冲突驱动学习的数值边界分析》。Flanagan C,König B,编辑。工具算法构造分析。系统,程序。第18届国际米兰。会议(TACAS 2012)《计算机科学课堂讲稿》,第7214卷(柏林施普林格出版社),第48-63页。交叉参考·Zbl 1352.68060号
[18] Godefroid P、Klarlund N、Sen K(2005)DART:定向自动随机测试。Sarkar V,Hall MW编辑。程序。ACM SIGPLAN 2005 Conf.编程语言设计实现(PLDI 2005)(ACM,纽约),213-223。交叉参考
[19] Goldberg D(1991)每个计算机科学家都应该了解浮点运算。ACM计算。调查23:5-48。交叉参考
[20] Goubault E(2001)浮点运算精度的静态分析。Cousot P编辑。静态分析:第八国际。交响乐。,SAS 2001《计算机科学课堂讲稿》,第2126卷(柏林斯普林格·弗拉格出版社),第234-259页。交叉参考·Zbl 0997.68518号
[21] Granvilliers L,Benhamou F(2006)算法852:RealPaver:使用约束满足技术的区间解算器。ACM事务处理。数学。软件32分138秒至156秒。交叉参考·Zbl 1346.65020号
[22] 位于海法的IBM实验室,FPgen团队(2008)IEEE浮点测试套件,版本1.02。2015年12月29日查阅,https://www.research.ibm.com/haifa/projects/verification/fpgen/papers/iee-test-suite-v2.pdf。
[23] IEEE计算机学会(2008)IEEE浮点运算标准。IEEE标准754-2008(IEEE,纽约)。
[24] Korel B(1990)自动化软件测试数据生成。IEEE传输。软件工程。16:870-879. 交叉参考
[25] Kuliamin VV(2010)《数学函数的标准化和测试》。Pnueli A、Virbitskaite I、Voronkov A编辑。Perspectives Systems Informatics,修订论文第7期国际。安德烈·埃尔肖夫纪念大会(PSI 2009)《计算机科学课堂讲稿》,第5947卷(柏林施普林格-弗拉格出版社),第257-268页。交叉参考·Zbl 1274.65136号
[26] Lakhotia K,Harman M,Gross H(2010a)AUSTIN:一种用于C语言的基于搜索的软件测试工具及其对部署的汽车系统的评估。程序。第二国际。交响乐。基于搜索的软件工程(SSBSE’10)(IEEE计算机学会,华盛顿特区),101-110。交叉参考
[27] Lakhotia K,Tillmann N,Harman M,De Halleux J(2010b)《FloPSy:符号执行的基于搜索的浮点约束求解》。程序。第22届IFIP工作组6.1国际。Conf.测试软件系统(柏林斯普林格·弗拉格),142-157年。交叉参考
[28] Lebbah Y(2009)ICOS:用于严格全局优化的基于分支和边界的求解器。最佳方案。方法软件24:709-726. 交叉参考·Zbl 1179.90265号
[29] Marre B,Blanc B(2005)《GATeL中Lustre描述的测试选择策略》。Gurevich Y,Petrenko AK,Kossatchev A编辑。程序。基于车间模型的测试(MBT 2004)《理论计算机科学电子笔记》,第111卷(Elsevier Science Publishers B.V.,阿姆斯特丹),第93-111页。交叉参考
[30] Marre B,Michel C(2010)改进浮点加减约束。Cohen D编辑。程序。第16届国际米兰。Conf.原则实践约束编程(CP 2010)《计算机科学讲义》,第6308卷(柏林施普林格出版社),360-367页。交叉参考
[31] McMinn P(2004)《基于搜索的软件测试数据生成:一项调查》。软件测试、验证可靠性14:105-156. 交叉参考
[32] Michel C(2002)浮点数约束的精确投影函数。程序。第七届国际。交响乐。人工智能数学。,佛罗里达州劳德代尔堡。
[33] Michel C(2013)《与作者的个人交流》,12月。
[34] Michel C,Rueher M,Lebbah Y(2001)求解浮点数上的约束。Walsh T编辑。程序。第七届国际。约束编程的Conf.原理与实践(CP 2001)《计算机科学课堂讲稿》,第2239卷(柏林施普林格-弗拉格出版社),第524-538页。交叉参考·Zbl 1067.68658号
[35] Miller W,Spooner DL(1976)浮点测试数据的自动生成。IEEE传输。软件工程。2:223-226. 交叉参考
[36] Monniaux D(2008)验证浮点计算的陷阱。ACM事务处理。编程语言系统30:第12条。交叉参考
[37] Muller J-M(2005)关于ulp(x)技术报告RR-5504,INRIA,Montbonnot-Saint-Martin,法国。
[38] Scott NS,Jézéquel F,Denis C,Chesneaux J-M(2007)科学代码的数字“健康检查”:CADNA方法。计算。物理通信。176:507-521. 交叉参考
[39] Skeel R(1992)舍入误差和爱国者导弹。SIAM新闻25:11.
[40] Tang E,Barr ET,Li X,Su Z(2010)用于浮点程序(in)稳定性统计分析的扰动数值计算。Tonella P,Orso A,编辑。程序。第19届国际米兰。交响乐。软件测试与分析(ISSTA 2010)(纽约ACM出版社),131-142。交叉参考
[41] Weyuker EJ(1982)关于测试不可测试程序。计算。J。25:465-470. 交叉参考
此参考列表基于出版商或数字数学图书馆提供的信息。其项与zbMATH标识符进行启发式匹配,可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。