SlideShare a Scribd company logo
A Taxonomy for Program Metamodels
in Program Reverse Engineering
Hironori Washizaki1, Yann-Gael Gueheneuc2, Foutse Khomh2
ICSME 2016, Oct 5, 2016
H. Washizaki, Y-G. Gueheneuc, F. Khomh, “A Taxonomy for Program Metamodels in Program Reverse
Engineering,” 32nd IEEE International Conference on Software Maintenance and Evolution (ICSME 2016)
1 2
SYSTEM INFORMATION
CO., LTD.
What Are Program Metamodels?
2
Abstract
represen
tation
Program
source
code
Reverse
Grammar
Metamodel
Class
Method Attribute
Inheritance
Definition
Invocation Access
FAMIX (excerpt.)
Entity
Relationship
KDM (excerpt.)
Forward
Models of grammars, which
represent target programs
according to a specific purpose
What’s the problem?
3
Statement
Method
Transformation
・・・
Package
Class
・・・
History
・・・
Tool developer
Researcher
How to
select?
Reverse engineer
How to
communicate?How to
design?
Concepts are not uniformly recognized Need a common vocabulary
Existing comparisons (e.g., [Jin06][Izq14])
were conducted Independently.
No common classification.
Need a comprehensive
taxonomy and classification
based on the vocabulary
“Program meta model”
[Li, HICSS’17]
“Database schema”
[Ish, VISSOFT’16]
[Li17] J. Li, K. Sakamoto, H. Washizaki, et al., “Promotion of Educational Effectiveness by Translation-based Programming Language
Learning Using Java and Swift,” HICSS 2017
[Ish16] R. Ishizue, H. Washizaki, et al., “Metrics visualization technique based on the origins and function layers,” VISSOFT 2016
[Jin06] D. Jin and J. R. Cordy, “Integrating reverse engineering tools using a service-sharing methodology,” ICPC’06
[Izq14] J. L. C. Izquierdo and J. G. Molina, “Extracting models from source code in software modernization,” SoSyM 13(2), 2014
Research Goal and Method
4
To provide a comprehensive taxonomy and use this
taxonomy to classify some popular metamodels
(1) Conceptual Framework
Taxonomy
62 papers
1200+ papers
Metamodels
X X
X X
X
・・・
・・・
M1
M2
M5
(2) SLR
(3) Analysis
(4) Classification
"meta model" AND ("source code”
OR program*) AND (extract* OR
transform* OR generat*)
Engineering Village covers 12 trusted databases incl. Ei Compendex and Inspec http://www.engineeringvillage.com/
fa fb fc
(1) Conceptual framework
5
Metasyntax
Grammar
Program
Meta
language
Program
metamodel
Program
model
Metasyntax
of schema
Exchange
format
Model data
conforms
describes
can be
mapped to
describes
can be
mapped to
class C {
void m() {
...
}
<class/>
<name>C
</name>
...
C: Class
m: Method
Grammarware Modelware Dataware
conforms
(2-3) ProMeTA: Program Metamodel Taxonomy
6
Program Metamodel
Target Language
Abstraction Level
Meta-Language
Exchange Format Processing Env.
Definition
Meta and History
Quality
Optional
OR
XOR
(2-3) ProMeTA – Target Language
7
Program Metamodel
Target Language
Abstraction Level
Meta-Language
Exchange Format Processing Env.
Definition
Meta and History
Quality
Independence Supported Langs
Java C ・・・
Optional
OR
XOR
(2-3) ProMeTA – Abstraction Level
8
Program Metamodel
Target Language
Abstraction Level
Meta-Language
Exchange Format Processing Env.
Definition
Meta and History
Quality
High Middle Low
System Module ・・・
Optional
OR
XOR
(2-3) ProMeTA – Meta-Language
9
Program Metamodel
Target Language
Abstraction Level
Meta-Language
Exchange Format Processing Env.
Definition
Meta and History
Quality
Meta-Metamodel Metasyntax of Grammar
Graph Tree Only
Optional
OR
XOR
(2-3) ProMeTA – Exchange Format
10
Program Metamodel
Target Language
Abstraction Level
Meta-Language
Exchange Format Processing Env.
Definition
Meta and History
Quality
Encoding Transfer
Mechanism
Text Binary
Abstract
Syntax
Exchange
Pattern
Exchange
Format Quality
Optional
OR
XOR
(2-3) ProMeTA – Processing Environment
11
Program Metamodel
Target Language
Abstraction Level
Meta-Language
Exchange Format Processing Env.
Definition
Meta and History
Quality
Navigation Extractor
GPL Query
Analysis Transformation
Optional
OR
XOR
(2-3) ProMeTA – Program Meta and History
12
Program Metamodel
Target Language
Abstraction Level
Meta-Language
Exchange Format Processing Env.
Definition
Meta and History
Quality
Language Soft. Ver. File Date File Ver. History
Ver. Change
Optional
OR
XOR
(2-3) ProMeTA – Definition
13
Program Metamodel
Target Language
Abstraction Level
Meta-Language
Exchange Format Processing Env.
Definition
Meta and History
Quality
Strategy Clarity Locality
Auto Manual
Optional
OR
XOR
(2-3) ProMeTA – Quality
14
Program Metamodel
Target Language
Abstraction Level
Meta-Language
Exchange Format Processing Env.
Definition
Meta and History
Quality
Performance UsabilityCompatibilityFunctional
Suitability
Reliability Portability Maintainability
Reusability ModifiabilityISO/IEC 25010 quality model adopted
Optional
OR
XOR
15
M
Target Language High Middle Lexical Structure Syntax Semantics Dialects
T1 T2 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 A14 A15 A16 A17 A18 A19 A20
M1 Independent Java, Delphi X X X X X X X X X X X X X
M2 Independent Java, PL/SQL X X X X X X X X X X X X X X
M3 Object-Oriented Java, C++, Ada, Smalltalk X X X X X X
M4 Object-Oriented Java, C++ X X X X X X
M5 Independent Java, C++, C X X X X X X X X
M
Meta-Language Exchange Format
L1 L2 L3 L4 E1 E2 E3 E4 E5 E6 E7 E8 E9 E10 E11 E12 E13 E14 E15 E16 E17 E18 E19 E20 F21 F22
M1 MOF Text File Transfer XMI, XSD Exp Ext + + ++ ++ ++ ++ + + ++ + + Exp Ext
M2 MOF Text File Transfer XMI Exp Ext + + ++ ++ ++ ++ + + ++ + + Exp Ext
M3 UML Text Text Stream XMI, CDIF Exp Ext + + ++ ++ ++ ++ + + ++ + + Exp Ext
M4 UML Text File Transfer XMI Exp Ext + + ++ ++ ++ ++ ++ + + Exp Ext
M5 X Binary Direct RDB Imp Int - - - - - - - - - Imp Int
M
Processing Environment
P1 P2 P3 P4 P5 P6 P7 P8 P9
M1 OCL, KDM Analysis Package
MoDisco (dedicated parsers),
Gra2MoL
KDM Target Mapping &
Transformation Package
X
M2 OCL, Modisco Java Model Query
MoDisco (KDM Source
Discovery, Java Discoverer)
ADM tools X X
M3 MOOSE Navigation and Querying Engine MOOSE MOOSE Refactoring Engine X X
M4 X Datrix X X
M5 SQL SPOOL (dedicated extractors) X
M
Definition Program Meta and History Data Functionality
D1 D2 D3 H1 H2 H3 H4 H5 H6 H7 Q1 Q2 Q3 Q4 Q5 Q6 Q7
M1 Manually Exp Ext X + Embedded Manual + +
M2 Manually Exp Ext X + Embedded Manual + +
M3 Manually Exp Ext +
M4 Manually Exp Int + +
M5 Manually Imp Int Dependency analysis
M
Non-Functionality
Q8 Q9 Q10 Q11 Q12 Q13 Q14 Q15 Q16 Q18 Q19 Q20 Q21 Q22 Q23 Q24 Q25
M1 - Doc, Sample, Community ++ ++ + + Free Fully Inheritance, Composition + ++ Fully ++ + +
M2 Doc, Sample, Community ++ ++ + + Free Fully Package Inheritance, Composition + ++ Fully ++ ++ +
M3 Doc, Sample, Community ++ ++ + Free Fully Inheritance, Composition + ++ Fully ++ ++ +
M4 ++ - - Free Unavailable Inheritance, Composition + - Partially + +
M5 - - - Free Unavailable - - Partially - -
(4) Classification Results and Findings
• Metamodels can be reused for major languages (Java, C++)
• Better to choose/create metamodels defined by explicitly-
externally defined major metalanguages/exchange formats
• Most are suitable for transformations and program analysis
• Few supports to describe meta and history data
16
Lang Abst Meta Exch Env. Hist Defi Func Qual
ASTM any M L MOF XMI OCL, MoDisco Lang Ext General ++
KDM any H M L MOF XMI OCL, MoDisco Ver. Ext General ++
FAMIX OOP M UML MSE MOOSE Ext General ++
SPOOL OOP M UML XMI Datrix Int General +
UNIQ any M L EBNF RDB SPOOL, SQL Int Dependency
Abstract Syntax Tree Metamodel (ASTM), Knowledge Discovery Meta-Model (KDM)
FAMOOS Information Exchange Model (FAMIX)
Conclusion and Future Work
• Contribution
– A conceptual framework
– A comprehensive taxonomy, named ProMeTA
– A classification of existing popular program metamodels
• Future work
– Validate ProMeTA by conducting experiments
– Make ProMeTA available and modifiable to the
community
17
Thanks! Questions?
18
Research Goal and Method
6
To provide a comprehensive taxonomy and use this
taxonomy to classify some popular metamodels
(1) Conceptual Framework
Taxonomy
62 papers
1200+ papers
Metamodels
X X
X X
X
・・・
・・・
M1
M2
M5
(2) SLR
(3) Analysis
(4) Classification
"meta model" AND ("source code”
OR program*) AND (extract* OR
transform* OR generat*)
(1) Conceptual framework
7
Metasyntax
Grammar
Program
Meta
language
Program
metamodel
Program
model
Metasyntax
of schema
Exchange
format
Model data
conforms
describes
can be
mapped to
describes
can be
mapped to
class C {
void m() {
...
}
<class/>
<name>C
</name>
...
C: Class
m: Method
Grammarware Modelware Dataware
(2-3) ProMeTA: Program Metamodel Taxonomy
8
Program Metamodel
Target Language
Abstraction Level
Meta-Language
Exchange Format Processing Env.
Definition
Meta and History
Quality
(4) Classification Results and Findings
• If the target language is a major one like Java or C++, existing
metamodels and tools may be reused.
• Better to choose/create metamodels defined by widely
accepted, explicitly-externally defined metalanguages/formats
• Most are suitable for transformations and program analysis.
• Few supports to describe meta and history data
17
Lang Abst Meta Exch Env. Hist Defi Func Qual
ASTM any M L MOF XMI OCL, MoDisco Lang Ext General ++
KDM any H M L MOF XMI OCL, MoDisco Ver. Ext General ++
FAMIX OOP M UML MSE MOOSE Ext General ++
SPOOL OOP M UML XMI Datrix Int General +
UNIQ Any M L EBNF RDB SPOOL, SQL Int Dependency
Abstract Syntax Tree Metamodel (ASTM), Knowledge Discovery Meta-Model (KDM),
FAMOOS Information Exchange Model (FAMIX), SPOOL, UNIQ-ART

More Related Content

What's hot

Braden Hancock "Programmatically creating and managing training data with Sno...
Braden Hancock "Programmatically creating and managing training data with Sno...Braden Hancock "Programmatically creating and managing training data with Sno...
Braden Hancock "Programmatically creating and managing training data with Sno...
Fwdays
 
Reference Representation in Large Metamodel-based Datasets
Reference Representation in Large Metamodel-based DatasetsReference Representation in Large Metamodel-based Datasets
Reference Representation in Large Metamodel-based Datasets
Markus Scheidgen
 
Icpc11c.ppt
Icpc11c.pptIcpc11c.ppt
2.18 tổ chức lớp viết báo khoa học kỹ thuật đăng trên tạp chí quốc tế (13)
2.18 tổ chức lớp viết báo khoa học kỹ thuật đăng trên tạp chí quốc tế (13)2.18 tổ chức lớp viết báo khoa học kỹ thuật đăng trên tạp chí quốc tế (13)
2.18 tổ chức lớp viết báo khoa học kỹ thuật đăng trên tạp chí quốc tế (13)
Lac Hong University
 
Open Problems in Automatically Refactoring Legacy Java Software to use New Fe...
Open Problems in Automatically Refactoring Legacy Java Software to use New Fe...Open Problems in Automatically Refactoring Legacy Java Software to use New Fe...
Open Problems in Automatically Refactoring Legacy Java Software to use New Fe...
Raffi Khatchadourian
 
Introduction to new features in java 8
Introduction to new features in java 8Introduction to new features in java 8
Introduction to new features in java 8
Raffi Khatchadourian
 
Java Interview Questions by NageswaraRao
Java Interview Questions by NageswaraRaoJava Interview Questions by NageswaraRao
Java Interview Questions by NageswaraRao
JavabynataraJ
 
Net Framework Overview
Net Framework OverviewNet Framework Overview
Net Framework Overview
Luis Goldster
 
Future Programming Language
Future Programming LanguageFuture Programming Language
Future Programming LanguageYLTO
 
A Portable Approach for Bidirectional Integration between a Logic and a Stati...
A Portable Approach for Bidirectional Integration between a Logic and a Stati...A Portable Approach for Bidirectional Integration between a Logic and a Stati...
A Portable Approach for Bidirectional Integration between a Logic and a Stati...
Sergio Castro
 
BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding
BERT: Pre-training of Deep Bidirectional Transformers for Language UnderstandingBERT: Pre-training of Deep Bidirectional Transformers for Language Understanding
BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding
Minh Pham
 

What's hot (11)

Braden Hancock "Programmatically creating and managing training data with Sno...
Braden Hancock "Programmatically creating and managing training data with Sno...Braden Hancock "Programmatically creating and managing training data with Sno...
Braden Hancock "Programmatically creating and managing training data with Sno...
 
Reference Representation in Large Metamodel-based Datasets
Reference Representation in Large Metamodel-based DatasetsReference Representation in Large Metamodel-based Datasets
Reference Representation in Large Metamodel-based Datasets
 
Icpc11c.ppt
Icpc11c.pptIcpc11c.ppt
Icpc11c.ppt
 
2.18 tổ chức lớp viết báo khoa học kỹ thuật đăng trên tạp chí quốc tế (13)
2.18 tổ chức lớp viết báo khoa học kỹ thuật đăng trên tạp chí quốc tế (13)2.18 tổ chức lớp viết báo khoa học kỹ thuật đăng trên tạp chí quốc tế (13)
2.18 tổ chức lớp viết báo khoa học kỹ thuật đăng trên tạp chí quốc tế (13)
 
Open Problems in Automatically Refactoring Legacy Java Software to use New Fe...
Open Problems in Automatically Refactoring Legacy Java Software to use New Fe...Open Problems in Automatically Refactoring Legacy Java Software to use New Fe...
Open Problems in Automatically Refactoring Legacy Java Software to use New Fe...
 
Introduction to new features in java 8
Introduction to new features in java 8Introduction to new features in java 8
Introduction to new features in java 8
 
Java Interview Questions by NageswaraRao
Java Interview Questions by NageswaraRaoJava Interview Questions by NageswaraRao
Java Interview Questions by NageswaraRao
 
Net Framework Overview
Net Framework OverviewNet Framework Overview
Net Framework Overview
 
Future Programming Language
Future Programming LanguageFuture Programming Language
Future Programming Language
 
A Portable Approach for Bidirectional Integration between a Logic and a Stati...
A Portable Approach for Bidirectional Integration between a Logic and a Stati...A Portable Approach for Bidirectional Integration between a Logic and a Stati...
A Portable Approach for Bidirectional Integration between a Logic and a Stati...
 
BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding
BERT: Pre-training of Deep Bidirectional Transformers for Language UnderstandingBERT: Pre-training of Deep Bidirectional Transformers for Language Understanding
BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding
 

Viewers also liked

G7 PROGRAMMING LEARNING SUMMITの狙い
G7 PROGRAMMING LEARNING SUMMITの狙いG7 PROGRAMMING LEARNING SUMMITの狙い
G7 PROGRAMMING LEARNING SUMMITの狙い
Hironori Washizaki
 
ソフトウェアエンジニアリングの全体とIoT時代のモデリングおよび関連する品質
ソフトウェアエンジニアリングの全体とIoT時代のモデリングおよび関連する品質ソフトウェアエンジニアリングの全体とIoT時代のモデリングおよび関連する品質
ソフトウェアエンジニアリングの全体とIoT時代のモデリングおよび関連する品質
Hironori Washizaki
 
早稲田大学における 実践的IT科目 - 疑似プロジェクトベース教育とチーム構成 -
早稲田大学における実践的IT科目- 疑似プロジェクトベース教育とチーム構成 - 早稲田大学における実践的IT科目- 疑似プロジェクトベース教育とチーム構成 -
早稲田大学における 実践的IT科目 - 疑似プロジェクトベース教育とチーム構成 -
Hironori Washizaki
 
ICST 2017 Day1 Opening Ceremony Research Track
ICST 2017 Day1 Opening Ceremony Research TrackICST 2017 Day1 Opening Ceremony Research Track
ICST 2017 Day1 Opening Ceremony Research Track
Hironori Washizaki
 
McEdu2016 ゲームとプログラミング学習のカタチ 鷲崎
McEdu2016 ゲームとプログラミング学習のカタチ 鷲崎McEdu2016 ゲームとプログラミング学習のカタチ 鷲崎
McEdu2016 ゲームとプログラミング学習のカタチ 鷲崎
Hironori Washizaki
 
NOTA Inc. のデザインワーク - Scrapboxのコンセプトとデザインフロー -
NOTA Inc. のデザインワーク - Scrapboxのコンセプトとデザインフロー - NOTA Inc. のデザインワーク - Scrapboxのコンセプトとデザインフロー -
NOTA Inc. のデザインワーク - Scrapboxのコンセプトとデザインフロー -
建 吉原
 
Proposals for the SWEBOK evolution process from the viewpoint of ISO/IEC/JTC1...
Proposals for the SWEBOK evolution process from the viewpoint of ISO/IEC/JTC1...Proposals for the SWEBOK evolution process from the viewpoint of ISO/IEC/JTC1...
Proposals for the SWEBOK evolution process from the viewpoint of ISO/IEC/JTC1...
Hironori Washizaki
 
Recovery of Traceability Links and Behavior Models for Software Maintenance,...
Recovery of Traceability Links and Behavior Models for Software Maintenance,...Recovery of Traceability Links and Behavior Models for Software Maintenance,...
Recovery of Traceability Links and Behavior Models for Software Maintenance,...
Hironori Washizaki
 
Pythonを含む多くのプログラミング言語を扱う処理フレームワークとパターン、鷲崎弘宜、PyConJP 2016 招待講演
Pythonを含む多くのプログラミング言語を扱う処理フレームワークとパターン、鷲崎弘宜、PyConJP 2016 招待講演Pythonを含む多くのプログラミング言語を扱う処理フレームワークとパターン、鷲崎弘宜、PyConJP 2016 招待講演
Pythonを含む多くのプログラミング言語を扱う処理フレームワークとパターン、鷲崎弘宜、PyConJP 2016 招待講演
Hironori Washizaki
 
Software Maintenance Support by Extracting Links and Models (revised)
Software Maintenance Support by Extracting Links and Models (revised)Software Maintenance Support by Extracting Links and Models (revised)
Software Maintenance Support by Extracting Links and Models (revised)
Hironori Washizaki
 
Introducing Eclipse MoDisco
Introducing Eclipse MoDiscoIntroducing Eclipse MoDisco
Introducing Eclipse MoDisco
Hugo Bruneliere
 
ICST2015勉強会 ICST2017に向けて
ICST2015勉強会 ICST2017に向けてICST2015勉強会 ICST2017に向けて
ICST2015勉強会 ICST2017に向けてHironori Washizaki
 
S qu bok特別講演2015年2月-開発領域
S qu bok特別講演2015年2月-開発領域S qu bok特別講演2015年2月-開発領域
S qu bok特別講演2015年2月-開発領域
Hironori Washizaki
 
Software Maintenance Support by Extracting Links and Models
Software Maintenance Support by Extracting Links and ModelsSoftware Maintenance Support by Extracting Links and Models
Software Maintenance Support by Extracting Links and Models
Hironori Washizaki
 
IPA RISE委託研究 ソフトウェアのベンチマークとなる品質実態調査における品質評価枠組み
IPA RISE委託研究 ソフトウェアのベンチマークとなる品質実態調査における品質評価枠組みIPA RISE委託研究 ソフトウェアのベンチマークとなる品質実態調査における品質評価枠組み
IPA RISE委託研究 ソフトウェアのベンチマークとなる品質実態調査における品質評価枠組み
Hironori Washizaki
 
経済産業省/IPA 委託事業 「IT人材育成強化加速事業」拠点 早稲田大学における 産学連携実践的IT教育講座の紹介
経済産業省/IPA 委託事業「IT人材育成強化加速事業」拠点早稲田大学における産学連携実践的IT教育講座の紹介経済産業省/IPA 委託事業「IT人材育成強化加速事業」拠点早稲田大学における産学連携実践的IT教育講座の紹介
経済産業省/IPA 委託事業 「IT人材育成強化加速事業」拠点 早稲田大学における 産学連携実践的IT教育講座の紹介
Hironori Washizaki
 
情報システム企画・開発の実践的な疑似プロジェクトベース教育
情報システム企画・開発の実践的な疑似プロジェクトベース教育情報システム企画・開発の実践的な疑似プロジェクトベース教育
情報システム企画・開発の実践的な疑似プロジェクトベース教育
Hironori Washizaki
 
鷲崎 愛媛大学講演-プロジェクト型演習2014年12月15日
鷲崎 愛媛大学講演-プロジェクト型演習2014年12月15日鷲崎 愛媛大学講演-プロジェクト型演習2014年12月15日
鷲崎 愛媛大学講演-プロジェクト型演習2014年12月15日
Hironori Washizaki
 
鷲崎 メトリクスの基礎とGQM法によるゴール指向の測定 2014年12月18日 日本科学技術連名SQiP研究会 演習コースI ソフトウェア工学の基礎
鷲崎 メトリクスの基礎とGQM法によるゴール指向の測定 2014年12月18日 日本科学技術連名SQiP研究会 演習コースI ソフトウェア工学の基礎鷲崎 メトリクスの基礎とGQM法によるゴール指向の測定 2014年12月18日 日本科学技術連名SQiP研究会 演習コースI ソフトウェア工学の基礎
鷲崎 メトリクスの基礎とGQM法によるゴール指向の測定 2014年12月18日 日本科学技術連名SQiP研究会 演習コースI ソフトウェア工学の基礎
Hironori Washizaki
 

Viewers also liked (20)

G7 PROGRAMMING LEARNING SUMMITの狙い
G7 PROGRAMMING LEARNING SUMMITの狙いG7 PROGRAMMING LEARNING SUMMITの狙い
G7 PROGRAMMING LEARNING SUMMITの狙い
 
ソフトウェアエンジニアリングの全体とIoT時代のモデリングおよび関連する品質
ソフトウェアエンジニアリングの全体とIoT時代のモデリングおよび関連する品質ソフトウェアエンジニアリングの全体とIoT時代のモデリングおよび関連する品質
ソフトウェアエンジニアリングの全体とIoT時代のモデリングおよび関連する品質
 
早稲田大学における 実践的IT科目 - 疑似プロジェクトベース教育とチーム構成 -
早稲田大学における実践的IT科目- 疑似プロジェクトベース教育とチーム構成 - 早稲田大学における実践的IT科目- 疑似プロジェクトベース教育とチーム構成 -
早稲田大学における 実践的IT科目 - 疑似プロジェクトベース教育とチーム構成 -
 
ICST 2017 Day1 Opening Ceremony Research Track
ICST 2017 Day1 Opening Ceremony Research TrackICST 2017 Day1 Opening Ceremony Research Track
ICST 2017 Day1 Opening Ceremony Research Track
 
McEdu2016 ゲームとプログラミング学習のカタチ 鷲崎
McEdu2016 ゲームとプログラミング学習のカタチ 鷲崎McEdu2016 ゲームとプログラミング学習のカタチ 鷲崎
McEdu2016 ゲームとプログラミング学習のカタチ 鷲崎
 
NOTA Inc. のデザインワーク - Scrapboxのコンセプトとデザインフロー -
NOTA Inc. のデザインワーク - Scrapboxのコンセプトとデザインフロー - NOTA Inc. のデザインワーク - Scrapboxのコンセプトとデザインフロー -
NOTA Inc. のデザインワーク - Scrapboxのコンセプトとデザインフロー -
 
Proposals for the SWEBOK evolution process from the viewpoint of ISO/IEC/JTC1...
Proposals for the SWEBOK evolution process from the viewpoint of ISO/IEC/JTC1...Proposals for the SWEBOK evolution process from the viewpoint of ISO/IEC/JTC1...
Proposals for the SWEBOK evolution process from the viewpoint of ISO/IEC/JTC1...
 
Recovery of Traceability Links and Behavior Models for Software Maintenance,...
Recovery of Traceability Links and Behavior Models for Software Maintenance,...Recovery of Traceability Links and Behavior Models for Software Maintenance,...
Recovery of Traceability Links and Behavior Models for Software Maintenance,...
 
Pythonを含む多くのプログラミング言語を扱う処理フレームワークとパターン、鷲崎弘宜、PyConJP 2016 招待講演
Pythonを含む多くのプログラミング言語を扱う処理フレームワークとパターン、鷲崎弘宜、PyConJP 2016 招待講演Pythonを含む多くのプログラミング言語を扱う処理フレームワークとパターン、鷲崎弘宜、PyConJP 2016 招待講演
Pythonを含む多くのプログラミング言語を扱う処理フレームワークとパターン、鷲崎弘宜、PyConJP 2016 招待講演
 
Sematj 1st-study meeting
Sematj 1st-study meetingSematj 1st-study meeting
Sematj 1st-study meeting
 
Software Maintenance Support by Extracting Links and Models (revised)
Software Maintenance Support by Extracting Links and Models (revised)Software Maintenance Support by Extracting Links and Models (revised)
Software Maintenance Support by Extracting Links and Models (revised)
 
Introducing Eclipse MoDisco
Introducing Eclipse MoDiscoIntroducing Eclipse MoDisco
Introducing Eclipse MoDisco
 
ICST2015勉強会 ICST2017に向けて
ICST2015勉強会 ICST2017に向けてICST2015勉強会 ICST2017に向けて
ICST2015勉強会 ICST2017に向けて
 
S qu bok特別講演2015年2月-開発領域
S qu bok特別講演2015年2月-開発領域S qu bok特別講演2015年2月-開発領域
S qu bok特別講演2015年2月-開発領域
 
Software Maintenance Support by Extracting Links and Models
Software Maintenance Support by Extracting Links and ModelsSoftware Maintenance Support by Extracting Links and Models
Software Maintenance Support by Extracting Links and Models
 
IPA RISE委託研究 ソフトウェアのベンチマークとなる品質実態調査における品質評価枠組み
IPA RISE委託研究 ソフトウェアのベンチマークとなる品質実態調査における品質評価枠組みIPA RISE委託研究 ソフトウェアのベンチマークとなる品質実態調査における品質評価枠組み
IPA RISE委託研究 ソフトウェアのベンチマークとなる品質実態調査における品質評価枠組み
 
経済産業省/IPA 委託事業 「IT人材育成強化加速事業」拠点 早稲田大学における 産学連携実践的IT教育講座の紹介
経済産業省/IPA 委託事業「IT人材育成強化加速事業」拠点早稲田大学における産学連携実践的IT教育講座の紹介経済産業省/IPA 委託事業「IT人材育成強化加速事業」拠点早稲田大学における産学連携実践的IT教育講座の紹介
経済産業省/IPA 委託事業 「IT人材育成強化加速事業」拠点 早稲田大学における 産学連携実践的IT教育講座の紹介
 
情報システム企画・開発の実践的な疑似プロジェクトベース教育
情報システム企画・開発の実践的な疑似プロジェクトベース教育情報システム企画・開発の実践的な疑似プロジェクトベース教育
情報システム企画・開発の実践的な疑似プロジェクトベース教育
 
鷲崎 愛媛大学講演-プロジェクト型演習2014年12月15日
鷲崎 愛媛大学講演-プロジェクト型演習2014年12月15日鷲崎 愛媛大学講演-プロジェクト型演習2014年12月15日
鷲崎 愛媛大学講演-プロジェクト型演習2014年12月15日
 
鷲崎 メトリクスの基礎とGQM法によるゴール指向の測定 2014年12月18日 日本科学技術連名SQiP研究会 演習コースI ソフトウェア工学の基礎
鷲崎 メトリクスの基礎とGQM法によるゴール指向の測定 2014年12月18日 日本科学技術連名SQiP研究会 演習コースI ソフトウェア工学の基礎鷲崎 メトリクスの基礎とGQM法によるゴール指向の測定 2014年12月18日 日本科学技術連名SQiP研究会 演習コースI ソフトウェア工学の基礎
鷲崎 メトリクスの基礎とGQM法によるゴール指向の測定 2014年12月18日 日本科学技術連名SQiP研究会 演習コースI ソフトウェア工学の基礎
 

Similar to A Taxonomy for Program Metamodels in Program Reverse Engineering

Icsme16.ppt
Icsme16.pptIcsme16.ppt
Icsme16.ppt
Ptidej Team
 
MDE=Model Driven Everything (Spanish Eclipse Day 2009)
MDE=Model Driven Everything (Spanish Eclipse Day 2009)MDE=Model Driven Everything (Spanish Eclipse Day 2009)
MDE=Model Driven Everything (Spanish Eclipse Day 2009)
Jordi Cabot
 
Ase02 dmp.ppt
Ase02 dmp.pptAse02 dmp.ppt
Ase02 dmp.ppt
Yann-Gaël Guéhéneuc
 
Leveraging Model-Driven Technologies for JSON Artefacts: The Shipyard Case Study
Leveraging Model-Driven Technologies for JSON Artefacts: The Shipyard Case StudyLeveraging Model-Driven Technologies for JSON Artefacts: The Shipyard Case Study
Leveraging Model-Driven Technologies for JSON Artefacts: The Shipyard Case Study
Luca Berardinelli
 
Mit302 web technologies
Mit302 web technologiesMit302 web technologies
Mit302 web technologies
smumbahelp
 
Software Abstractions for Parallel Hardware
Software Abstractions for Parallel HardwareSoftware Abstractions for Parallel Hardware
Software Abstractions for Parallel Hardware
Joel Falcou
 
Software development effort reduction with Co-op
Software development effort reduction with Co-opSoftware development effort reduction with Co-op
Software development effort reduction with Co-op
lbergmans
 
MDE in Practice
MDE in PracticeMDE in Practice
MDE in Practice
Abdalmassih Yakeen
 
IEEE 2014 JAVA DATA MINING PROJECTS Xs path navigation on xml schemas made easy
IEEE 2014 JAVA DATA MINING PROJECTS Xs path navigation on xml schemas made easyIEEE 2014 JAVA DATA MINING PROJECTS Xs path navigation on xml schemas made easy
IEEE 2014 JAVA DATA MINING PROJECTS Xs path navigation on xml schemas made easy
IEEEFINALYEARSTUDENTPROJECTS
 
2014 IEEE JAVA DATA MINING PROJECT Xs path navigation on xml schemas made easy
2014 IEEE JAVA DATA MINING PROJECT Xs path navigation on xml schemas made easy2014 IEEE JAVA DATA MINING PROJECT Xs path navigation on xml schemas made easy
2014 IEEE JAVA DATA MINING PROJECT Xs path navigation on xml schemas made easy
IEEEMEMTECHSTUDENTSPROJECTS
 
Overlapping optimization with parsing through metagrammars
Overlapping optimization with parsing through metagrammarsOverlapping optimization with parsing through metagrammars
Overlapping optimization with parsing through metagrammarsIAEME Publication
 
Extending Rotor with Structural Reflection to support Reflective Languages
Extending Rotor with Structural Reflection to support Reflective LanguagesExtending Rotor with Structural Reflection to support Reflective Languages
Extending Rotor with Structural Reflection to support Reflective Languages
franciscoortin
 
Source-to-source transformations: Supporting tools and infrastructure
Source-to-source transformations: Supporting tools and infrastructureSource-to-source transformations: Supporting tools and infrastructure
Source-to-source transformations: Supporting tools and infrastructure
kaveirious
 
2014 01-ticosa
2014 01-ticosa2014 01-ticosa
2014 01-ticosa
Pharo
 
Overview of the SPARQL-Generate language and latest developments
Overview of the SPARQL-Generate language and latest developmentsOverview of the SPARQL-Generate language and latest developments
Overview of the SPARQL-Generate language and latest developments
Maxime Lefrançois
 
Resume
ResumeResume
Resume
muddanas
 
Srinivas Muddana Resume
Srinivas Muddana ResumeSrinivas Muddana Resume
Srinivas Muddana Resume
muddanas
 
Srinivas Muddana Resume
Srinivas Muddana ResumeSrinivas Muddana Resume
Srinivas Muddana Resume
muddanas
 
Srinivas Muddana Resume
Srinivas Muddana ResumeSrinivas Muddana Resume
Srinivas Muddana Resume
muddanas
 

Similar to A Taxonomy for Program Metamodels in Program Reverse Engineering (20)

Icsme16.ppt
Icsme16.pptIcsme16.ppt
Icsme16.ppt
 
ALT
ALTALT
ALT
 
MDE=Model Driven Everything (Spanish Eclipse Day 2009)
MDE=Model Driven Everything (Spanish Eclipse Day 2009)MDE=Model Driven Everything (Spanish Eclipse Day 2009)
MDE=Model Driven Everything (Spanish Eclipse Day 2009)
 
Ase02 dmp.ppt
Ase02 dmp.pptAse02 dmp.ppt
Ase02 dmp.ppt
 
Leveraging Model-Driven Technologies for JSON Artefacts: The Shipyard Case Study
Leveraging Model-Driven Technologies for JSON Artefacts: The Shipyard Case StudyLeveraging Model-Driven Technologies for JSON Artefacts: The Shipyard Case Study
Leveraging Model-Driven Technologies for JSON Artefacts: The Shipyard Case Study
 
Mit302 web technologies
Mit302 web technologiesMit302 web technologies
Mit302 web technologies
 
Software Abstractions for Parallel Hardware
Software Abstractions for Parallel HardwareSoftware Abstractions for Parallel Hardware
Software Abstractions for Parallel Hardware
 
Software development effort reduction with Co-op
Software development effort reduction with Co-opSoftware development effort reduction with Co-op
Software development effort reduction with Co-op
 
MDE in Practice
MDE in PracticeMDE in Practice
MDE in Practice
 
IEEE 2014 JAVA DATA MINING PROJECTS Xs path navigation on xml schemas made easy
IEEE 2014 JAVA DATA MINING PROJECTS Xs path navigation on xml schemas made easyIEEE 2014 JAVA DATA MINING PROJECTS Xs path navigation on xml schemas made easy
IEEE 2014 JAVA DATA MINING PROJECTS Xs path navigation on xml schemas made easy
 
2014 IEEE JAVA DATA MINING PROJECT Xs path navigation on xml schemas made easy
2014 IEEE JAVA DATA MINING PROJECT Xs path navigation on xml schemas made easy2014 IEEE JAVA DATA MINING PROJECT Xs path navigation on xml schemas made easy
2014 IEEE JAVA DATA MINING PROJECT Xs path navigation on xml schemas made easy
 
Overlapping optimization with parsing through metagrammars
Overlapping optimization with parsing through metagrammarsOverlapping optimization with parsing through metagrammars
Overlapping optimization with parsing through metagrammars
 
Extending Rotor with Structural Reflection to support Reflective Languages
Extending Rotor with Structural Reflection to support Reflective LanguagesExtending Rotor with Structural Reflection to support Reflective Languages
Extending Rotor with Structural Reflection to support Reflective Languages
 
Source-to-source transformations: Supporting tools and infrastructure
Source-to-source transformations: Supporting tools and infrastructureSource-to-source transformations: Supporting tools and infrastructure
Source-to-source transformations: Supporting tools and infrastructure
 
2014 01-ticosa
2014 01-ticosa2014 01-ticosa
2014 01-ticosa
 
Overview of the SPARQL-Generate language and latest developments
Overview of the SPARQL-Generate language and latest developmentsOverview of the SPARQL-Generate language and latest developments
Overview of the SPARQL-Generate language and latest developments
 
Resume
ResumeResume
Resume
 
Srinivas Muddana Resume
Srinivas Muddana ResumeSrinivas Muddana Resume
Srinivas Muddana Resume
 
Srinivas Muddana Resume
Srinivas Muddana ResumeSrinivas Muddana Resume
Srinivas Muddana Resume
 
Srinivas Muddana Resume
Srinivas Muddana ResumeSrinivas Muddana Resume
Srinivas Muddana Resume
 

More from Hironori Washizaki

SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024
Hironori Washizaki
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their Engineering
Hironori Washizaki
 
IEEE Computer Society 2024 Technology Predictions Update
IEEE Computer Society 2024 Technology Predictions UpdateIEEE Computer Society 2024 Technology Predictions Update
IEEE Computer Society 2024 Technology Predictions Update
Hironori Washizaki
 
鷲崎弘宜, "国際規格ISO/IEC 24773とその意義", 情報処理学会 第86回全国大会
鷲崎弘宜, "国際規格ISO/IEC 24773とその意義", 情報処理学会 第86回全国大会鷲崎弘宜, "国際規格ISO/IEC 24773とその意義", 情報処理学会 第86回全国大会
鷲崎弘宜, "国際規格ISO/IEC 24773とその意義", 情報処理学会 第86回全国大会
Hironori Washizaki
 
IEEE Computer Society’s Strategic Activities and Products including SWEBOK Guide
IEEE Computer Society’s Strategic Activities and Products including SWEBOK GuideIEEE Computer Society’s Strategic Activities and Products including SWEBOK Guide
IEEE Computer Society’s Strategic Activities and Products including SWEBOK Guide
Hironori Washizaki
 
TISO/IEC JTC1におけるソフトウェア工学知識体系、技術者認証および品質の標準化と研究・教育他への活用
TISO/IEC JTC1におけるソフトウェア工学知識体系、技術者認証および品質の標準化と研究・教育他への活用TISO/IEC JTC1におけるソフトウェア工学知識体系、技術者認証および品質の標準化と研究・教育他への活用
TISO/IEC JTC1におけるソフトウェア工学知識体系、技術者認証および品質の標準化と研究・教育他への活用
Hironori Washizaki
 
アジャイル品質のパターンとメトリクス Agile Quality Patterns and Metrics (QA2AQ) 20240225
アジャイル品質のパターンとメトリクス Agile Quality Patterns and Metrics (QA2AQ) 20240225アジャイル品質のパターンとメトリクス Agile Quality Patterns and Metrics (QA2AQ) 20240225
アジャイル品質のパターンとメトリクス Agile Quality Patterns and Metrics (QA2AQ) 20240225
Hironori Washizaki
 
Joseph Yoder : Being Agile about Architecture
Joseph Yoder : Being Agile about ArchitectureJoseph Yoder : Being Agile about Architecture
Joseph Yoder : Being Agile about Architecture
Hironori Washizaki
 
世界標準のソフトウェア工学知識体系SWEBOK Guide最新第4版を通じた開発アップデート
世界標準のソフトウェア工学知識体系SWEBOK Guide最新第4版を通じた開発アップデート世界標準のソフトウェア工学知識体系SWEBOK Guide最新第4版を通じた開発アップデート
世界標準のソフトウェア工学知識体系SWEBOK Guide最新第4版を通じた開発アップデート
Hironori Washizaki
 
SWEBOK Guide Evolution and Its Emerging Areas including Machine Learning Patt...
SWEBOK Guide Evolution and Its Emerging Areas including Machine Learning Patt...SWEBOK Guide Evolution and Its Emerging Areas including Machine Learning Patt...
SWEBOK Guide Evolution and Its Emerging Areas including Machine Learning Patt...
Hironori Washizaki
 
デジタルトランスフォーメーション(DX)におけるソフトウェアの側面とダイバーシティ・インクルーシブに関する研究実践動向
デジタルトランスフォーメーション(DX)におけるソフトウェアの側面とダイバーシティ・インクルーシブに関する研究実践動向デジタルトランスフォーメーション(DX)におけるソフトウェアの側面とダイバーシティ・インクルーシブに関する研究実践動向
デジタルトランスフォーメーション(DX)におけるソフトウェアの側面とダイバーシティ・インクルーシブに関する研究実践動向
Hironori Washizaki
 
SQuBOKガイドV3概説 ~IoT・AI・DX時代のソフトウェア品質とシステム監査~
SQuBOKガイドV3概説 ~IoT・AI・DX時代のソフトウェア品質とシステム監査~SQuBOKガイドV3概説 ~IoT・AI・DX時代のソフトウェア品質とシステム監査~
SQuBOKガイドV3概説 ~IoT・AI・DX時代のソフトウェア品質とシステム監査~
Hironori Washizaki
 
人生100年・60年カリキュラム時代のDX人材育成: スマートエスイー 2021年度成果および2022年度募集
人生100年・60年カリキュラム時代のDX人材育成: スマートエスイー 2021年度成果および2022年度募集人生100年・60年カリキュラム時代のDX人材育成: スマートエスイー 2021年度成果および2022年度募集
人生100年・60年カリキュラム時代のDX人材育成: スマートエスイー 2021年度成果および2022年度募集
Hironori Washizaki
 
スマートエスイーコンソーシアムの概要と2021年度成果紹介
スマートエスイーコンソーシアムの概要と2021年度成果紹介スマートエスイーコンソーシアムの概要と2021年度成果紹介
スマートエスイーコンソーシアムの概要と2021年度成果紹介
Hironori Washizaki
 
DXの推進において企業内に求められる人材やデジタル人材の育て方
DXの推進において企業内に求められる人材やデジタル人材の育て方DXの推進において企業内に求められる人材やデジタル人材の育て方
DXの推進において企業内に求められる人材やデジタル人材の育て方
Hironori Washizaki
 
対応性のある運用のパターン
対応性のある運用のパターン対応性のある運用のパターン
対応性のある運用のパターン
Hironori Washizaki
 
モデル訓練のパターン
モデル訓練のパターンモデル訓練のパターン
モデル訓練のパターン
Hironori Washizaki
 
パターンのつながりとAI活用成熟度
パターンのつながりとAI活用成熟度パターンのつながりとAI活用成熟度
パターンのつながりとAI活用成熟度
Hironori Washizaki
 
データ表現のパターン
データ表現のパターンデータ表現のパターン
データ表現のパターン
Hironori Washizaki
 
機械学習デザインパターンの必要性と機械学習ライフサイクル
機械学習デザインパターンの必要性と機械学習ライフサイクル機械学習デザインパターンの必要性と機械学習ライフサイクル
機械学習デザインパターンの必要性と機械学習ライフサイクル
Hironori Washizaki
 

More from Hironori Washizaki (20)

SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their Engineering
 
IEEE Computer Society 2024 Technology Predictions Update
IEEE Computer Society 2024 Technology Predictions UpdateIEEE Computer Society 2024 Technology Predictions Update
IEEE Computer Society 2024 Technology Predictions Update
 
鷲崎弘宜, "国際規格ISO/IEC 24773とその意義", 情報処理学会 第86回全国大会
鷲崎弘宜, "国際規格ISO/IEC 24773とその意義", 情報処理学会 第86回全国大会鷲崎弘宜, "国際規格ISO/IEC 24773とその意義", 情報処理学会 第86回全国大会
鷲崎弘宜, "国際規格ISO/IEC 24773とその意義", 情報処理学会 第86回全国大会
 
IEEE Computer Society’s Strategic Activities and Products including SWEBOK Guide
IEEE Computer Society’s Strategic Activities and Products including SWEBOK GuideIEEE Computer Society’s Strategic Activities and Products including SWEBOK Guide
IEEE Computer Society’s Strategic Activities and Products including SWEBOK Guide
 
TISO/IEC JTC1におけるソフトウェア工学知識体系、技術者認証および品質の標準化と研究・教育他への活用
TISO/IEC JTC1におけるソフトウェア工学知識体系、技術者認証および品質の標準化と研究・教育他への活用TISO/IEC JTC1におけるソフトウェア工学知識体系、技術者認証および品質の標準化と研究・教育他への活用
TISO/IEC JTC1におけるソフトウェア工学知識体系、技術者認証および品質の標準化と研究・教育他への活用
 
アジャイル品質のパターンとメトリクス Agile Quality Patterns and Metrics (QA2AQ) 20240225
アジャイル品質のパターンとメトリクス Agile Quality Patterns and Metrics (QA2AQ) 20240225アジャイル品質のパターンとメトリクス Agile Quality Patterns and Metrics (QA2AQ) 20240225
アジャイル品質のパターンとメトリクス Agile Quality Patterns and Metrics (QA2AQ) 20240225
 
Joseph Yoder : Being Agile about Architecture
Joseph Yoder : Being Agile about ArchitectureJoseph Yoder : Being Agile about Architecture
Joseph Yoder : Being Agile about Architecture
 
世界標準のソフトウェア工学知識体系SWEBOK Guide最新第4版を通じた開発アップデート
世界標準のソフトウェア工学知識体系SWEBOK Guide最新第4版を通じた開発アップデート世界標準のソフトウェア工学知識体系SWEBOK Guide最新第4版を通じた開発アップデート
世界標準のソフトウェア工学知識体系SWEBOK Guide最新第4版を通じた開発アップデート
 
SWEBOK Guide Evolution and Its Emerging Areas including Machine Learning Patt...
SWEBOK Guide Evolution and Its Emerging Areas including Machine Learning Patt...SWEBOK Guide Evolution and Its Emerging Areas including Machine Learning Patt...
SWEBOK Guide Evolution and Its Emerging Areas including Machine Learning Patt...
 
デジタルトランスフォーメーション(DX)におけるソフトウェアの側面とダイバーシティ・インクルーシブに関する研究実践動向
デジタルトランスフォーメーション(DX)におけるソフトウェアの側面とダイバーシティ・インクルーシブに関する研究実践動向デジタルトランスフォーメーション(DX)におけるソフトウェアの側面とダイバーシティ・インクルーシブに関する研究実践動向
デジタルトランスフォーメーション(DX)におけるソフトウェアの側面とダイバーシティ・インクルーシブに関する研究実践動向
 
SQuBOKガイドV3概説 ~IoT・AI・DX時代のソフトウェア品質とシステム監査~
SQuBOKガイドV3概説 ~IoT・AI・DX時代のソフトウェア品質とシステム監査~SQuBOKガイドV3概説 ~IoT・AI・DX時代のソフトウェア品質とシステム監査~
SQuBOKガイドV3概説 ~IoT・AI・DX時代のソフトウェア品質とシステム監査~
 
人生100年・60年カリキュラム時代のDX人材育成: スマートエスイー 2021年度成果および2022年度募集
人生100年・60年カリキュラム時代のDX人材育成: スマートエスイー 2021年度成果および2022年度募集人生100年・60年カリキュラム時代のDX人材育成: スマートエスイー 2021年度成果および2022年度募集
人生100年・60年カリキュラム時代のDX人材育成: スマートエスイー 2021年度成果および2022年度募集
 
スマートエスイーコンソーシアムの概要と2021年度成果紹介
スマートエスイーコンソーシアムの概要と2021年度成果紹介スマートエスイーコンソーシアムの概要と2021年度成果紹介
スマートエスイーコンソーシアムの概要と2021年度成果紹介
 
DXの推進において企業内に求められる人材やデジタル人材の育て方
DXの推進において企業内に求められる人材やデジタル人材の育て方DXの推進において企業内に求められる人材やデジタル人材の育て方
DXの推進において企業内に求められる人材やデジタル人材の育て方
 
対応性のある運用のパターン
対応性のある運用のパターン対応性のある運用のパターン
対応性のある運用のパターン
 
モデル訓練のパターン
モデル訓練のパターンモデル訓練のパターン
モデル訓練のパターン
 
パターンのつながりとAI活用成熟度
パターンのつながりとAI活用成熟度パターンのつながりとAI活用成熟度
パターンのつながりとAI活用成熟度
 
データ表現のパターン
データ表現のパターンデータ表現のパターン
データ表現のパターン
 
機械学習デザインパターンの必要性と機械学習ライフサイクル
機械学習デザインパターンの必要性と機械学習ライフサイクル機械学習デザインパターンの必要性と機械学習ライフサイクル
機械学習デザインパターンの必要性と機械学習ライフサイクル
 

Recently uploaded

Understanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSageUnderstanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSage
Globus
 
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Globus
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
Fermin Galan
 
GlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote sessionGlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote session
Globus
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
Globus
 
Graphic Design Crash Course for beginners
Graphic Design Crash Course for beginnersGraphic Design Crash Course for beginners
Graphic Design Crash Course for beginners
e20449
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
Adele Miller
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
Matt Welsh
 
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
XfilesPro
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
Max Andersen
 
Into the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdfInto the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdf
Ortus Solutions, Corp
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
Juraj Vysvader
 
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Globus
 
2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx
Georgi Kodinov
 
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Globus
 
Accelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with PlatformlessAccelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with Platformless
WSO2
 
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke
 
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
informapgpstrackings
 
A Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdfA Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdf
kalichargn70th171
 
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
Google
 

Recently uploaded (20)

Understanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSageUnderstanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSage
 
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
 
GlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote sessionGlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote session
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
 
Graphic Design Crash Course for beginners
Graphic Design Crash Course for beginnersGraphic Design Crash Course for beginners
Graphic Design Crash Course for beginners
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
 
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
 
Into the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdfInto the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdf
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
 
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
 
2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx
 
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
 
Accelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with PlatformlessAccelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with Platformless
 
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume Montevideo
 
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
 
A Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdfA Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdf
 
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
 

A Taxonomy for Program Metamodels in Program Reverse Engineering

