Ptidej: A Flexible Reverse Engineering Tool Suite

The Ptidej project started in 2001 to study code generation from and identification of design patterns. Since then, it has evolved into a complete reverse-engineering tool suite that includes several identification algorithms for idioms, micro-patterns, design patterns, and design defects. It is a flexible tool suite that attempts to ease as much as possible the development of new identification and analysis algorithms. In this demonstration, we first present the key features of the tool suite and several identification algorithms. We then discuss the architecture and design choices of the tool suite and lessons learned in developing the suite.