ProMeTA: a taxonomy for program metamodels in program reverse engineering

被引:0
作者
Hironori Washizaki
Yann-Gaël Guéhéneuc
Foutse Khomh
机构
[1] Waseda University,Department of Computer Science and Engineering
[2] National Institute of Informatics,PTIDEJ–SWAT, DGIGL
[3] SYSTEM INFORMATION CO.,undefined
[4] LTD,undefined
[5] Polytechnique Montréal,undefined
[6] eXmotion Co.,undefined
[7] Ltd,undefined
来源
Empirical Software Engineering | 2018年 / 23卷
关键词
Reverse engineering; Program metamodels; Program comprehension and analysis; Taxonomy;
D O I
暂无
中图分类号
学科分类号
摘要
To support program comprehension, maintenance, and evolution, metamodels are frequently used during program reverse engineering activities to describe and analyze constituents of a program and their relations. Reverse engineering tools often define their own metamodels according to the intended purposes and features. Although each metamodel has its own advantages, its limitations may be addressed by other metamodels. Existing works have evaluated and compared metamodels and tools, but none have considered all the possible characteristics and limitations to provide a comprehensive guideline for classifying, comparing, reusing, and extending program metamodels. To aid practitioners and researchers in classifying, comparing, reusing, and extending program metamodels and their corresponding reverse engineering tools according to the intended goals, we establish a conceptual framework with definitions of program metamodels and related concepts. We confirmed that any reverse engineering activity can be clearly described as a pattern based on the framework from the viewpoint of program metamodels. Then the framework is used to provide a comprehensive taxonomy, named Program Metamodel TAxonomy (ProMeTA), which incorporates newly identified characteristics into those stated in previous works, which were identified via a systematic literature review (SLR) on program metamodels, while keeping the orthogonality of the entire taxonomy. Additionally, we validate the taxonomy in terms of its orthogonality and usefulness through the classification of popular metamodels.
引用
收藏
页码:2323 / 2358
页数:35
相关论文
共 130 条
  • [1] Alanen M(2003)A relation between context-free grammars and meta object facility metamodels TUCS Technical Report 606 1-13
  • [2] Porres I(2005)Towards the integration of versioning systems, bug reports and source code meta-models Electron Notes Theor Comput Sci 127 87-99
  • [3] Antoniol G(2013)Generating metamodels from grammars by chaining translational and by-example techniques. Proceedings of the 1st international workshop on model-driven engineering by example co-located with ACM/IEEE 16th international conference on model driven engineering languages and systems (MoDELS) CEUR Workshop Proc 1104 22-31
  • [4] Penta MD(2008)Stratego/XT 0.17. A language and toolset for program transformation Sci Comput Program 72 52-70
  • [5] Gall HC(2014)MoDisco: a model driven reverse engineering framework Inf Softw Technol 56 1012-1032
  • [6] Pinzger M(2006)Introspective model-driven development. Proceedings of the 3rd European workshop on software architecture (EWSA) Lect Notes Comput Sci 4344 33-49
  • [7] Bergmayr A(2011)Empirical evidence about the UML: a systematic literature review Softw Pract Exper 41 363-392
  • [8] Wimmer M(2011)Achievements and challenges in software reverse engineering Commun ACM 54 142-151
  • [9] Bravenboer M(1990)Reverse engineering and design recovery: a taxonomy IEEE Softw 7 13-17
  • [10] Kalleberg KT(1970)An efficient context-free parsing algorithm Commun ACM 13 94-102