Extending graph rewriting for refactoring

被引:0
|
作者
Van Eetvelde, N [1 ]
Janssens, D [1 ]
机构
[1] Univ Antwerp, Dept Comp Sci, B-2020 Antwerp, Belgium
来源
关键词
D O I
暂无
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Refactorings are transformations that change the structure of a program, while preserving the behavior. The topic has attracted a lot of attention recently, since it is a promising approach towards the problem of program erosion. Nevertheless a solid theoretical foundation is still lacking. In this paper we focus on improving the expressive power of graph re writing rules, so that more refactorings can be expressed by single rules. Two new mechanisms are introduced: a notion of refinement of graphs, enabling one to treat specific substructures (e.g. syntax trees of expressions) as a whole, and a notion of duplication, enabling one to use parts of rewriting rules as prototypes that can be instantiated several times. Both mechanisms can be viewed as ways to specify large or infinite sets of rules in a concise way. It is shown that the refactorings PushdownMethod, ExtractMethod and InlineMethod can be expressed using the proposed techniques.
引用
收藏
页码:399 / 415
页数:17
相关论文
共 50 条
  • [21] A graph rewriting programming language for graph drawing
    Rodgers, PJ
    [J]. 1998 IEEE SYMPOSIUM ON VISUAL LANGUAGES, PROCEEDINGS, 1998, : 32 - 39
  • [22] THERMODYNAMIC GRAPH-REWRITING
    Danos, Vincent
    Harmer, Russ
    Honorato-Zimmer, Ricardo
    [J]. LOGICAL METHODS IN COMPUTER SCIENCE, 2015, 11 (02)
  • [23] Modeling of origami by graph rewriting
    Takahashi, Hidekazu
    Ida, Tetsuo
    [J]. Computer Software, 2010, 27 (02) : 2 - 13
  • [24] A Rewriting Approach to Graph Invariants
    Hellstrom, Lars
    [J]. GENERALIZED LIE THEORY IN MATHEMATICS, PHYSICS AND BEYOND, 2009, : 47 - 67
  • [25] Term graph rewriting for the π-calculus
    Gadducci, F
    [J]. PROGRAMMING LANGUAGES AND SYSTEMS, PROCEEDINGS, 2003, 2895 : 37 - 54
  • [26] Graph rewriting: A bibliographical guide
    Courcelle, B
    [J]. TERM REWRITING, 1995, 909 : 74 - 74
  • [27] GRAPH REWRITING AS A COMPUTATIONAL MODEL
    MCBURNEY, DL
    SLEEP, MR
    [J]. LECTURE NOTES IN COMPUTER SCIENCE, 1991, 491 : 235 - 256
  • [28] Confluence of Graph Rewriting with Interfaces
    Bonchi, Filippo
    Gadducci, Fabio
    Kissinger, Aleks
    Sobocinski, Pawel
    Zanasi, Fabio
    [J]. PROGRAMMING LANGUAGES AND SYSTEMS (ESOP 2017): 26TH EUROPEAN SYMPOSIUM ON PROGRAMMING, 2017, 10201 : 141 - 169
  • [29] GRAPH REWRITING WITH UNIFICATION AND COMPOSITION
    PARISIPRESICCE, F
    EHRIG, H
    MONTANARI, U
    [J]. LECTURE NOTES IN COMPUTER SCIENCE, 1987, 291 : 496 - 574
  • [30] Programmed Graph Rewriting with DEVS
    Syriani, Eugene
    Vangheluwe, Haris
    [J]. APPLICATIONS OF GRAPH TRANSFORMATIONS WITH INDUSTRIAL RELEVANCE, 2008, 5088 : 136 - 151