基于编译优化推荐与测试输入生成的编译器测试研究

批准号:
62002256
项目类别:
青年科学基金项目
资助金额:
24.0 万元
负责人:
陈俊洁
依托单位:
学科分类:
软件理论、软件工程与服务
结题年份:
2023
批准年份:
2020
项目状态:
已结题
项目参与者:
陈俊洁
国基评审专家1V1指导 中标率高出同行96.8%
结合最新热点,提供专业选题建议
深度指导申报书撰写,确保创新可行
指导项目中标800+,快速提高中标率
微信扫码咨询
中文摘要
编译器是基础软件系统之一。当前运行在计算机上的程序都是经过编译器处理的。由于编译器的重要性,它的质量问题显而易见是关键问题。编译器的缺陷不仅会导致不符合预期的行为,也会使软件调试变得复杂。编译器测试是保证其质量的最主要方式,主要涉及三个实体:编译器的编译优化,测试代码(编译器的输入),测试输入(测试代码的输入)。已有编译器测试研究仅围绕其中一个实体——测试代码,而另两个实体的研究仍处于空白阶段。而任何一个实体不满足条件,均会影响测试效果。因此,本项目旨在弥补编译优化和测试输入两个实体的研究空白,针对给定的测试代码,推荐有助于触发缺陷的编译优化(基于机器学习的编译优化推荐技术)、生成有助于暴露缺陷的测试输入(基于搜索的测试输入生成技术)。同时,本项目将所提技术,与申请人之前在测试代码上的研究成果相集成,开发首个贯穿三个实体的编译器测试工具,通过发挥实体间相互作用,以提升编译器测试效果。
英文摘要
Compilers are one of the most fundamental software systems. All the programs running on computers are compiled by compilers. Due to the importance of compilers, guaranteeing the quality of compilers is very critical. In particular, compiler bugs could not only lead to unexpected behaviors of programs but also make software debugging more complex. Compiler testing is the main way of guaranteeing compiler quality, mainly involving three entities, i.e., compiler optimizations (a compiler contains a large number of compiler optimizations), test programs (the inputs of compilers), and test inputs (the inputs of test programs). Although many compiler testing techniques have been proposed in the literature, these techniques focus on only one entity, i.e., test programs, and ignore the other two entities. However, any entity with bad quality can affect the performance of compiler testing. Therefore, our proposal aims to make up the research of the other two entities (i.e., compiler optimizations and test inputs) blank. More specifically, given a test program, our proposal aims to recommend the best compiler optimizations that can facilitate the triggering of compiler bugs by proposing a machine-learning based compiler optimization recommendation technique, and generate the most proper test inputs that can facilitate the exposure of compiler bugs by proposing a search-based test input generation technique. Furthermore, our proposal will integrate the two proposed techniques with the state-of-the-art test program generation technique proposed by the applicant before, in order to develop the first compiler testing tool integrating all the three entities. This tool aims to significantly improve the performance of compiler testing by utilizing the mutual effect among entities closely.
期刊论文列表
专著列表
科研奖励列表
会议论文列表
专利列表
DOI:10.1145/3569932
发表时间:2022-10
期刊:ACM Transactions on Software Engineering and Methodology
影响因子:4.4
作者:Zhichao Chen;Junjie Chen;Weijing Wang;Jianyi Zhou;Mengru Wang;Xiang Chen;Shan Zhou;Jianmin Wang-Ji
通讯作者:Zhichao Chen;Junjie Chen;Weijing Wang;Jianyi Zhou;Mengru Wang;Xiang Chen;Shan Zhou;Jianmin Wang-Ji
Parallel Test Prioritization
并行测试优先级
DOI:10.1145/3471906
发表时间:2022-01
期刊:ACM Transactions on Software Engineering and Methodology
影响因子:4.4
作者:Jianyi Zhou;Junjie Chen;Dan Hao
通讯作者:Dan Hao
DOI:10.1145/3508362
发表时间:2022-03
期刊:ACM Transactions on Software Engineering and Methodology (TOSEM)
影响因子:--
作者:Junjie Chen;Chenyao Suo
通讯作者:Junjie Chen;Chenyao Suo
DOI:10.1145/3587155
发表时间:2022-03
期刊:ACM Transactions on Software Engineering and Methodology
影响因子:4.4
作者:Junjie Chen;Yihua Liang;Qingchao Shen;Jiajun Jiang;Shuochuan Li
通讯作者:Junjie Chen;Yihua Liang;Qingchao Shen;Jiajun Jiang;Shuochuan Li
国内基金
海外基金
