×

逻辑编程中的一致性测试。 (英语) Zbl 1379.68078号

摘要:软件测试是软件行业中最流行的验证技术之一。令人惊讶的是,我们只能找到一些在逻辑编程上下文中进行测试的方法。在本文中,我们介绍了一种系统的动态测试方法,该方法结合了具体执行和符号执行。我们的方法是全自动的,并且在终止时保证了完整的路径覆盖。我们证明了我们的技术的一些基本属性,并通过原型实现说明了它的实用性。

MSC公司:

68N17号 逻辑编程
PDF格式BibTeX公司 XML格式引用

参考文献:

[1] 阿尔伯塔省。,竞技场。,戈梅斯·扎马洛亚。,和RojasJ.2014。通过符号执行生成测试用例:基本概念、基于CLP的实例和基于参与者的并发。2014年SFM。施普林格LNCS 8483、263-309·Zbl 06408114号
[2] 1997年4月。从逻辑编程到Prolog。普伦蒂斯·霍尔。
[3] BelliF公司。和JackO.1993。Prolog程序的基于实现的分析和测试。在ISSTA。70-80之间。
[4] 卡尔森。和MildnerP.2012。SICStus Prolog——前25年。逻辑程序设计的理论与实践12,1-2,35-66.10.1017/S1471068411000482·Zbl 1244.68016号 ·doi:10.1017/S1471068411000482
[5] 克莱森克。和HughesJ.2000。QuickCheck:用于Haskell程序随机测试的轻量级工具。程序中。(ICFP 2000)。美国医学会,268-279。
[6] 克拉克L.1976。程序测试系统。1976年年度会议记录(ACM’76)。488-491.
[7] Degrave公司。,施里杰弗斯。,和VanhoofW.2008。汞测试输入的自动生成。2008年LOPSTR第18届国际研讨会《基于逻辑的程序合成与转换》。71-86. ·Zbl 1185.68154号
[8] 戈德弗里德。,克拉伦德。,和SenK.2005。DART:直接自动化随机测试。程序中。2005年PLDI。美国医学会,213-223。
[9] 戈德弗里德。,莱文。,和Molnar D.2012。Sage:用于安全测试的白盒模糊处理。CACM55,3,40-44。
[10] 戈梅斯·扎马洛亚。,阿尔伯塔省。,和PueblaG.2010。CLP中面向对象命令式语言的测试用例生成。TPLP10、4-6、659-674·Zbl 1209.68093号
[11] 赫尔梅内吉尔多。V.、BuenoF.等人。,卡罗姆。,洛佩斯·加西亚。,梅拉。,莫拉莱斯J。F.和PueblaG.2012。Ciao及其设计理念概述。TPLP12,1-2,219-252·Zbl 1244.68019号
[12] KingJ公司。C.1976年。符号执行和程序测试。CACM19,7385-394.10.1145/360248.360252·兹伯利0329.68018 ·doi:10.1145/360248.360252
[13] 劳埃德J.1987。逻辑编程基础。柏林斯普林格·弗拉格。第2版·Zbl 0668.68004号
[14] 马尔泰利亚。和MontanariU.1982。一种高效的统一算法。美国计算机学会程序设计语言与系统汇刊4258-282.10.1145/357162.357169·Zbl 0478.68093号 ·doi:10.1145/357162.357169
[15] 梅拉。,洛佩斯·加西亚。,和HermenegildoM。2009年5月。在断言验证框架中集成软件测试和运行时检查。第25届逻辑编程国际会议,ICLP 2009,帕萨迪纳。281-295.
[16] 帕萨雷努。和RungtaN.2010。符号PathFinder:Java字节码的符号执行。在ASE、C.Pecheur、J.Andrews和E.D.Nitto编辑的ACM中,179-180.10.1145/1858996·数字对象标识代码:10.1145/1858996
[17] PlotkinG.1970年。关于归纳推广的注记。机器智能5153-163·Zbl 0219.68045号
[18] 辛普夫J。和ShenK.2012。ECL^iPS^e-从LP到CLP。逻辑程序设计的理论与实践12,1-2,127-156.10.1017/S1471068411000469·Zbl 1244.68020号 ·doi:10.1017/S1471068411000469
[19] 参议员。,马里诺夫。,和AghaG.2005。CUTE:用于C.In Proc的协调单元测试引擎。ESEC/SIGSOFT FSE 2005。美国医学会,263-272。
[20] SomogyiZ、。,亨德森。,和ConwayT.1996。Mercury的执行算法,这是一种高效的纯声明式逻辑编程语言。逻辑程序设计杂志29,1-3,17-64.10.1016/S0743-1066(96)00068-4·Zbl 0877.68015号 ·doi:10.1016/S0743-1066(96)00068-4
[21] 斯特罗德。,EmmesF公司。,施耐德-坎普。,吉斯尔J。,和FuhsC.2011。ISO Prolog终止和复杂性分析的线性操作语义。在洛普斯特’11。施普林格LNCS 7225、237-252·Zbl 1377.68068号
[22] 瓦萨克。和波特J.1986。终止逻辑程序的特征。程序中。1986年国际交响乐团。逻辑编程。IEEE,140-147。
[23] 视频G.2015。Prolog中的并发执行和测试用例生成。程序中。第24届基于逻辑的程序合成与转换国际研讨会(LOPSTR’14),M.Proietti和H.Seki,Eds.Springer LNCS 8981167-181·Zbl 1457.68043号
[24] WielemakerJ.、SchrijversT.、。,特里斯卡姆。,和LagerT.2012。SWI-预测。逻辑程序设计的理论与实践12,1-2,67-96.10.1017/S1471068411000494·Zbl 1244.68023号 ·网址:10.1017/S1471068411000494
此参考列表基于出版商或数字数学图书馆提供的信息。其项与zbMATH标识符进行启发式匹配,可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。