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 条
  • [41] Complexity Analysis by Graph Rewriting
    Avanzini, Martin
    Moser, Georg
    [J]. FUNCTIONAL AND LOGIC PROGRAMMING, PROCEEDINGS, 2010, 6009 : 257 - 271
  • [42] AN ALGEBRA OF GRAPHS AND GRAPH REWRITING
    CORRADINI, A
    MONTANARI, U
    [J]. LECTURE NOTES IN COMPUTER SCIENCE, 1991, 530 : 236 - 260
  • [43] From Linear Term Rewriting to Graph Rewriting with Preservation of Termination
    Overbeek, Roy
    Endrullis, Jorg
    [J]. ELECTRONIC PROCEEDINGS IN THEORETICAL COMPUTER SCIENCE, 2021, (350): : 19 - 34
  • [44] Graph Rewriting Primitives for Semantic Graph Databases Sanitization
    Boiret, Adrien
    Eichler, Cedric
    Nguyen, Benjamin
    Taki, Sara
    [J]. COMPUTER SCIENCE AND INFORMATION SYSTEMS, 2024, 21 (03) : 1033 - 1054
  • [45] Cloning and Expanding Graph Transformation Rules for Refactoring
    Hoffmann, Berthold
    Janssens, Dirk
    Van Eetvelde, Niels
    [J]. ELECTRONIC NOTES IN THEORETICAL COMPUTER SCIENCE, 2006, 152 : 53 - 67
  • [46] Analysing refactoring dependencies using graph transformation
    Tom Mens
    Gabriele Taentzer
    Olga Runge
    [J]. Software & Systems Modeling, 2007, 6 : 269 - 285
  • [47] Privacy Operators for Semantic Graph Databases as Graph Rewriting
    Boiret, Adrien
    Eichler, Cedric
    Nguyen, Benjamin
    [J]. NEW TRENDS IN DATABASE AND INFORMATION SYSTEMS, ADBIS 2022, 2022, 1652 : 366 - 377
  • [48] Extending Context-Sensitivity in Term Rewriting
    Gramlich, Bernhard
    Schernhammer, Felix
    [J]. ELECTRONIC PROCEEDINGS IN THEORETICAL COMPUTER SCIENCE, 2010, (15): : 56 - 68
  • [49] Specifying integrated refactoring with distributed graph transformations
    Bottoni, P
    Presicce, FP
    Taentzer, G
    [J]. APPLICATIONS OF GRAPH TRANSFORMATIONS WITH INDUSTRIAL RELEVANCE, 2003, 3062 : 220 - 235
  • [50] Analysing refactoring dependencies using graph transformation
    Mens, Tom
    Taentzer, Gabriele
    Runge, Olga
    [J]. SOFTWARE AND SYSTEMS MODELING, 2007, 6 (03): : 269 - 285