Extracting models from source code in software modernization

被引:19
|
作者
Canovas Izquierdo, Javier Luis [1 ,3 ]
Garcia Molina, Jesus [1 ,2 ]
机构
[1] Univ Murcia, Murcia, Spain
[2] Univ Murcia, Fac Informat, Dept Informat & Sistemas, E-30071 Murcia, Spain
[3] EMN, LINA, INRIA, AtlanMod, Nantes, France
来源
SOFTWARE AND SYSTEMS MODELING | 2014年 / 13卷 / 02期
关键词
Model-driven engineering; Model-driven software development; Domain-specific languages; Software modernization; Model-driven software modernization;
D O I
10.1007/s10270-012-0270-z
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Model-driven software modernization is a discipline in which model-driven development (MDD) techniques are used in the modernization of legacy systems. When existing software artifacts are evolved, they must be transformed into models to apply MDD techniques such as model transformations. Since most modernization scenarios (e.g., application migration) involve dealing with code in general-purpose programming languages (GPL), the extraction of models from GPL code is an essential task in a model-based modernization process. This activity could be performed by tools to bridge grammarware and MDD technical spaces, which is normally carried out by dedicated parsers. Grammar-to-Model Transformation Language (Gra2MoL) is a domain-specific language (DSL) tailored to the extraction of models from GPL code. This DSL is actually a text-to-model transformation language which can be applied to any code conforming to a grammar. Gra2MoL aims to reduce the effort needed to implement grammarware-MDD bridges, since building dedicated parsers is a complex and time-consuming task. Like ATL and RubyTL languages, Gra2MoL incorporates the binding concept needed to write mappings between grammar elements and metamodel elements in a simple declarative style. The language also provides a powerful query language which eases the retrieval of scattered information in syntax trees. Moreover, it incorporates extensibility and grammar reuse mechanisms. This paper describes Gra2MoL in detail and includes a case study based on the application of the language in the extraction of models from Delphi code.
引用
收藏
页码:713 / 734
页数:22
相关论文
共 50 条
  • [41] Automatic Generation of Executable Code from Software Architecture Models
    Stavrou, Aristos
    Papadopoulos, George A.
    [J]. INFORMATION SYSTEMS DEVELOPMENT: CHALLENGES IN PRACTICE, THEORY AND EDUCATION, VOLS 1AND 2, 2009, : 1047 - 1058
  • [42] Extracting LPL privacy policy purposes from annotated web service source code
    Kalle Hjerppe
    Jukka Ruohonen
    Ville Leppänen
    [J]. Software and Systems Modeling, 2023, 22 : 331 - 349
  • [43] Extracting LPL privacy policy purposes from annotated web service source code
    Hjerppe, Kalle
    Ruohonen, Jukka
    Leppanen, Ville
    [J]. SOFTWARE AND SYSTEMS MODELING, 2023, 22 (01): : 331 - 349
  • [44] Naming the Identified Feature Implementation Blocks from Software Source Code
    Al-Msie'Deen, Ra'fat
    Salman, Hamzeh Eyal
    Blasi, Anas H.
    Alsuwaiket, Mohammed A.
    [J]. JOURNAL OF COMMUNICATIONS SOFTWARE AND SYSTEMS, 2022, 18 (02) : 101 - 110
  • [45] The Extent of Orphan Vulnerabilities from Code Reuse in Open Source Software
    Reid, David
    Jahanshahi, Mahmoud
    Mockus, Audris
    [J]. 2022 ACM/IEEE 44TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE 2022), 2022, : 2104 - 2115
  • [46] Extracting acyclic dependency models from quality standards for COTS software evaluation
    Morris, A. Terry
    Beling, Peter A.
    [J]. Journal of Aerospace Computing, Information and Communication, 2006, 3 (07): : 327 - 339
  • [47] Extracting Software Product Line Feature Models from Natural Language Specifications
    Sree-Kumar, Anjali
    Planas, Elena
    Clariso, Robert
    [J]. SPLC'18: PROCEEDINGS OF THE 22ND INTERNATIONAL SYSTEMS AND SOFTWARE PRODUCT LINE CONFERENCE, VOL 1, 2018, : 43 - 53
  • [48] Extracting facts from Perl code
    Moise, Daniel L.
    Wong, Kenny
    [J]. 13TH WORKING CONFERENCE ON REVERSE ENGINEERING PROCEEDINGS, 2006, : 243 - 252
  • [49] Reconciling software architecture and source code in support of software evolution
    Haitzer, Thomas
    Navarro, Elena
    Zdun, Uwe
    [J]. JOURNAL OF SYSTEMS AND SOFTWARE, 2017, 123 : 119 - 144
  • [50] CodeShovel: A Reusable and Available Tool for Extracting Source Code Histories
    Grund, Felix
    Chowdhury, Shaiful
    Bradley, Nick C.
    Hall, Braxton
    Holmes, Reid
    [J]. 2021 IEEE/ACM 43RD INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING: COMPANION PROCEEDINGS (ICSE-COMPANION 2021), 2021, : 221 - 222