中文

为 LLVM IR 改造符号孔

编程语言 2020-06-11 v1

摘要

符号孔是求解器辅助与交互式编程的基本构建块之一。未知值可被可靠地集成到程序中,且可使用 SAT 求解器等自动化工具证明含此类值的程序性质。然而,在编程语言中支持符号孔具有挑战性;规定孔与类型系统及执行语义的交互需要细致设计。本文动机并介绍了将具未知类型的符号孔引入 LLVM IR(一种强类型编译器中间语言)的实现。我们描述了如何通过在新原语 IR 操作之后抽象出不健全和类型不安全的细节,来安全地实现此类孔。我们的实现与类型检查和依赖检查等现有特性良好协作。最后,我们强调了使用我们的实现可能富有成果的研究方向。

关键词

引用

@article{arxiv.2006.05875,
  title  = {Retrofitting Symbolic Holes to LLVM IR},
  author = {Bruce Collie and Michael O'Boyle},
  journal= {arXiv preprint arXiv:2006.05875},
  year   = {2020}
}

备注

Accepted to TyDe 2020