首页> 外文会议>Software engineering and formal methods >Validating the Meta-Theory of Programming Languages (Short Paper)
【24h】

Validating the Meta-Theory of Programming Languages (Short Paper)

机译:验证编程语言的元理论(论文)

获取原文
获取原文并翻译 | 示例

摘要

We report on work in progress in building an environment for the validation of the meta-theory of programming languages artifacts, for example the correctness of compiler translations; the basic idea is to couple property-based testing with binders-aware functional programming as the meta-language for specification and testing. Treating binding signatures and related notions, such as new names generation, α-equivalence and capture-avoiding substitution correctly and effectively is crucial in the verification and validation of programming language (meta)theory. We use Haskell as our meta-language, since it offers various libraries for both random and exhaustive generation of tests, as well as for binders. We validate our approach on benchmarks of mutations presented in the literature and some examples of code "in the wild". In the former case, not only did we very quickly (re)discover all the planted bugs, but we achieved that with very little configuration effort with comparison to the competition. In the second case we located several simple bugs that had survived for years in publicly available (academic) code. We believe that our approach adds to the increasing evidence of the usefulness of property-based testing for semantic engineering of programming languages, in alternative or prior to full verification.
机译:我们报告了在构建用于验证编程语言工件的元理论的环境(例如编译器翻译的正确性)方面正在进行的工作。基本思想是将基于属性的测试与可识别粘合剂的功能编程结合起来,作为规范和测试的元语言。正确有效地处理绑定签名和相关概念(例如,新名称生成,α等价和避免捕获的替换)对于编程语言(元)理论的验证和确认至关重要。我们使用Haskell作为我们的元语言,因为它提供了用于随机和详尽生成测试以及活页夹的各种库。我们以文献中提供的突变基准和“野外”代码示例为例验证了我们的方法。在前一种情况下,我们不仅非常迅速地(重新)发现了所有已植入的错误,而且与竞争对手相比,我们只需很少的配置工作即可实现这一目标。在第二种情况下,我们找到了几个简单的错误,这些错误在公开可用的(学术性)代码中存活了多年。我们相信,我们的方法增加了越来越多的证据,表明基于属性的测试对于编程语言的语义工程的替代性或完全验证性的有效性。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号