Use, Misuse, and Reuse of Continuous Integration Features

Prof. Shane McIntosh | May 2, 2019 | 14:00 | N.1.42


Continuous Integration (CI) is a popular practice where software systems are automatically compiled and tested as changes appear in the version control system of a project. Like other software artifacts, CI specifications, which describe the CI process, require maintenance effort. In this talk, I will describe the results of an empirical analysis of patterns of feature use and misuse in the Travis CI specifications of 9,312 open source systems. To help developers to detect and remove patterns of misuse, we propose Hansel and Gretel, anti-pattern detection and removal tools for Travis CI specifications. To help developers to rapidly develop and reuse common CI logic, we propose an extension to the TouchCORE modelling tool that allows users to select high-level features from CI feature models and generate an appropriate CI specification. To support this envisioned tool, we perform an initial analysis of common CI features using association rule mining, which yielded underwhelming results.


Shane McIntosh is an assistant professor in the Department of Electrical and Computer Engineering at McGill University, where he leads the Software Repository Excavation and Build Engineering Labs (Software REBELs). He received his PhD in Computer Science from Queen’s University, for which he was awarded the Governor General of Canada’s Academic Gold Medal. In his research, Shane uses empirical software engineering techniques to study software build systems, release engineering, and software quality. More about his work is available online at

Please follow and like us:
Posted in TEWI-Kolloquium | Kommentare deaktiviert für Use, Misuse, and Reuse of Continuous Integration Features