Title: Understanding and improving continuous integration and delivery practice using data from the wild
Abstract: Continuous Integration (CI) and Delivery (CD) have been claimed to introduce several benefits in software development, including high software quality reliability, and faster release cycles. However, recent work pointed out challenges, barriers and bad practices characterizing its adoption. This happens especially because many developers are not adequately experiences with the practices, or with the related technology. This talk will outline recent work (by ourselves and by others) aimed at characterizing the CI/CD process from different perspectives. First, the talk will provide an overview of various kinds of anti-patterns related to the CI/CD adoption. Then, it will go more in detail of how certain practices, such as static analysis, testing or code reviews are followed in the context of CI/CD. Last, but not least, the talk will overview approaches to help developers improving their CI/CD practice, also outlining open challenges in this area, and future research directions
Bio: Massimiliano Di Penta is a full professor at the University of Sannio, Italy. His research interests include software maintenance and evolution, mining software repositories, empirical software engineering, search-based software engineering, and software testing. He is an author of over 260 papers that appeared in international journals, conferences, and workshops. He has received several awards for research and service, including four ACM SIGSOFT Distinguished paper awards. According to a recent article that appeared in the JSS journal, he was considered the second-most productive expert researcher in the software engineering area for the period 2010-2017. He serves and has served in the organizing and program committees of more than 100 conferences, including ICSE, FSE, ASE, and ICSME. He will be program co-chair of ESEC/FSE 2021 and of ICSE 2023. He is co-editor in chief of the Journal of Software: Evolution and Processes edited by Wiley, editorial board member of ACM Transactions on Software Engineering and Methodology and Empirical Software Engineering Journal edited by Springer, and has served the editorial board of the IEEE Transactions on Software Engineering.
Title: Formal System Design and Verification: A Perspective
Abstract: I will give a perspective on rigorous design and verification, by reflecting on some design and verification efforts I have worked on with my collaborators over the years. I will recall our experiences using (1) SLAM and Static Driver Verifier: A program verifier applied to check if Windows drivers satisfy safety properties, (2) P: A design language for asynchrony, used to model and do code-generation for asynchronous systems, (3) Trusted Cloud: a system for confidential computing in Azure, and (4) HDEF: a system for heterogeneous extraction of entities from heterogeneous data by combining program synthesis and machine learning. I will draw lessons learned from these experiences both from foundational and practical perspectives.
Bio: Sriram Rajamani is Distinguished Scientist and Managing Director of Microsoft Research India. Sriram is an ACM fellow, INAE fellow, and winner of the Computer Aided Verification Award. His work has impacted both academic and industrial practice in software verification, design and cloud security. He is currently working on combining program synthesis and machine learning.