2024: A Domain Specific Language for Streamlining CI Job Configuration for Programming Exercises

Master's theses

Andreas Resch




Continuous Integration (CI) has become a pivotal element in software development, automating processes such as testing, linting, and compilation of developed code. In the realm of applied software engineering education, particularly in Artemis, an online learning platform, CI plays a crucial role in enhancing the learning experience through automated feedback on programming exercises. However, the existing feature disparity and different configuration languages among various CI platforms usable with Artemis, leads to difficulties in replacing these systems seamlessly, creating a vendor lock-in scenario. This thesis proposes a Domain-Specific Language (DSL) named Aeolus, aimed at streamlining CI job configuration. The main objective is the development of an abstraction layer that reduces dependency on specific CI systems, enhancing usability, maintenance, and extensibility in programming exercise contexts. The new layer is designed to enhance portability and usability by allowing the use of the same CI configuration across different platforms. The core of this thesis is the development of Aeolus. The system is specifically crafted to address the challenges in the CI configuration within Artemis by providing a structured and unified approach to the configuration of CI systems. By enabling user-friendly configuration of continuous integration jobs, Aeolus reduces the time required to customize new programming exercises and lessens the dependency on the underlying CI platform.

Head of Research Group

Prof. Dr. Stephan Krusche

Administrative office

Sophia Adelmeier

Office: 01.07.052
Phone: +49 (89) 289-18206
Fax: +49 (89) 289-18207 Boltzmannstraße 3
85748 Garching b. München