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 条
  • [31] 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
  • [32] 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
  • [33] Refactoring Java']Java Software Product Lines
    Kim, Jongwook
    Batory, Don
    Dig, Danny
    [J]. 21ST INTERNATIONAL SYSTEMS & SOFTWARE PRODUCT LINE CONFERENCE (SPLC 2017), VOL 1, 2017, : 59 - 68
  • [34] Secure Refactoring with Java']Java Information Flow
    Helke, Steffen
    Kammuller, Florian
    Probst, Christian W.
    [J]. DATA PRIVACY MANAGEMENT, AND SECURITY ASSURANCE, 2016, 9481 : 264 - 272
  • [35] Refactoring Clustering in Java']Java Software Networks
    Concas, Giulio
    Monni, C.
    Orru, M.
    Ortu, M.
    Tonelli, Roberto
    [J]. AGILE METHODS: LARGE-SCALE DEVELOPMENT, REFACTORING, TESTING, AND ESTIMATION, 2014, 199 : 121 - 135
  • [36] Systematically Refactoring Inheritance to Delegation in Java']Java
    Kegel, Hannes
    Steimann, Friedrich
    [J]. ICSE'08 PROCEEDINGS OF THE THIRTIETH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, 2008, : 431 - 440
  • [37] Refactoring sequential java code for concurrency via concurrent libraries
    Massachusetts Institute of Technology, Computer Science and Artificial Intelligence Laboratory, United States
    [J]. Proc Int Conf Software Eng, (397-407):
  • [38] Identification and Refactoring of Exception Handling Code Smells in Java']JavaScript
    Hsieh, Chin-Yun
    Canh Le My
    Kim Thoa Ho
    Cheng, Yu Chin
    [J]. JOURNAL OF INTERNET TECHNOLOGY, 2017, 18 (06): : 1461 - 1471
  • [39] Quantifying the benefits of code hints for refactoring deprecated Java APIs
    David, Cristina
    Kesseli, Pascal
    Kroening, Daniel
    Zhang, Hanliang
    [J]. arXiv,
  • [40] Probabilistic Model Checking of Randomized Java']Java Code
    Fatmi, Syyeda Zainab
    Chen, Xiang
    Dhamija, Yash
    Wildes, Maeve
    Tang, Qiyi
    van Breugel, Franck
    [J]. MODEL CHECKING SOFTWARE (SPIN 2021), 2021, 12864 : 157 - 174