Speaker: Professor Carlo Ghezzi, Polytechnic University of Milan, Italy
Title: Formal methods and continuous change: towards a happy marriage
Formal methods are often viewed as heavy-weight approaches that cannot be practically applied, especially in highly dynamic contexts. For example, agile methods often dismiss them and deprecate upfront design activities: requirements are replaced by user stories, specification is replaced by tests. My recent past research has shown instead that highly dynamic systems where (self) adaptation must be achieved at run time need formal models and verification to even be brought to run time. This, however, requires revisiting formal methods to make them applicable at run time, to work under strict and even severe time constraints. Does this lesson tell us anything about what needs to be done to bring formal methods into the whole software process, from conception to operation to evolution? Why has test-driven development shaped iterative, change-oriented, agile processes while formal modelling and verification are largely dismissed? Why is software evolution and change still practiced with little or no use of formal methods? Why should we try to change this situation? I will argue that formal methods and continuous change can be reconciled and combined through a happy marriage. I will discuss why this is important and I will argue about what should be done to make this happen.
Carlo Ghezzi is an ACM Fellow (1999), an IEEE Fellow (2005), a member of the European Academy of Sciences and of the Italian Academy of Sciences. He received the ACM SIGSOFT Outstanding Research Award (2015) and the Distinguished Service Award (2006). He is the current President of Informatics Europe. He is a regular member of the program committee of flagship conferences in the software engineering field, such as the ICSE and ESEC/FSE, for which he also served as Program and General Chair.] He has been the Editor in Chief of the ACM Trans. on Software Engineering and Methodology and an associate editor of and IEEE Trans. on Software Engineering. Currently he is an Associate Editor of the Communications of the ACM and Science of Computer Programming. Ghezzi’s research has been mostly focusing on different aspects of software engineering. He co-authored over 200 papers and 8 books. He coordinated several national and international research projects. He has been the recipient of an ERC Advanced Grant.