Optimizing CI/CD Pipelines for Embedded Software: Addressing Constraints, Effectiveness, and Multi-Variant Complexity
avoin
Julkaisu on tekijänoikeussäännösten alainen. Teosta voi lukea ja tulostaa henkilökohtaista käyttöä varten. Käyttö kaupallisiin tarkoituksiin on kielletty.
Lataukset1
Pysyvä osoite
Verkkojulkaisu
DOI
Tiivistelmä
Continuous Integration and Continuous Delivery (CI/CD) practices remain difficult to adopt in embedded software development. This is due to hardware dependencies, heterogeneous test environments, lengthy validation cycles, and complex product variants. This thesis explores how these constraints manifest in an industrial GNSS firmware project and how changes to the pipeline can improve CI/CD performance under such conditions. The research uses a structured literature review, a survey of developer perceptions, and technical experiments on an industrial CI pipeline. The analysis considers both technical and organizational aspects of embedded CI/CD, such as build architecture, development practices, test strategies, and product-variants management. It also identifies several system constraints, such as critical dependency paths, pipeline orchestration, test execution latency, and the maintainability of pipeline scripts. Based on these empirical findings, the thesis designs and evaluates targeted optimization strategies, including declarative CI templates, dynamic test selection, and the use of modern CI platform features. The empirical analysis found that CI/CD optimization is inherently a multidimensional challenge: technical, architectural, and organizational constraints are tightly coupled, and no single optimization technique is sufficient alone. Finally, the thesis discusses how AI-assisted development is likely to accelerate development throughput in large-scale projects, while not eliminating underlying hardware or architectural bottlenecks. As a result, scalable and maintainable CI/CD infrastructure will become increasingly important for large embedded software projects.