看过本文的还看了

相关文献

该作者的其他文献

文献详情 >基于程序约束的细粒度JVM测试程序约简方法 收藏
基于程序约束的细粒度JVM测试程序约简方法

基于程序约束的细粒度JVM测试程序约简方法

作     者:杜义恒 王赞 赵英全 陈俊洁 陈翔 侯德俊 郑开 DU Yi-Heng;WANG Zan;ZHAO Ying-Quan;CHEN Jun-Jie;CHEN Xiang;HOU De-Jun;ZHENG Kai

作者机构:天津大学智能与计算学部天津300350 南通大学信息科学技术学院江苏南通226019 信息安全国家重点实验室(中国科学院信息工程研究所)北京100093 天津大学信息与网络中心天津300072 

基  金:国家自然科学基金(62232001 62002256) 

出 版 物:《软件学报》 (Journal of Software)

年 卷 期:2024年第35卷第7期

页      码:3204-3226页

摘      要:为了对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调试 

学科分类:0202[经济学-财政学类] 1202[管理学-工商管理类] 1201[管理学-管理科学与工程类] 081203[081203] 08[工学] 0805[工学-能源动力学] 0835[0835] 0812[工学-测绘类] 081202[081202] 

核心收录:

D O I:10.13328/j.cnki.jos.007108

馆 藏 号:203128576...

读者评论 与其他读者分享你的观点

用户名:未登录
我的评分