Model-Driven Java']Java Code Refactoring

被引:1
|
作者
Hamioud, Sohaib [1 ]
Atil, Fadila [1 ]
机构
[1] Badji Mokhtar Univ, Dept Comp Sci, Complex Syst Engn Lab LISCO, Annaba 23000, Algeria
关键词
code refactoring; metamodeling; model-driven engineering; LANGUAGE;
D O I
10.2298/CSIS141025015H
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
Refactoring is an important technique for restructuring code to improve its design and increase programmer productivity and code reuse. Performing refactorings manually, however, is tedious, time consuming and error-prone. Thus, providing an automated support for them is necessary. Unfortunately even in our days, such automation is still not easily achieved and requires formal specifications of the refactoring process. Moreover, extensibility and tool development automation are factors that should be taken into consideration when designing and implementing automated refactorings. In this paper, we introduce a model-driven approach where refactoring features, such as code representation, analysis and transformation adopt models as first-class artifacts. We aim at exploring the value of model transformation and code generation when formalizing refactorings and developing tool support. The presented approach is applied to the refactoring of Java code using a prototypical implementation based on the Eclipse Modeling Framework, a language workbench, a Java metamodel and a set of OMG standards.
引用
收藏
页码:375 / 403
页数:29
相关论文
共 50 条
  • [21] Refactoring for parameterizing Java']Java classes
    Kiezun, Adam
    Ernst, Michael D.
    Tip, Frank
    Fuhrer, Robert M.
    [J]. ICSE 2007: 29TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, PROCEEDINGS, 2007, : 437 - 446
  • [22] A quality assessment model for Java']Java code
    Benedicenti, L
    Wang, VW
    Paranjape, R
    [J]. IEEE CCEC 2002: CANADIAN CONFERENCE ON ELECTRCIAL AND COMPUTER ENGINEERING, VOLS 1-3, CONFERENCE PROCEEDINGS, 2002, : 687 - 690
  • [23] Characterizing refactoring graphs in Java']Java and Java']JavaScript projects
    Brito, Aline
    Hora, Andre
    Valente, Marco Tulio
    [J]. EMPIRICAL SOFTWARE ENGINEERING, 2021, 26 (06)
  • [24] Simplifying autonomic enterprise Java']Java bean applications via model-driven development: A case study
    White, J
    Schmidt, DC
    Gokhale, A
    [J]. MODEL DRIVEN ENGINEERING LANGUAGES AND SYSTEMS, PROCEEDINGS, 2005, 3713 : 601 - 615
  • [25] Developing a model-driven reengineering approach for migrating PL/SQL triggers to Java']Java: A practical experience
    Fernandez Candel, Carlos Javier
    Garcia Molina, Jesus
    Bermudez Ruiz, Francisco Javier
    Hoyos Barcelo, Jose Ramon
    Sevilla Ruiz, Diego
    Cuesta Viera, Benito Jose
    [J]. JOURNAL OF SYSTEMS AND SOFTWARE, 2019, 151 : 38 - 64
  • [26] An automatic method for refactoring Java']Java programs
    Yamazaki, S
    Nagata, M
    [J]. KNOWLEDGE-BASED SOFTWARE ENGINEERING, 2002, 80 : 167 - 172
  • [27] A Case Study on the Relationship between Code Ownership and Refactoring Activities in a Java']Java Software System
    Orru, Matteo
    Marchesi, Michele
    [J]. PROCEEDINGS OF 2016 IEEE/ACM 7TH INTERNATIONAL WORKSHOP ON EMERGING TRENDS IN SOFTWARE METRICS (WETSOM), 2016, : 43 - 49
  • [28] From Java to real-time Java: A model-driven methodology with automated toolchain (invited paper)
    Chang, Wanli
    Zhao, Shuai
    Wei, Ran
    Wellings, Andy
    Burns, Alan
    [J]. Proceedings of the ACM SIGPLAN Conference on Languages, Compilers, and Tools for Embedded Systems (LCTES), 2019, : 123 - 134
  • [29] Refactoring Java']Java Programs for Flexible Locking
    Schaefer, Max
    Sridharan, Manu
    Dolby, Julian
    Tip, Frank
    [J]. 2011 33RD INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE), 2011, : 71 - 80
  • [30] A Refactoring Catalog for Lambda Expressions in Java']Java
    Teixeira Junior, Janio Elias
    Valdivieso Tobar Neto, Heres Edison
    de Faveri, Cristiano
    Saccol, Deise de Brum
    Vizzotto, Juliana Kaizer
    Piveta, Eduardo Kessler
    [J]. INTERNATIONAL JOURNAL OF SOFTWARE ENGINEERING AND KNOWLEDGE ENGINEERING, 2019, 29 (06) : 791 - 818