×

通过CLP部分求值测试字节码的数据生成。 (英语) Zbl 1185.68146号

Michael Hanus(编辑),基于逻辑的程序合成和转换。2008年7月17日至18日在西班牙巴伦西亚举行的2008年LOPSTR第18届国际研讨会。修订了选定的论文。柏林:施普林格出版社(ISBN 978-3-642-00514-5/pbk)。计算机科学课堂讲稿5438,4-23(2009)。
摘要:我们使用为约束逻辑编程(CLP)开发的现有部分求值(PE)技术,以便自动生成用于字节码的glass-box测试的测试用例生成器。我们的方法包括两个独立的CLP PE阶段。(1) 首先,将字节码转换为等效的(反编译的)CLP程序。这已经是一个经过充分研究的转换,可以通过使用专门的反编译器或通过现有PE技术专门化字节码解释器来实现。(2) 执行第二个PE,以通过执行CLP反编译程序来监督测试用例的生成。有趣的是,我们使用了先前在CLPPE上下文中定义的控制策略,以便捕获字节码的glass-box测试的覆盖标准。我们的方法的一个独特之处是,第二个PE阶段不仅允许生成测试用例,还允许生成测试语句生成器。据我们所知,这是(CLP)PE技术首次应用于测试用例生成以及生成测试用例生成器。
有关整个系列,请参见[Zbl 1157.68006号].

MSC公司:

68N17号 逻辑编程
PDF格式BibTeX公司 XML格式引用
全文: 内政部 链接

参考文献:

