Modular Moose: A New Generation of Software Reverse Engineering Platform

Nicolas Anquetil,Anne Etien,Mahugnon H. Houekpetodji,Benoit Verhaeghe,Stéphane Ducasse,Clotilde Toullec,Fatiha Djareddir,Jerôme Sudich,Moustapha Derras
DOI: https://doi.org/10.1007/978-3-030-64694-3_8
2020-01-01
Abstract:Advanced reverse engineering tools are required to cope with the complexity of software systems and the specific requirements of numerous different tasks (re-architecturing, migration, evolution). Consequently, reverse engineering tools should adapt to a wide range of situations. Yet, because they require a large infrastructure investment, being able to reuse these tools is key. Moose is a reverse engineering environment answering these requirements. While Moose started as a research project 20 years ago, it is also used in industrial projects, exposing itself to all these difficulties. In this paper we present ModMoose, the new version of Moose. ModMoose revolves around a new meta-model, modular and extensible; a new toolset of generic tools (query module, visualization engine, ...); and an open architecture supporting the synchronization and interaction of tools per task. With ModMoose, tool developers can develop specific meta-models by reusing existing elementary concepts, and dedicated reverse engineering tools that can interact with the existing ones.
What problem does this paper attempt to address?