  • 1. A Taxonomy for Program Metamodels in Program Reverse Engineering Hironori Washizaki1, Yann-Gael Gueheneuc2, Foutse Khomh2 ICSME 2016, Oct 5, 2016 H. Washizaki, Y-G. Gueheneuc, F. Khomh, “A Taxonomy for Program Metamodels in Program Reverse Engineering,” 32nd IEEE International Conference on Software Maintenance and Evolution (ICSME 2016) 1 2 SYSTEM INFORMATION CO., LTD.
  • 2. What Are Program Metamodels? 2 Abstract represen tation Program source code Reverse Grammar Metamodel Class Method Attribute Inheritance Definition Invocation Access FAMIX (excerpt.) Entity Relationship KDM (excerpt.) Forward Models of grammars, which represent target programs according to a specific purpose
  • 3. What’s the problem? 3 Statement Method Transformation ・・・ Package Class ・・・ History ・・・ Tool developer Researcher How to select? Reverse engineer How to communicate?How to design? Concepts are not uniformly recognized Need a common vocabulary Existing comparisons (e.g., [Jin06][Izq14]) were conducted Independently. No common classification. Need a comprehensive taxonomy and classification based on the vocabulary “Program meta model” [Li, HICSS’17] “Database schema” [Ish, VISSOFT’16] [Li17] J. Li, K. Sakamoto, H. Washizaki, et al., “Promotion of Educational Effectiveness by Translation-based Programming Language Learning Using Java and Swift,” HICSS 2017 [Ish16] R. Ishizue, H. Washizaki, et al., “Metrics visualization technique based on the origins and function layers,” VISSOFT 2016 [Jin06] D. Jin and J. R. Cordy, “Integrating reverse engineering tools using a service-sharing methodology,” ICPC’06 [Izq14] J. L. C. Izquierdo and J. G. Molina, “Extracting models from source code in software modernization,” SoSyM 13(2), 2014
  • 4. Research Goal and Method 4 To provide a comprehensive taxonomy and use this taxonomy to classify some popular metamodels (1) Conceptual Framework Taxonomy 62 papers 1200+ papers Metamodels X X X X X ・・・ ・・・ M1 M2 M5 (2) SLR (3) Analysis (4) Classification "meta model" AND ("source code” OR program*) AND (extract* OR transform* OR generat*) Engineering Village covers 12 trusted databases incl. Ei Compendex and Inspec http://www.engineeringvillage.com/ fa fb fc
  • 5. (1) Conceptual framework 5 Metasyntax Grammar Program Meta language Program metamodel Program model Metasyntax of schema Exchange format Model data conforms describes can be mapped to describes can be mapped to class C { void m() { ... } <class/> <name>C </name> ... C: Class m: Method Grammarware Modelware Dataware conforms
  • 6. (2-3) ProMeTA: Program Metamodel Taxonomy 6 Program Metamodel Target Language Abstraction Level Meta-Language Exchange Format Processing Env. Definition Meta and History Quality Optional OR XOR
  • 7. (2-3) ProMeTA – Target Language 7 Program Metamodel Target Language Abstraction Level Meta-Language Exchange Format Processing Env. Definition Meta and History Quality Independence Supported Langs Java C ・・・ Optional OR XOR
  • 8. (2-3) ProMeTA – Abstraction Level 8 Program Metamodel Target Language Abstraction Level Meta-Language Exchange Format Processing Env. Definition Meta and History Quality High Middle Low System Module ・・・ Optional OR XOR
  • 9. (2-3) ProMeTA – Meta-Language 9 Program Metamodel Target Language Abstraction Level Meta-Language Exchange Format Processing Env. Definition Meta and History Quality Meta-Metamodel Metasyntax of Grammar Graph Tree Only Optional OR XOR
  • 10. (2-3) ProMeTA – Exchange Format 10 Program Metamodel Target Language Abstraction Level Meta-Language Exchange Format Processing Env. Definition Meta and History Quality Encoding Transfer Mechanism Text Binary Abstract Syntax Exchange Pattern Exchange Format Quality Optional OR XOR
  • 11. (2-3) ProMeTA – Processing Environment 11 Program Metamodel Target Language Abstraction Level Meta-Language Exchange Format Processing Env. Definition Meta and History Quality Navigation Extractor GPL Query Analysis Transformation Optional OR XOR
  • 12. (2-3) ProMeTA – Program Meta and History 12 Program Metamodel Target Language Abstraction Level Meta-Language Exchange Format Processing Env. Definition Meta and History Quality Language Soft. Ver. File Date File Ver. History Ver. Change Optional OR XOR
  • 13. (2-3) ProMeTA – Definition 13 Program Metamodel Target Language Abstraction Level Meta-Language Exchange Format Processing Env. Definition Meta and History Quality Strategy Clarity Locality Auto Manual Optional OR XOR
  • 14. (2-3) ProMeTA – Quality 14 Program Metamodel Target Language Abstraction Level Meta-Language Exchange Format Processing Env. Definition Meta and History Quality Performance UsabilityCompatibilityFunctional Suitability Reliability Portability Maintainability Reusability ModifiabilityISO/IEC 25010 quality model adopted Optional OR XOR
  • 15. 15 M Target Language High Middle Lexical Structure Syntax Semantics Dialects T1 T2 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 A14 A15 A16 A17 A18 A19 A20 M1 Independent Java, Delphi X X X X X X X X X X X X X M2 Independent Java, PL/SQL X X X X X X X X X X X X X X M3 Object-Oriented Java, C++, Ada, Smalltalk X X X X X X M4 Object-Oriented Java, C++ X X X X X X M5 Independent Java, C++, C X X X X X X X X M Meta-Language Exchange Format L1 L2 L3 L4 E1 E2 E3 E4 E5 E6 E7 E8 E9 E10 E11 E12 E13 E14 E15 E16 E17 E18 E19 E20 F21 F22 M1 MOF Text File Transfer XMI, XSD Exp Ext + + ++ ++ ++ ++ + + ++ + + Exp Ext M2 MOF Text File Transfer XMI Exp Ext + + ++ ++ ++ ++ + + ++ + + Exp Ext M3 UML Text Text Stream XMI, CDIF Exp Ext + + ++ ++ ++ ++ + + ++ + + Exp Ext M4 UML Text File Transfer XMI Exp Ext + + ++ ++ ++ ++ ++ + + Exp Ext M5 X Binary Direct RDB Imp Int - - - - - - - - - Imp Int M Processing Environment P1 P2 P3 P4 P5 P6 P7 P8 P9 M1 OCL, KDM Analysis Package MoDisco (dedicated parsers), Gra2MoL KDM Target Mapping & Transformation Package X M2 OCL, Modisco Java Model Query MoDisco (KDM Source Discovery, Java Discoverer) ADM tools X X M3 MOOSE Navigation and Querying Engine MOOSE MOOSE Refactoring Engine X X M4 X Datrix X X M5 SQL SPOOL (dedicated extractors) X M Definition Program Meta and History Data Functionality D1 D2 D3 H1 H2 H3 H4 H5 H6 H7 Q1 Q2 Q3 Q4 Q5 Q6 Q7 M1 Manually Exp Ext X + Embedded Manual + + M2 Manually Exp Ext X + Embedded Manual + + M3 Manually Exp Ext + M4 Manually Exp Int + + M5 Manually Imp Int Dependency analysis M Non-Functionality Q8 Q9 Q10 Q11 Q12 Q13 Q14 Q15 Q16 Q18 Q19 Q20 Q21 Q22 Q23 Q24 Q25 M1 - Doc, Sample, Community ++ ++ + + Free Fully Inheritance, Composition + ++ Fully ++ + + M2 Doc, Sample, Community ++ ++ + + Free Fully Package Inheritance, Composition + ++ Fully ++ ++ + M3 Doc, Sample, Community ++ ++ + Free Fully Inheritance, Composition + ++ Fully ++ ++ + M4 ++ - - Free Unavailable Inheritance, Composition + - Partially + + M5 - - - Free Unavailable - - Partially - -
  • 16. (4) Classification Results and Findings • Metamodels can be reused for major languages (Java, C++) • Better to choose/create metamodels defined by explicitly- externally defined major metalanguages/exchange formats • Most are suitable for transformations and program analysis • Few supports to describe meta and history data 16 Lang Abst Meta Exch Env. Hist Defi Func Qual ASTM any M L MOF XMI OCL, MoDisco Lang Ext General ++ KDM any H M L MOF XMI OCL, MoDisco Ver. Ext General ++ FAMIX OOP M UML MSE MOOSE Ext General ++ SPOOL OOP M UML XMI Datrix Int General + UNIQ any M L EBNF RDB SPOOL, SQL Int Dependency Abstract Syntax Tree Metamodel (ASTM), Knowledge Discovery Meta-Model (KDM) FAMOOS Information Exchange Model (FAMIX)
  • 17. Conclusion and Future Work • Contribution – A conceptual framework – A comprehensive taxonomy, named ProMeTA – A classification of existing popular program metamodels • Future work – Validate ProMeTA by conducting experiments – Make ProMeTA available and modifiable to the community 17
  • 18. Thanks! Questions? 18 Research Goal and Method 6 To provide a comprehensive taxonomy and use this taxonomy to classify some popular metamodels (1) Conceptual Framework Taxonomy 62 papers 1200+ papers Metamodels X X X X X ・・・ ・・・ M1 M2 M5 (2) SLR (3) Analysis (4) Classification "meta model" AND ("source code” OR program*) AND (extract* OR transform* OR generat*) (1) Conceptual framework 7 Metasyntax Grammar Program Meta language Program metamodel Program model Metasyntax of schema Exchange format Model data conforms describes can be mapped to describes can be mapped to class C { void m() { ... } <class/> <name>C </name> ... C: Class m: Method Grammarware Modelware Dataware (2-3) ProMeTA: Program Metamodel Taxonomy 8 Program Metamodel Target Language Abstraction Level Meta-Language Exchange Format Processing Env. Definition Meta and History Quality (4) Classification Results and Findings • If the target language is a major one like Java or C++, existing metamodels and tools may be reused. • Better to choose/create metamodels defined by widely accepted, explicitly-externally defined metalanguages/formats • Most are suitable for transformations and program analysis. • Few supports to describe meta and history data 17 Lang Abst Meta Exch Env. Hist Defi Func Qual ASTM any M L MOF XMI OCL, MoDisco Lang Ext General ++ KDM any H M L MOF XMI OCL, MoDisco Ver. Ext General ++ FAMIX OOP M UML MSE MOOSE Ext General ++ SPOOL OOP M UML XMI Datrix Int General + UNIQ Any M L EBNF RDB SPOOL, SQL Int Dependency Abstract Syntax Tree Metamodel (ASTM), Knowledge Discovery Meta-Model (KDM), FAMOOS Information Exchange Model (FAMIX), SPOOL, UNIQ-ART