Séminaire: Shane McIntosh

Qui? Shane McIntosh, Professeur assistant, McGill University Quand? Mercredi 7 octobre 2015 à 12:15  Où? PK-5115 Titre A Unified Framework for the Comprehension of Software’s Time Dimension Résumé: Modern software is developed at a breakneck pace. While the software releases of the past would take several months or even years to prepare, modern software organizations like Google, LinkedIn, Amazon, and Facebook release several times daily. Indeed, contemporary techniques like continuous delivery hasten the tempo at which software organizations can produce official releases by automatically packaging and deploying changes to the source code of a software system that satisfy automated testing criteria. At the heart of the rapid release cycle of modern software systems is the build system, i.e., the system that specifies how source code is translated into deliverables (e.g., makefiles, Maven pom.xml files). An efficient build system that quickly produces updated versions of a software system is required to keep up with competitors. The rapid release cycle fueled by continuous delivery would be error-prone (and thus, too risky) without a robust and reliable build system. However, the benefits of an efficient build system come at a cost —build systems introduce overhead on the software development process. For example, maintenance overhead is generated by the need to keep the build system in sync with other software artifacts, such as the source code and testing infrastructure. Furthermore, execution overhead is introduced by the slow nature of using the build system to generate (or regenerate) system deliverables. In this talk, I will discuss the findings of our empirical analysis of 3,872 open source build systems. Our results indicate that there are concrete steps that software organizations can take to mitigate the overhead introduced by build systems. I will also show that build systems provide a unique source of information about a software system. For example, in recent work, we use a graph derived from build systems to detect license compliance inconsistencies that prompted rapid reactions from three open source systems. Biographie Shane McIntosh is an Assistant Professor in the Department of Electrical and Computer Engineering at McGill University. He received his Bachelor’s degree from the University of Guelph and his MSc and PhD degrees from Queen’s University, where he held an NSERC Vanier Scholarship. In his research, Shane uses empirical software engineering techniques to study software build systems, release engineering, and software quality. His research has been published at several top-tier software engineering venues, such as the International Conference on Software Engineering (ICSE), the International Symposium on the Foundations of Software Engineering (FSE), and the Springer Journal of Empirical Software Engineering (EMSE). Shane actively collaborates with academics in Canada, the Netherlands, Singapore, Brazil, and Japan, as well as industrial practitioners in Germany and the USA. More about Shane and his work is available online at http://shanemcintosh.org/ Présentation

Comments are closed.