Migrating to an Extensible Architecture for Abstract Syntax Trees

被引:0
|
作者
Couto, Luis Diogo [1 ]
Tran-Jorgensen, Peter W. V. [1 ]
Coleman, Joey W. [1 ]
Lausdahl, Kenneth [1 ]
机构
[1] Aarhus Univ, Dept Engn, Finlandsgade 22, DK-8200 Aarhus N, Denmark
关键词
ORIENTED DESIGN METRICS;
D O I
10.1109/WICSA.2015.10
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
We present and analyse an architectural migration in the Overture tool, a tool for which the primary internal data structure is an Abstract Syntax Tree (AST). The migration was from a high-cohesion AST with functionality encapsulated in its nodes to an extensible, low-cohesion AST with functionality implemented in visitors. This was motivated by the need for a high degree of extensibility in the tool's core functionality. We describe the migration process and both architectures in detail. We also present a comparative analysis between both architectures, including the trade-offs made between extensibility and performance. Finally, we generalise these results to other tool migrations that have hierarchical data structures at their core.
引用
收藏
页码:145 / 154
页数:10
相关论文
共 50 条
  • [1] Precise Code Clone Detection with Architecture of Abstract Syntax Trees
    Guo, Xin
    Zhang, Ruyun
    Zhou, Lu
    Lu, Xiaozhen
    WIRELESS ALGORITHMS, SYSTEMS, AND APPLICATIONS, PT III, 2022, 13473 : 117 - 126
  • [2] Canonical Abstract Syntax Trees
    Reilles, Antoine
    ELECTRONIC NOTES IN THEORETICAL COMPUTER SCIENCE, 2007, 176 (04) : 165 - 179
  • [3] Uniform abstract syntax trees
    Clark, C
    ACM SIGPLAN NOTICES, 2000, 35 (02) : 11 - 16
  • [4] AN ALGORITHM FOR GENERATING ABSTRACT SYNTAX TREES
    NOONAN, RE
    COMPUTER LANGUAGES, 1985, 10 (3-4): : 225 - 236
  • [5] Toward a calculus for abstract syntax trees
    Wile, DS
    ALGORITHMIC LANGUAGES AND CALCULI, 1997, : 324 - 353
  • [6] Extensible intraprocedural flow analysis at the abstract syntax tree level
    Soderberg, Emma
    Ekman, Torbjoern
    Hedin, Gorel
    Magnusson, Eva
    SCIENCE OF COMPUTER PROGRAMMING, 2013, 78 (10) : 1809 - 1827
  • [7] Augmenting abstract syntax trees for program understanding
    Welty, CA
    AUTOMATED SOFTWARE ENGINEERING, 12TH IEEE INTERNATIONAL CONFERENCE, PROCEEDINGS, 1997, : 126 - 133
  • [8] ASTLOG: A language for examining abstract syntax trees
    Crew, RF
    PROCEEDINGS OF THE CONFERENCE ON DOMAIN-SPECIFIC LANGUAGES, 1997, : 229 - 242
  • [9] Clone detection using abstract syntax trees
    Baxter, ID
    Yahin, A
    Moura, L
    Sant'Anna, M
    Bier, L
    INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE, PROCEEDINGS, 1998, : 368 - 377
  • [10] fAST: Flattening Abstract Syntax Trees for Efficiency
    Yu, Yijun
    2019 IEEE/ACM 41ST INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING: COMPANION PROCEEDINGS (ICSE-COMPANION 2019), 2019, : 278 - 279