ESEM Keynotes

Bertrand Meyer: Empirical Research: Questions from Software Engineering

The premise of empirical software engineering is that methods and tools should undergo objective assessment. Many empirical studies, however, fail to give conclusive evidence on the questions of fundamental interest in software engineering. If empirical software engineering cannot answer such questions, its benefit is debatable.

I will present a number of fundamental but open questions, pertaining to the software process and to modern trends in software methodology, and will outline how answers could be obtained through empirical research.

downloadDownload slides


Bertrand Meyer is Professor of Software Engineering at ETH Zurich and chief architect at Eiffel Software. He is the author most recently of the introductory programming textbook "Touch of Class" (Springer).

Carlo Ghezzi: The Disappearing Boundary Between Development-time and Run-time

Modern software systems are increasingly embedded in an open world that is constantly evolving, because of changes in the requirements, in the surrounding environment, and in the way people interact with them. The platform itself on which software runs may change over time, as we move towards cloud computing. These changes are difficult to predict and anticipate, and their occurrence is out of control of the application developers. Because of these changes, the applications themselves need to change. Increasingly, changes in the applications cannot be handled by re-playing the development process off-line in the maintenance phase, but require the software to self-react by adapting its behavior dynamically, to continue to ensure the desired quality of service. The big challenge in front of us is how to achieve the necessary degrees of flexibility and dynamism required by software without compromising the necessary dependability.

This talk advocates that future software engineering research should focus on providing intelligent support to software at run-time, breaking today's rigid boundary between development-time and run-time. Analysis and verification, modeling, software update and configuration must be part of the run-time toolset. Models need to continue to live at run-time and evolve as changes occur while the software is running. To ensure dependability, analysis that the updated system models continue to satisfy the goals must be performed by continuous verification. If verification fails, suitable adjustment policies, supported by model-driven re-derivation of parts of the system, must be activated to keep the system aligned with its expected requirements.

Empirical software engineering research might also contribute by focusing on empowering the run-time environment with collection and analysis of data that may support software evolution. This is important not only in the case where software must self-adapt to changes, but also to support software engineers while performing off-line software evolution.

downloadDownload slides


Carlo Ghezzi is a Professor and Chair of Software Engineering in the Department of Electronics and Information of Politecnico di Milano. He is the Rector's delegate for research, past member of the Academic Senate and of the Board of Governors, and past Department Chair. He held temporary positions at University of California at Los Angeles, University of North Carolina at Chapel Hill, University of Padova, ESLAI-Buenos Aires, University of California at Santa Barbara, Technical University of Vienna, University of Klagenfurt, University of Lugano.

He is an ACM Fellow, an IEEE Fellow, and a member of the Italian Academy of Sciences. He was awarded the ACM SIGSOFT Distinguished Service Award (2006). He is a member of the ACM Council. He has been a member of the ACM Nominating Committee and of the ACM Software Systems Award. He has been on the evaluation board of several international research projects and institutions in Europe, Japan, and the USA.

He is a regular member of the program committee of important conferences in the software engineering field, such as the ICSE and ESEC/FSE, for which he also served as Program and General Chair. He was General Co-Chair of the International Conference on Service Oriented Computing.

Ghezzi has been the Editor in Chief of the ACM Trans. on Software Engineering and Methodology (from 2001 till 2006). He is currently an Associate Editor of the Communications of the ACM, IEEE Trans. on Software Engineering, Science of Computer Programming, Service Oriented Computing and Applications, and Software Process Improvement and Practice.

Ghezzi’s research has been focusing on software engineering and programming languages. Currently, he is especially interested in methods and tools to improve dependability of adaptable and evolvable distributed applications, such as service-oriented architectures and ubiquitous/pervasive computer applications. He co-authored over 180 papers and 8 books. He coordinated several national and international (EU funded) research projects. He has recently been awarded an Advanced Grant from the European Research Council.

Steven Fraser: Software "Best" Practices: Tales of Adoption and Agility through Iteration

Software "best" practices have been increasingly embraced through a mix of enthusiast passion and practical need. Agile practices no longer have the luxury of “choosing” small non-mission-critical projects with co-located teams as first suggested by early practitioners. This keynote will outline a variety of "best" practices and processes to share observations on approaches and adoption.


Steven Fraser is the Director of the Cisco Research Center in San Jose California with responsibilities for developing university research collaborations and facilitating technology transfer between researchers and Cisco Business Units. Previously, Steven was a member of Qualcomm's Learning Center in San Diego, California enabling technical learning and development in software engineering best practices. Steven held a variety of technology roles at Bell-Northern Research and Nortel including Process Architect, Senior Manager (Global External Research), and Design Process Advisor. In 1994, he was a Visiting Scientist at the Software Engineering Institute (SEI) at Carnegie Mellon University (CMU) collaborating on the development of team-based domain analysis (software reuse) techniques. Fraser was the XP2006 General Chair, the Corporate Support Chair for OOPSLA'07 and OOPSLA’08, Tutorial Chair for both XP2008 and ICSE 2009 and co-Publicity Chair for XP2010. With a doctorate in Electrical Engineering from McGill University in Montréal, Fraser is a member of the ACM, a senior member of the IEEE, and a frequent impresario of conference panels and special events.