Modular Moose: A new generation software reverse engineering environment
Nicolas Anquetil, Anne Etien, Mahugnon H. Houekpetodji, Benoit, Verhaeghe, St\'ephane Ducasse, Clotilde Toullec, Fatiha Djareddir, Jer\^ome, Sudich, Mustapha Derras

TL;DR
ModMoose is an extensible, modular reverse engineering environment that supports diverse tasks through a flexible architecture, enabling tool reuse and customization for complex software analysis.
Contribution
It introduces ModMoose, a new version with a modular meta-model, generic tools, and an open architecture for flexible, reusable reverse engineering solutions.
Findings
Supports diverse reverse engineering tasks effectively
Enables reuse and extension of tools and meta-models
Facilitates interaction and synchronization among tools
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…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Engineering Research · Advanced Malware Detection Techniques · Software Testing and Debugging Techniques
