首页> 外文期刊>Journal of Visual Languages & Computing >FLOWSPEC: A declarative specification language for intra-procedural flow-Sensitive data-flow analysis
【24h】

FLOWSPEC: A declarative specification language for intra-procedural flow-Sensitive data-flow analysis

机译:Flowspec:用于程序内流动敏感数据流分析的声明性规范语言

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

摘要

Data-flow analysis is the static analysis of programs to estimate their approximate run-time behavior or approximate intermediate run-time values. It is an integral part of modern language specifications and compilers. In the specification of static semantics of programming languages, the concept of data-flow allows the description of well-formedness such as definite assignment of a local variable before its first use. In the implementation of compiler back-ends, data-flow analyses inform optimizations.Data-flow analysis has an established theoretical foundation. What lags behind is implementations of dataflow analysis in compilers, which are usually ad-hoc. This makes such implementations difficult to extend and maintain. In previous work researchers have proposed higher-level formalisms suitable for whole-program analysis in a separate tool, incremental analysis within editors, or bound to a specific intermediate representation.In this paper, we present FLOWSPEC, an executable formalism for specification of data-flow analysis. FLOWSPEC is a domain-specific language that enables direct and concise specification of data-flow analysis for programming languages, designed to express flow-sensitive, infra-procedural analyses. We define the formal semantics of FLOWSPEC in terms of monotone frameworks. We describe the design of FLOWSPEC using examples of standard analyses. We also include a description of our implementation of FLOWSPEC.In a case study we evaluate FLOWSPEC with the static analyses for GREEN-MARL, a domain-specific programming language for graph analytics.
机译:数据流分析是对估计其近似运行时行为或近似中间运行时值的程序的静态分析。它是现代语言规范和编译器的一个组成部分。在编程语言的静态语义的规范中,数据流的概念允许描述在首次使用之前的局部变量的明确分配。在编译器后端的实现中,数据流分析通知优化.Data-Flow分析具有建立的理论基础。背后的滞后是在编译器中的数据流分析的实现,这些分析通常是ad-hoc。这使得这种实现难以扩展和维护。在以前的工作中,研究人员提出了适合在单独的工具中的全程分析的更高级别的形式主义,编辑内的增量分析,或者绑定到特定的中间代表。本文,我们呈现Flowspec,可执行的形式主义,用于规范数据 - 流程分析。 FlowsPec是一种特定于域的语言,可以直接和简洁地规范编程语言的数据流分析,旨在表达流动敏感的INFRA-Procrapural分析。我们在单调框架方面定义了Flowspec的正式语义。我们使用标准分析示例描述了Flowspec的设计。我们还包括我们对Flowspec的实现的描述。在一个案例研究中,我们将Flowspec评估Freen-Marl的静态分析,是图形分析的域特定的编程语言。

著录项

  • 来源
    《Journal of Visual Languages & Computing》 |2020年第4期|100924.1-100924.39|共39页
  • 作者单位

    Delft Univ Technol Programming Languages Res Grp Van Mourik Broekmanweg 6 NL-2628 XE Delft Netherlands;

    Oracle Labs Prime Tower Floor 17 Hardstr 201 CH-8005 Zurich Switzerland;

    Delft Univ Technol Programming Languages Res Grp Van Mourik Broekmanweg 6 NL-2628 XE Delft Netherlands;

  • 收录信息 美国《科学引文索引》(SCI);
  • 原文格式 PDF
  • 正文语种 eng
  • 中图分类
  • 关键词

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号