Seminar by Philippe Dugerdil

A reverse modeling-based tool to help with legacy source code understanding

Philippe Dugerdil
Geneva School of Business Administration.

    Date:    Thursday, February 16th, 2012
    Time:    5PM
    Venue:   CS101.

Abstract:

It is commonly admitted that maintenance is the most expensive part in the life cycle of a software system development. This represents between 60% and 90% of the total cost of a program over its life cycle. It is less commonly known (yet extremely interesting) that almost two thirds of the maintenance cost are devoted to software comprehension or understanding. In fact, before being able to maintain a legacy program it is necessary to understand its working and its functional architecture. But software writing is fundamentally a human task. Therefore, the maintenance engineer must understand the way the developer built the software before being able to maintain it. But, to make things worse, many generations of maintenance engineers may have modified the program since its inception. Therefore there is a high probability for the software not to comply with its original architecture, if there was any. For the very same reason, the documentation the original developer may have written is likely to be misleading after several years of modifications. Therefore, the only reliable sources of information that usually remain are the source code and the knowledge the users have about the use of the system.

In this talk, I will present our approach to legacy information system understanding based on the UML analysis model. First I explain the context of program understanding and a limited "theory" of software understanding. Next I present the domain knowledge to source code matching problem and the way we solved it. Then I present some of the tool we developed and specifically the inference engine we implemented to do inexact graph match. Finally I briefly speak about the heuristic algorithm we developed to search the result space. The main issues in dynamic system analysis are covered last with a few comments on source code instrumentation. I conclude the talk with perspectives on future work.

About the speaker:

Dr Philippe Dugerdil is Professor of Software Engineering and Head of Research at the Geneva School of Business Administration of the University of Applied Sciences of Western Switzerland since 2003. Before, he spent 15 years in the software industry, mainly in banking environments. His current research interests are software reverse-engineering, software understanding, software architecture and software processes. Philippe received aPhD Degree in ComputerScience from the Aix-Marseille II University, France (1988), an engineer degree (MSc) in Electrical Engineering from the Swiss Federal Institute of Technology in Lausanne (EPFL) Switzerland (1982) and an MBA degree from the Institute of Management Development (IMD) in Lausanne, Switzerland (2001).

Back to Seminars in 2011-12