Patterns for Program Reverse Engineering from the Viewpoint of Metamodel, accepted at PLoP 2016 (CORE Rank B).

Hironori Washizaki, Yann-Gael Gueheneuc, Foutse Khomh, “Patterns for Program Reverse Engineering from the Viewpoint of Metamodel,” 23rd Conference on Pattern Languages of Programs (PLoP 2016), Monticello, Illinois, USA, OCTOBER 24-26, 2016. (to appear)(CORE Rank B)

Reverse engineering tools often define their own metamodels according to their purposes and intended features. These tools and metamodels have advantages that may benefit other metamodels as well as limitations that other metamodels may solve. To guide practitioners (and researchers) in selecting, integrating, and using appropriate tools, we propose a preliminary pattern catalog for program reverse engineering from the program metamodel viewpoint based on our conceptual framework in consideration of both grammarware and modelware approaches. The catalog consists of one metapattern, Transformation to higher abstraction levels, and three concrete patterns, Integrated program reverse engineering, Fact extraction, and Architecture recovery. The intended audience of these patterns is practitioners (and researchers) such as software maintainers who desire to comprehend a program. In addition, these patterns may be helpful for tool developers (and researchers) creating reverse engineering tools.