In the first part of this seminar I will present the challenges any reasonable software is facing: the urge to evolve.
I will present the characteristics of large industrial systems and sketch a vision around what could build our industry: ever-running systems. Imagine software running uninterrupted during 30 years. (GemstoneSyst Corp is one of the rare companies supporting this. They sign contracts stating that an application can not be off more than 30 min per year, every extra minute is charged 30 K$).
I will also present some research we did over the last 10 years around software evolution using the Moose platform (http://moosetechnology.org).
I will cover visualisations, metrics, refactorings, automated migration, automated software update, UI migration, test selection.
In the second part of this seminar I will talk about reflective systems.
Indeed, if we want to be able to build ever-running systems we should think that the systems should have a causal connexion of their own representation. As an example I will take Pharo (http://www.pharo.org), the language we develop with its consortium (http://consortium.pharo.org).
I will show what it is to program in a live environment where the programmer can mold the object representation to its own focus. Then I will show that with on demand stack reification, we can easily build control flow break point or automatic code transformation at runtime. I will sketch some research challenges for such systems.
Stéphane Ducasse is INRIA Research Director. He leads the RMoD team. He is an expert in language design and reengineering. He has worked on traits, which were introduced in Pharo, Perl, PHP, and under a variant into Scala, Groovy and Fortress. He is an expert on software quality, program understanding, program visualisations, reengineering and metamodeling. He is one of the developers of Moose, an open-source software analysis platform. He created Synectique, a company building dedicated tools for advanced software analyses. He is one of the leaders of Pharo, a dynamic reflective object-oriented language supporting live programming. He has built the industrial Pharo consortium. He works regularly with companies (Thales, Wordline, Siemens, Berger-Levrault, Arolla,…) on software evolution problems.
He has written a couple hundred articles and several books. According to Google his h-index is 55 for more than 12800 citations. He likes to help people becoming what they want and building things.