Bringing runtime measurement CI/CD to Embedded Automotive Development

Abstract - In modern software development, Continuous Integration and Continuous Deployment (CI/CD) pipelines are essential for maintaining high code quality and accelerating release cycles. However, applying these principles to embedded systems, particularly in the automotive domain, poses unique challenges due to hardware dependencies and limited runtime environments. This article introduces TwinSpace, a research project designed to bridge this gap by integrating CI practices into the embedded software development process. TwinSpace enables early performance evaluation through automated measurement workflows that function even before executable code is available. By incorporating TwinSpace tools into CI pipelines, the framework allows for continuous performance monitoring and data-driven hardware selection. This approach not only enhances transparency regarding performance behavior during development but also helps detect inefficient implementations early, paving the way for more efficient and reliable embedded software systems in the automotive industry.
TwinSpace Continuous Integration Pipeline Example

In modern software development, well-established Continuous Integration and Continuous Deployment (CI/CD) pipelines have become indispensable. They significantly improve code quality and greatly reduce the effort required for the final release, as the necessary steps are already carried out incrementally throughout the development process. In embedded programming, particularly in the automotive domain, the implementation of such pipelines is more complex. This is where our research project TwinSpace comes into play, representing a crucial step toward a modern development environment in the automotive and embedded industries.

A central aspect of our project is the early identification of performance requirements for the software under development. Through this proactive approach, we can make well-founded decisions regarding hardware selection, thereby laying the foundation for optimized system performance.

By integrating CI practices, we aim to transform development processes and create an awareness of software performance behavior even in the early stages of development, when executing the code is not yet feasible. With the TwinSpace approach, for example, automatic performance measurements can be carried out after code changes.

To achieve this, the components developed within the TwinSpace approach (extractors, generators, and prototyping systems) are integrated into a CI pipeline to enable automated measurement.

In this process, the developed code is transferred into LPDL by one or more extractors. This intermediate representation is then temporarily stored and translated back into C code by a generator. This C code, from which the original functionality can no longer be inferred, is built using the prototyping system and flashed onto a remote target. There, measurements are performed and made available to the developer.