[1] Aho,A.V.、Sethi,R.、Ullman,J.D.:编译器——原理、技术和工具。Addison-Wesley,雷丁(1986)·Zbl 1155.68020号
[2] Albert,E.,Arenas,P.,Genaim,S.,Puebla,G.,Zanardini,D.:Java字节码的成本分析。在:De Nicola,R.(编辑)ESOP 2007。LNCS,第4421卷,第157-172页。斯普林格,海德堡(2007)·Zbl 05187152号 ·doi:10.1007/978-3-540-71316-6_12
[3] Albert,E.,Gómez-Zamalloa,M.,Hubert,L.,Puebla,G.:使用逻辑程序的分析和转换验证Java字节码。在:Hanus,M.(编辑)PADL 2007。LNCS,第4354卷,第124-139页。斯普林格,海德堡(2006)·doi:10.1007/978-3-540-69611-7_8
[4] Beckert,B.,Hähnle,R.,Schmitt,P.H.(编辑):面向对象软件的验证。LNCS,第4334卷。施普林格,海德堡(2007)
[5] Bruynooghe,M.,De Schreye,D.,Martens,B.:避免部分演绎过程中无限展开的一般标准。新一代计算1(11),47-79(1992)·Zbl 0782.68024号 ·doi:10.1007/BF03037527
[6] Claessen,K.,Hughes,J.:Quickcheck:用于随机测试haskell程序的轻量级工具。收录于:ICFP,第268-279页(2000年)·兹伯利06481641 ·doi:10.1145/351240.351266
[7] 克拉克,洛杉矶:一个生成测试数据并象征性地执行程序的系统。IEEE传输。软件工程2(3),215–222(1976)·Zbl 05341395号 ·doi:10.10109/TTS.1976.233817
[8] Craig,S.-J.,Leuschel,M.:约束逻辑程序的编译器生成器。摘自:埃尔肖夫纪念会议,第148-161页(2003年)
[9] Ferguson,R.,Korel,B.:软件测试数据生成的链接方法。ACM事务处理。柔和。工程方法。 5(1), 63–86 (1996) ·兹比尔01936327 ·doi:10.1145/226155.226158
[10] Fischer,S.,Kuchen,H.:功能逻辑程序玻璃盒测试用例的系统生成。摘自:PPDP,第63–74页(2007年)·数字对象标识代码:10.1145/1273920.1273930
[11] Futamura,Y.:计算过程的部分评估——编译器编译器的一种方法。系统、计算机、控制2(5),45-50(1971)
[12] Gómez-Zamalloa,M.,Albert,E.,Puebla,G.:通过部分求值对低级代码进行模块化解码。摘自:第八届IEEE源代码分析和操作国际工作会议(SCAM 2008),第239-248页。IEEE计算机学会,洛斯阿拉米托斯(2008)·doi:10.1109/SCAM.2008.35
[13] Gotlieb,A.、Botella,B.、Rueher,M.:计算结构测试数据的clp框架。收录人:Palamidessi,C.,Moniz Pereira,L.,Lloyd,J.W.,Dahl,V.,Furbach,U.,Kerber,M.,Lau,K.-K.,Sagiv,Y.,Stuckey,P.J.(编辑)CL 2000。LNCS,第1861卷,第399–413页。斯普林格,海德堡(2000)·Zbl 0983.68583号 ·doi:10.1007/3-540-44957-4_27
[14] Gupta,N.,Mathur,A.P.,Soffa,M.L.:生成分支覆盖率的测试数据。摘自:自动化软件工程,第219-228页(2000年)·doi:10.1109/ASE.2000.873666
[15] Henriksen,K.S.,Gallagher,J.P.:通过逻辑编程对pic程序进行抽象解释。收录于:SCAM 2006:IEEE第六届源代码分析和操作国际研讨会论文集,第184-196页。IEEE计算机学会,Los Alamitos(2006)·doi:10.1109/SCAM.2006.1
[16] 豪登,W.E.:符号测试和剖析符号评估系统。IEEE软件工程汇刊3(4),266–278(1977)·Zbl 0359.68015号 ·doi:10.1109/TSE.1977.231144
[17] King,J.C.:符号执行和程序测试。Commun公司。ACM 19(7),385–394(1976)·Zbl 0329.68018号 ·doi:10.1145/360248.360252
[18] Koopman,P.、Alimarine,A.、Tretmans,J.、Plasmeijer,R.:Gast:通用自动化软件测试。摘自:IFL,第84-100页(2002年)
[19] Lindholm,T.,Yellin,F.:Java虚拟机规范。Addison-Wesley,雷丁(1996)
[20] Marriot,K.,Stuckey,P.:带约束的编程:导论。麻省理工学院出版社,剑桥(1998)
[21] Méndez-Lojo,M.,Navas,J.,Hermenegildo,M.:一种基于灵活(C)LP的面向对象程序分析方法。收录:King,A.(编辑)LOPSTR 2007。LNCS,第4915卷。斯普林格,海德堡(2008)·Zbl 1179.68030号 ·doi:10.1007/978-3-540-78769-3_11
[22] Meudec,C.:Atgen:使用约束逻辑编程和符号执行自动生成测试数据。柔和。测试。,验证。Reliab公司。 11(2), 81–96 (2001) ·Zbl 05446765号 ·doi:10.1002/stvr.225
[23] Müller,R.A.,Lembeck,C.,Kuchen,H.:用于生成测试用例的符号java虚拟机。摘自:IASTED软件工程会议,第365-371页(2004)
[24] Mweze,N.,Vanhoof,W.:汞项目测试输入的自动生成。In:2006年LOPSTR预发布(2006年7月)(扩展摘要)
[25] Puebla,G.,Albert,E.,Hermenegildo,M.:使用祖先堆栈进行有效的局部展开以实现完整Prolog。收录:Etalle,S.(编辑)LOPSTR 2004。LNCS,第3573卷,第149-165页。斯普林格,海德堡(2005)·Zbl 1134.68335号 ·doi:10.1007/11506676_10
[26] 瑞典计算机科学研究所,瑞典基斯塔S-164 28,邮政信箱1263。SICStus Prolog 3.8用户手册,3.8版(1999年10月),http://www.sics.se/sicstus网站/
[27] Zhu,H.,Patrick,A.,Hall,V.,John,H.R.:软件单元测试覆盖率和充分性。ACM计算。Surv公司。 29(4), 366–427 (1997) ·数字对象标识代码:10.1145/267580.267590
此参考列表基于出版商或数字数学图书馆提供的信息。其项与zbMATH标识符进行启发式匹配,可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。