论文摘要:在编译器质量保证中,编译器测试与调试是其中最广泛使用的技术手段。编译器测试通过运行测试用例进行缺陷检测,编译器调试对缺陷进行诊断及修复。为了保证编译器的质量,本文进一步探索编译器测试与调试相关技术。本文的主要研究工作及创新点如下:

  • 进行了基于测试数据分析的编译器测试技术效果探究。该实证研究探究了三种主流编译器测试技术在两个通用编译器上的测试效果。该实证研究揭示三种编译器测试技术在不同的场景下各具优势、彼此互补,并且测试代码效果、测试预言强度,以及效率对编译器测试效果具有显著影响。
  • 提出了基于历史数据学习的编译器测试加速技术。该技术通过对大量历史数据进行分析,提取出测试代码中与编译器缺陷相关的特征(包括代码的语言特征、操作特 征,以及结构特征),分别利用支持向量机算法(SMO)、高斯过程,以及梯度增强回归算法构造出三个预测模型。
  • 提出了基于历史缺陷分析的编译器重复缺陷检测技术。该技术通过挖掘历史上测试代码触发缺陷的原因,提取出代码特征(包括词法特征、语法特征,以及本文首次提出的数据流特征)和缺陷报告中的文本特征,然后根据这些特征计算触发缺陷的测试代码之间的距离,从而检测重复缺陷。
  • 提出了基于测试数据生成的编译器缺陷辅助定位技术。该技术将缺陷辅助定位问题转化为有效的证人测试代码生成问题。在GCC和LLVM编译器的现实缺陷上进行实验,该技术能够将66.67%的缺陷的缺陷所在文件定位在所有可疑文件的前10位。

关键词:编译器质量,编译器测试,编译器调试,数据驱动

作者介绍:陈俊洁,北京大学计算机软件与理论专业博士,他的博士生导师是谢冰。研究方向为软件测试。

成为VIP会员查看完整内容
数据驱动的编译器测试与调试若干技术研究.pdf
0
0

相关内容

谢冰,1970年生于湖南省。现任北京大学信息科学技术学院副院长,软件研究所所长,教授,国家杰出青年基金获得者,入选教育部新世纪优秀人才计划、北京市科技新星计划,获“中创软件人才奖”。 作为课题负责人,先后承担了国家863计划、科技支撑计划、国家重点专项、北京市科委重点课题、国家自然科学基金委杰出青年基金等重点项目9项,参与973、863计划、基金重点等课题5项。在软件工程技术研发和国产软件工具研发与产业化方面做出了重要的贡献,主要成果在软件行业、信息服务业、国防军工领域、集成电路设计领域中广泛应用。在FSE、POPL等软件工程与程序语言领域顶级会议、主流会议和期刊上发表论文80余篇。学术兼职包括:中国软件行业协会理事、中国计算机学会高级会员,电子学报英文版编委。
Top