A Domain-Specific Language for Generating Dataflow Analyzers

被引:5
|
作者
Zeng, Jia [1 ]
Mitchell, Chuck [2 ]
Edwards, Stephen A. [3 ]
机构
[1] Columbia Univ, Dept Comp Sci, New York, NY 10027 USA
[2] Microsoft Corp, Redmond, WA 98052 USA
[3] Columbia Univ, Dept Comp Sci, New York, NY 10027 USA
关键词
Domain-specific language; Dataflow analysis; dynamic class extension; compiler; Phoenix compiler framework;
D O I
10.1016/j.entcs.2006.10.008
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
Dataflow analysis is a well-understood and very powerful technique for analyzing programs as part of the compilation process. Virtually all compilers use some sort of dataflow analysis as part of their optimization phase. However, despite being well-understood theoretically, such analyses are often difficult to code, making it difficult to quickly experiment with variants. To address this, we developed a domain-specific language, Analyzer Generator (AG), that synthesizes dataflow analysis phases for Microsoft's Phoenix compiler framework. AG hides the fussy details needed to make analyses modular, yet generates code that is as efficient as the hand-coded equivalent. One key construct we introduce allows IR object classes to be extended without recompiling. Experimental results on three analyses show that AG code can be one-tenth the size of the equivalent handwritten C++ code with no loss of performance. It is our hope that AG will make developing new dataflow analyses much easier.
引用
收藏
页码:103 / 119
页数:17
相关论文
共 50 条
  • [1] Domain-specific interface generation from dataflow specifications
    Eisenring, M
    Teich, J
    [J]. HARDWARE/SOFTWARE CODESIGN - SIXTH INTERNATIONAL WORKSHOP PROCEEDINGS, 1998, : 43 - 47
  • [2] Generating Domain-Specific Process Studios
    Mos, Adrian
    Cortes-Cornax, Mario
    [J]. 2016 IEEE 20TH INTERNATIONAL ENTERPRISE DISTRIBUTED OBJECT COMPUTING CONFERENCE (EDOC), 2016, : 40 - 49
  • [3] A Domain-Specific Language for Microservices
    Donham, Jacob
    [J]. PROCEEDINGS OF THE 9TH ACM SIGPLAN INTERNATIONAL SYMPOSIUM ON SCALA (SCALA '18), 2018, : 2 - 12
  • [4] RAIL: A Domain-Specific Language for Generating NPC Behaviors in Action/Adventure Game
    Zhu, Meng
    Wang, Alf Inge
    [J]. ADVANCES IN COMPUTER ENTERTAINMENT TECHNOLOGY, ACE 2017, 2018, 10714 : 868 - 881
  • [5] Generating Domain-Specific Visual Language Tools from Abstract Visual Specifications
    Grundy, John C.
    Hosking, John
    Li, Karen Na
    Ali, Norhayati Mohd
    Huh, Jun
    Li, Richard Lei
    [J]. IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2013, 39 (04) : 487 - 515
  • [6] Designing Domain-Specific Heterogeneous Architectures from Dataflow Programs
    Savas, Suleyman
    Ul-Abdin, Zain
    Nordstrom, Tomas
    [J]. COMPUTERS, 2018, 7 (02)
  • [7] A Domain-Specific Language for Aviation Domain Interoperability
    Comitz, Paul
    [J]. 2013 INTEGRATED COMMUNICATIONS, NAVIGATION AND SURVEILLANCE CONFERENCE (ICNS), 2013,
  • [8] Generating Version Convertors for Domain-Specific Languages
    de Geest, Gerardo
    Vermolen, Sander
    van Deursen, Arie
    Visser, Eelco
    [J]. FIFTEENTH WORKING CONFERENCE ON REVERSE ENGINEERING, PROCEEDINGS, 2008, : 197 - 201
  • [9] Generating Domain-Specific Interactive Validation Documents
    Vu, Fabian
    Happe, Christopher
    Leuschel, Michael
    [J]. FORMAL METHODS FOR INDUSTRIAL CRITICAL SYSTEMS (FMICS 2022), 2022, 13487 : 32 - 49
  • [10] Generating Domain-Specific Interactive Validation Documents
    Vu, Fabian
    Happe, Christopher
    Leuschel, Michael
    [J]. Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), 2022, 13487 LNCS : 32 - 49