A Survey of Compiler Testing
A Survey of Compiler Testing
- Overview
- 测试程序生成
- Overview
- 挑战
- 测试样例生成
- 以语法为导向的方法
- Context-free grammar
- Affix grammar
- Attribute grammar
- W-grammar
- 语法模型
- 语法辅助的方法
- 相关工作
- 其他方法
- Program Mutation
- Semantics-preserving Mutation
- Non-semantics-preserving Mutation
- 测试Oracles
- 差分测试
- 蜕变测试
- 优化测试过程
- 测试程序优先级
- 挑战
- 相关工作
- 测试集削减
- 测试样本削减
- 测试结果的后期处理
- 测试程序削减
- 重复Bug识别
- Bug debugging
- 经验学习
Overview
一些特点:
- 11年出现了Csmith以及CReduce等易用有效的工具,11年到18年中50%的工作基于这些软件
测试程序生成
Overview
挑战
- 测试程序的有效性
- 测试程序的多样性
- 测试方法施加的具体要求
测试样例生成
以语法为导向的方法
Context-free grammar
- A sentence generator for testing parsers —— 1972
目标:测试解析器
输入:上下无关语法
期望:尽可能多得覆盖解析器的状态和过度
缺陷:难以表达语言的上下文敏感特征
改进:在此基础上,研究者添加上下文敏感属性,形成two-level grammars:W-grammars, attribute grammars, affix grammars.
Affix grammar
提出的原因:通过参数扩充上下无关语法
- Automatic generation of test cases —— 1970
形式: < l a b e l d e c l a r a t i o n > → < d e c l a r a t i o n i d e n t
A Survey of Compiler Testing相关推荐
- 使用EF Core和AngularJS的Master Chef(第3部分)ASP.NET Core MVC
目录 介绍 在Visual Studio 2015更新3中创建MasterChef2应用程序 更新project.json(Nuget程序包) 配置MVC和静态文件 从现有数据库创建模型 添加Web ...
- 传统编译器和DL编译器的调研和理解
文章目录 Part One : 传统编译器 1.1 前端 1.2 中端 常见的优化 1.3 后端 指令的选择 寄存器分配 指令重排 1.4 总结 Part Two:深度学习编译器 2.1 为什么需要 ...
- COVID-19 Cases Prediction (Regression)
目录 Objectives: Task Description Data Data -- One-hot Vector Evaluation Metric Download data Import p ...
- node+nginx-web部署
docker部署node+nginx-web微服务 操作步骤如 制作node12.4.0镜像编写dockerfile如下: FROM node:12.4.0-stretch #设置工作目录 WORKD ...
- 蜕变测试(metamorphic testing)经典论文阅读 Compiler Validation via Equivalence Modulo Inputs
Compiler Validation via Equivalence Modulo Inputs Background Some definitions EMI in Practice: Orion ...
- [论文解读]关于机器学习测试,看这一篇论文就够了 Machine Learning Testing: Survey ,Landscapes and Horizons
Machine Learning Testing: Survey ,Landscapes and Horizons 文章目录 Machine Learning Testing: Survey ,Lan ...
- Regression testing minimization, selection and prioritization: a survey
摘要 有很多方法最大化积累下来的测试用例套件的价值: minimization selection prioritization Minimization:消除冗余的测试用例以减少要跑的测试用例 Se ...
- 深度学习编译器综述The Deep Learning Compiler
深度学习编译器综述The Deep Learning Compiler The Deep Learning Compiler: A Comprehensive Survey 参考文献: https:/ ...
- 机器学习经典论文/survey合集
转载自:http://suanfazu.com/t/ji-qi-xue-xi-jing-dian-lun-wen-slash-surveyhe-ji/14#0-tsina-1-13801-397232 ...
最新文章
- Linux下tar解压到当前目录,zip压缩,tar压缩,tar解压
- ppi 各代iphone_算算你的手机 高PPI屏幕显示强机推荐
- 在linux中安装mysql时遇到的问题
- Insertion Sort List(单链表插入排序)
- 华为5g汽车鸿蒙,网传华为携手极狐造车新图片,搭载5G天线+鸿蒙OS!
- 常用的linux命令20条,Linux常用的20条命令
- Android学习笔记View的工作原理
- Hash和Bloom Filter
- 用什么软件测试钢结构受力,钢结构平台承载力检测
- 使用HBuilderX将H5网页打包成APP
- sqlserver 修改表字段长度(好记性不如烂笔头)
- Isotropix Clarisse iFX Mac(CG渲染软件) v3.6破解版
- ERROR: pip‘s dependency resolver does not currently take into account all the packages that are ....
- 计算机组成:真正理解“乘法器”和“除法器”
- 简单的LED交替闪烁程序
- 使用html2canvas 截图 出现图片空白的问题
- 一个淘宝店主真实的开店经历
- LUA 和 JAVA 的区别
- 软考第三篇 信息系统项目管理师 论文
- 精要主义:如何应对拥挤不堪的工作与生活
热门文章
- 【深度学习】华为轻量级神经网络架构GhostNet再升级,GPU上大显身手的G-GhostNet(IJCV22)...
- 软件开发英语单词汇总
- linux下验证码不显示问题解决
- Delphi 最近做的一个Delphi功能,查询数据显示到TChart上
- 7种方法解决移动端Retina屏幕1px边框问题
- shell的程序和语句
- javascript中的offsetWidth、clientWidth、innerWidth及相关属性方法
- 1.2 《数据库系统概论》之数据模型(概念模型、逻辑模型--物理模型、层次模型、网状模型、关系模型、面向对象模型、对象关系模型)
- 【原创】【算法】三点定位简述
- qt(c++)数组越界编译不会报错