编译器测试程序生成与测试加速研究

基本信息
批准号:61672047
项目类别:面上项目
资助金额:63.00
负责人:张路
学科分类:
依托单位:北京大学
批准年份:2016
结题年份:2020
起止时间:2017-01-01 - 2020-12-31
项目状态: 已结题
项目参与者:陈俊洁,娄一翎,胡文翔,臧琳飞,王然,白彦威
关键词:
编译器测试测试用例生成测试用例优先化
结项摘要

Compilers are one of the most fundamental software and almost all of software are based on them. Therefore, the reliability of compilers is very important. Compiler testing is an effective way of guaranteeing the quality of compilers. Currently, there are three mainstream compiler testing techniques: Randomized Differential Testing, Equivalence Modulo Inputs and Different Optimization Levels. However, there are no studies demonstrating which compiler testing technique is better. In our project, we design empirical study to compare the three compiler testing techniques, and to explore the influence of many factors on compiler testing. Based on this empirical study, we will propose two new compiler testing techniques to complement the existing testing techniques. The two techniques are based on search algorithms and test inputs, respectively. Furthermore, compiler testing has the serious efficiency issue, thus in this project we will propose two accelerating approaches to accelerating compiler testing. The two approaches are based on text-vector and machine learning, respectively.

编译器是最基础的软件之一,几乎所有的软件都以其为基础,因此,编译器的可靠性是至关重要的。编译器测试是保证编译器质量的一种有效手段,并且目前有三种主流的编译器测试技术:随机差异测试,等价取模测试,和优化选项测试。然而,目前并没有研究能够证明哪种编译器测试技术更好,并且也没有研究去探索影响编译器的因素有哪些。在本项目中,我们将设计精密的实验,来比较这三种编译器测试技术,并且探索与编译器测试相关的因素的影响。基于实验探究结果,我们提出两种与已有编译器测试技术具有补充作用的新的测试技术:基于搜索的编译器测试技术和基于测试程序输入的编译器测试技术。除此之外,由于编译器测试有着严重的效率问题,因此,我们针对加速编译器测试,提出了两种有效的加速技术:基于文本向量的编译器测试加速技术和基于机器学习的编译器测试加速技术。

项目摘要

编译器是最基础的软件之一,几乎所有的软件都以其为基础,因此,编译器的可靠性是至关重要的。编译器测试是保证编译器可靠性的一种有效手段,编译器测试效率是编译器测试面临的核心问题,提升编译器测试效率的主要手段包含两个方面:1)尽可能生成揭错能力强的测试用例;2)尽可能优化编译器测试用例的执行。本项目已当前通用的随机编译器测试工具CSmith为基础,探索通过调控CSmith的配置来生成揭错能力更强的测试用例集,提出了自己的编译器测试用例生成,可显著提升编译器测试用例集的揭错能力。针对编译器测试加速,本项目探索依据前阶段测试的结果动态调整编译器测试用例执行的顺序,可显著提升编译器测试的效率。此外,编译器是一种特殊的复杂软件,编译器错误的修复通常非常耗时,本项目也针对编译器错误的修复开展研究,也取得了不错的进展。

项目成果
{{index+1}}

{{i.achievement_title}}

{{i.achievement_title}}

DOI:{{i.doi}}
发表时间:{{i.publish_year}}

暂无此项成果

数据更新时间:2023-05-31

其他相关文献

1

F_q上一类周期为2p~2的四元广义分圆序列的线性复杂度

F_q上一类周期为2p~2的四元广义分圆序列的线性复杂度

DOI:10.11999/JEIT210095
发表时间:2021
2

平行图像:图像生成的一个新型理论框架

平行图像:图像生成的一个新型理论框架

DOI:10.16451/j.cnki.issn1003-6059.201707001
发表时间:2017
3

零样本学习综述

零样本学习综述

DOI:10.3778/j.issn.1002-8331.2106-0133
发表时间:2021
4

北京市大兴区夏季大气中醛酮类化合物的污染水平、来源及影响

北京市大兴区夏季大气中醛酮类化合物的污染水平、来源及影响

DOI:10.7524/j.issn.0254-6108.2020030103
发表时间:2021
5

顾及功能语义特征的建筑物空间分布模式识别方法

顾及功能语义特征的建筑物空间分布模式识别方法

DOI:10.11947/j.AGCS.2020.20190222
发表时间:2020

张路的其他基金

批准号:41771519
批准年份:2017
资助金额:63.00
项目类别:面上项目
批准号:40701122
批准年份:2007
资助金额:19.00
项目类别:青年科学基金项目
批准号:41271468
批准年份:2012
资助金额:75.00
项目类别:面上项目
批准号:41774006
批准年份:2017
资助金额:69.00
项目类别:面上项目
批准号:11401405
批准年份:2014
资助金额:22.00
项目类别:青年科学基金项目
批准号:41801205
批准年份:2018
资助金额:23.00
项目类别:青年科学基金项目
批准号:40971253
批准年份:2009
资助金额:40.00
项目类别:面上项目
批准号:90718016
批准年份:2007
资助金额:50.00
项目类别:重大研究计划
批准号:81772087
批准年份:2017
资助金额:55.00
项目类别:面上项目
批准号:40501064
批准年份:2005
资助金额:30.00
项目类别:青年科学基金项目
批准号:71802011
批准年份:2018
资助金额:18.00
项目类别:青年科学基金项目
批准号:81900202
批准年份:2019
资助金额:20.00
项目类别:青年科学基金项目
批准号:81101438
批准年份:2011
资助金额:22.00
项目类别:青年科学基金项目
批准号:60403015
批准年份:2004
资助金额:22.00
项目类别:青年科学基金项目
批准号:41271457
批准年份:2012
资助金额:75.00
项目类别:面上项目
批准号:51373192
批准年份:2013
资助金额:80.00
项目类别:面上项目
批准号:71603251
批准年份:2016
资助金额:17.00
项目类别:青年科学基金项目

相似国自然基金

1

二级编译程序的自动生成与基于知识的编译程序测试系统

批准号:68880309
批准年份:1988
负责人:顾元祥
学科分类:F0203
资助金额:8.00
项目类别:专项基金项目
2

程序测试调度与故障诊断

批准号:68773024
批准年份:1987
负责人:黄开源
学科分类:F0203
资助金额:2.80
项目类别:面上项目
3

微处理器高层功能验证测试程序自动生成的理论与方法

批准号:60303011
批准年份:2003
负责人:郭阳
学科分类:F0209
资助金额:7.00
项目类别:青年科学基金项目
4

基于占优度与集合进化的并行程序变异测试数据自动生成

批准号:61375067
批准年份:2013
负责人:巩敦卫
学科分类:F0305
资助金额:79.00
项目类别:面上项目