Date : 25 novembre 2020, 12h30
Lieu : Zoom : https://uqam.zoom.us/j/94907248725
Titre : Modular Moose: A platform for in-the-large and in-the-small reverse engineering
As the body of existing source code grows larger and larger, advanced reverse engineering tools are required to cope with the complexity of software systems and their own specific requirements (different technologies, domains, knowledge, tasks). Consequently, analysis 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 platform 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. Moose has also to evolve to address the difficulties faced over its intensive use. In this talk I will show how Moose has been redesigned to ease: inclusion of new programming languages by reusing and composing elementary program elements, a new toolset and a new tool architecture supporting multiple concurrent views with separate synchronisation policies.
I completed my PhD in 1996 at University of Montréal. Since then, I worked successively at University of Ottawa (Canada), Federal University of Rio de Janeiro (Brazil), Catholic University of Brasilia (Brazil), and Ecole des Mines de Nantes (France). I am now Associate Professor (MCF / HDR) at University of Lille and member of the RMod research team. My research interests cover about anything that has to do with software maintenance and evolution. Currently, in the INRIA/RMod team, I am working on reverse engineering. Because « We cannot control what we cannot measure », I am also interested in software quality topics, to measure the maintenance activity and legacy software. In the past, I worked on the following sub-topics in relation with software maintenance: sociological aspects (Why is maintenance negatively perceived when it is the most practiced activity in organizations?); knowledge management (How to recover the knowledge embedded in legacy software?); maintenance management (software quality, risk management, …)