首页> 外文会议>Annual ACM SIGPLAN-SIGACT symposium on principles of programming languages >Static Analysis of Multi-Staged Programs via Unstaging Translation
【24h】

Static Analysis of Multi-Staged Programs via Unstaging Translation

机译:通过静置翻译静态分析多阶段

获取原文

摘要

Static analysis of multi-staged programs is challenging because the basic assumption of conventional static analysis no longer holds: the program text itself is no longer a fixed static entity, but rather a dynamically constructed value. This article presents a semantic-preserving translation of multi-staged call-by-value programs into unstaged programs and a static analysis framework based on this translation. The translation is semantic-preserving in that every small-step reduction of a multi-staged program is simulated by the evaluation of its unstaged version. Thanks to this translation we can analyze multi-staged programs with existing static analysis techniques that have been developed for conventional unstaged programs: we first apply the unstaging translation, then we apply conventional static analysis to the unstaged version, and finally we cast the analysis results back in terms of the original staged program. Our translation handles staging constructs that have been evolved to be useful in practice (typified in Lisp's quasi-quotation): open code as values, unrestricted operations on references and intentional variable-capturing substitutions. This article omits references for which we refer the reader to our companion technical report.
机译:对多阶段程序的静态分析是具有挑战性的,因为传统静态分析的基本假设不再保持:程序文本本身不再是固定的静态实体,而是动态构造的值。本文介绍了基于此转换的未置入程序和基于此转换的静态分析框架的语义保留了语义保护。语义保留的翻译,因为通过评估其未置的版本来模拟多分阶段程序的每一小段减少。由于此介绍,我们可以分析具有为传统未验证程序开发的现有静态分析技术的多阶段程序:我们首先应用了unstaging翻译,然后我们将传统的静态分析应用于未验证的版本,最后我们投用了分析结果回到原始阶段计划方面。我们的翻译处理已经进化的暂存构造在实践中有用(在Lisp的准报税中键入):打开代码作为值,引用和有意的可变捕获替换的不受限制的操作。本文省略了我们将读者推荐给我们的伴侣技术报告的参考文献。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号