A Patterns Based Reverse Engineering Approach for Java Source Code

Rui Couto, Antonio Nestor Ribeiro, Jose Creissac Campos
2012 2012 35th Annual IEEE Software Engineering Workshop  
The ever increasing number of platforms and languages available to software developers means that the software industry is reaching high levels of complexity. Model Driven Architecture (MDA) presents a solution to the problem of improving software development processes in this changing and complex environment. MDA driven development is based on models definition and transformation. Design patterns provide a means to reuse proven solutions during development. Identifying design patterns in the
more » ... dels of a MDA approach helps their understanding, but also the identification of good practices during analysis. However, when analyzing or maintaining code that has not been developed according to MDA principles, or that has been changed independently from the models, the need arises to reverse engineer the models from the code prior to patterns' identification. The approach presented herein consists in transforming source code into models, and infer design patterns from these models. Erich Gamma's cataloged patterns provide us a starting point for the pattern inference process. MapIt, the tool which implements these functionalities is described. IEEE 35th Software Engineering Workshop 1550-6215/13 $26.00
doi:10.1109/sew.2012.21 dblp:conf/sew/CoutoRC12 fatcat:h7raxkxzbfbqtja6pxpbgp6psy