期刊文献+
共找到1篇文章
< 1 >
每页显示 20 50 100
基于程序约束的细粒度JVM测试程序约简方法
1
作者 杜义恒 王赞 +4 位作者 赵英全 陈俊洁 陈翔 侯德俊 郑开 《软件学报》 EI CSCD 北大核心 2024年第7期3204-3226,共23页
为了对Java虚拟机(JVM)进行测试,开发人员通常需要手工设计或利用测试生成工具生成复杂的测试程序,从而检测JVM中潜在的缺陷.然而,复杂的测试程序给开发人员定位及修复缺陷带来了极高的成本.测试程序约简技术旨在保障测试程序缺陷检测... 为了对Java虚拟机(JVM)进行测试,开发人员通常需要手工设计或利用测试生成工具生成复杂的测试程序,从而检测JVM中潜在的缺陷.然而,复杂的测试程序给开发人员定位及修复缺陷带来了极高的成本.测试程序约简技术旨在保障测试程序缺陷检测能力的同时,尽可能地删减测试程序中与缺陷检测无关的代码.现有研究工作基于Delta调试在C程序和XML输入上可以取得较好的约简效果,但是在JVM测试场景中,具有复杂语法和语义依赖关系的Java测试程序约简仍存在粒度较粗、约简效果较差的问题,导致约简后的程序理解成本依然很高.因此,针对具有复杂程序依赖关系的Java测试程序,提出一种基于程序约束的细粒度测试程序约简方法JavaPruner.首先,在语句块级别设计细粒度的代码度量方法;随后,在Delta调试技术上引入语句块之间的依赖约束关系来对测试程序进行约简.以Java字节码测试程序为实验对象,从现有的针对JVM测试的测试程序生成工具中筛选出具有复杂依赖关系的50个测试程序作为基准数据集,并在这些数据集上验证JavaPruner的有效性.实验结果表明,JavaPruner可以有效删减Java字节码测试程序中的冗余代码.与现有方法相比,在所有基准数据集上,约简能力平均可提升37.7%.同时,JavaPruner可以在保障程序有效性及缺陷检测能力的同时,将Java字节码测试程序最大约简至其原有大小的1.09%,有效降低了测试程序的分析和理解成本. 展开更多
关键词 JAVA虚拟机 JVM测试 测试程序约简 Delta调试
在线阅读 下载PDF
上一页 1 下一页 到第
使用帮助 返回顶部