Title: Formal methods and agile development: towards a happy marriage
Speaker: Carlo Ghezzi ( Politecnico di Milano )
Time: 10:00am, Tuesday, April 25, 2017
Venue: Room 334, Building 5, Institute of Software, Chinese Academy of Sciences
Change has been recognized as the distinguishing feature that makes software different from any other human-produced artifact. Initial reflections on the urgent and unavoidable need to master change date back to the 1970s. However, despite the continuous progress that characterized software technology since, in practice software change is still often handled as an afterthought, in an ad-hoc and unprincipled manner. Agile development methods have been proposed and are now widely adopted to accommodate change during development. Recent extensions to also include operation–known as DevOps–are increasingly, and successfully, adopted by industry. Still, principled and rigorous foundations that can be taught, practiced, and replicated systematically are lacking.
This talk argues that change has to become a first-class concept, and that the development tools used by engineers and the runtime environment supporting software execution should be structured in a way that naturally accommodates change. It also provides a perspective along which several research approaches that were investigated by the community in the past decade might be integrated and extended to make this vision become true.
Two main change categories are identified–evolution and adaptation–along with the forces that drive them. We will discuss when and how the developed software can be designed in a way that it can self-adapt. We will also discuss how the software itself can cooperate with humans in-the-loop to help them in their design and development efforts. Finally, we will outline a roadmap of future work needed to progress in the direction of supporting and automating software change that would lead to dependable adaptation and evolution.
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. He is currently collaborating with Peking University on the research project "Self-Adaptive System Modeling and Management", funded by the National Science Foundation of China under grant n. 61620106007.