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相关推荐

  1. 使用EF Core和AngularJS的Master Chef(第3部分)ASP.NET Core MVC

    目录 介绍 在Visual Studio 2015更新3中创建MasterChef2应用程序 更新project.json(Nuget程序包) 配置MVC和静态文件 从现有数据库创建模型 添加Web ...

  2. 传统编译器和DL编译器的调研和理解

    文章目录 Part One : 传统编译器 1.1 前端 1.2 中端 常见的优化 1.3 后端 指令的选择 寄存器分配 指令重排 1.4 总结 Part Two:深度学习编译器 2.1 为什么需要 ...

  3. COVID-19 Cases Prediction (Regression)

    目录 Objectives: Task Description Data Data -- One-hot Vector Evaluation Metric Download data Import p ...

  4. node+nginx-web部署

    docker部署node+nginx-web微服务 操作步骤如 制作node12.4.0镜像编写dockerfile如下: FROM node:12.4.0-stretch #设置工作目录 WORKD ...

  5. 蜕变测试(metamorphic testing)经典论文阅读 Compiler Validation via Equivalence Modulo Inputs

    Compiler Validation via Equivalence Modulo Inputs Background Some definitions EMI in Practice: Orion ...

  6. [论文解读]关于机器学习测试,看这一篇论文就够了 Machine Learning Testing: Survey ,Landscapes and Horizons

    Machine Learning Testing: Survey ,Landscapes and Horizons 文章目录 Machine Learning Testing: Survey ,Lan ...

  7. Regression testing minimization, selection and prioritization: a survey

    摘要 有很多方法最大化积累下来的测试用例套件的价值: minimization selection prioritization Minimization:消除冗余的测试用例以减少要跑的测试用例 Se ...

  8. 深度学习编译器综述The Deep Learning Compiler

    深度学习编译器综述The Deep Learning Compiler The Deep Learning Compiler: A Comprehensive Survey 参考文献: https:/ ...

  9. 机器学习经典论文/survey合集

    转载自:http://suanfazu.com/t/ji-qi-xue-xi-jing-dian-lun-wen-slash-surveyhe-ji/14#0-tsina-1-13801-397232 ...

最新文章

  1. Linux下tar解压到当前目录,zip压缩,tar压缩,tar解压
  2. ppi 各代iphone_算算你的手机 高PPI屏幕显示强机推荐
  3. 在linux中安装mysql时遇到的问题
  4. Insertion Sort List(单链表插入排序)
  5. 华为5g汽车鸿蒙,网传华为携手极狐造车新图片,搭载5G天线+鸿蒙OS!
  6. 常用的linux命令20条,Linux常用的20条命令
  7. Android学习笔记View的工作原理
  8. Hash和Bloom Filter
  9. 用什么软件测试钢结构受力,钢结构平台承载力检测
  10. 使用HBuilderX将H5网页打包成APP
  11. sqlserver 修改表字段长度(好记性不如烂笔头)
  12. Isotropix Clarisse iFX Mac(CG渲染软件) v3.6破解版
  13. ERROR: pip‘s dependency resolver does not currently take into account all the packages that are ....
  14. 计算机组成:真正理解“乘法器”和“除法器”
  15. 简单的LED交替闪烁程序
  16. 使用html2canvas 截图 出现图片空白的问题
  17. 一个淘宝店主真实的开店经历
  18. LUA 和 JAVA 的区别
  19. 软考第三篇 信息系统项目管理师 论文
  20. 精要主义:如何应对拥挤不堪的工作与生活

热门文章

  1. 【深度学习】华为轻量级神经网络架构GhostNet再升级,GPU上大显身手的G-GhostNet(IJCV22)...
  2. 软件开发英语单词汇总
  3. linux下验证码不显示问题解决
  4. Delphi 最近做的一个Delphi功能,查询数据显示到TChart上
  5. 7种方法解决移动端Retina屏幕1px边框问题
  6. shell的程序和语句
  7. javascript中的offsetWidth、clientWidth、innerWidth及相关属性方法
  8. 1.2 《数据库系统概论》之数据模型(概念模型、逻辑模型--物理模型、层次模型、网状模型、关系模型、面向对象模型、对象关系模型)
  9. 【原创】【算法】三点定位简述
  10. qt(c++)数组越界编译不会报错