Measuring Energy Consumption during Continuous Integration of Open-Source Java Projects

Master Thesis (2024)
Authors

R.F. Arntzenius (TU Delft - Electrical Engineering, Mathematics and Computer Science)

Supervisors

Andy Zaidman (TU Delft - Software Technology)

Faculty
Electrical Engineering, Mathematics and Computer Science
More Info
expand_more
Publication Year
2024
Language
English
Graduation Date
09-10-2024
Awarding Institution
Delft University of Technology
Programme
Computer Science
Faculty
Electrical Engineering, Mathematics and Computer Science
Reuse Rights

Other than for strictly personal use, it is not permitted to download, forward or distribute the text or part of it, without the consent of the author(s) and/or copyright holder(s), unless the work is under an open content license such as Creative Commons.

Abstract

Continuous Integration (CI) is a widely used quality-assurance measure within software development. It empowers developers to spot bugs and integration issues early in the development cycle and helps to maintain a coherent codebase, both in terms of quality and styling, even in open-source environments. But CI might have a hidden cost. Projects need to be built and tested continuously throughout the development cycle. It is not uncommon for projects to have multiple commits per day, reaching thousands of commits per year, with each commit having one or multiple build and test cycles. In this thesis, over 200 open-source Java projects were measured with the aim of making developers more aware of how much energy these builds can take and the measures that can be taken to reduce energy consumption where possible.

Files

License info not available