Conference Talk
Auf die Größe kommt es an! Erfahrungen mit kontinuierlicher Binary-Size- Analyse
Auf die Größe kommt es an! Erfahrungen mit kontinuierlicher Binary-Size-Analyse
Auf die Größe kommt es an! Erfahrungen mit kontinuierlicher Binary-Size- Analyse

Die Einhaltung strenger Binärcode-Größen ist in vielen Embedded-Projekten bei limitierten Hardware-Ressourcen oder zur Minimierung von Chip-Kosten unerlässlich. Uns stellt diese Aufgabe häufig vor große Probleme, da wir die Auswirkungen unserer Code-Änderungen auf die resultierende Binärcode-Größe nur schwer abschätzen können. Die Binärcode-Größe wird durch unterschiedlichste Faktoren beeinflusst, darunter Compiler- und Linker-Effekte, das Padding von Datenstrukturen oder die Existenz unterschiedlicher Code-Varianten für verschiedene Hardwarearchitekturen. In der Praxis beschränken sich Maßnahmen zur Einhaltung der Binärcode-Größen meist auf den Einsatz von Schwellwerten, bei deren Überschreitung der Build Prozess bricht. Leider kommt dieses Feedback für uns häufig zu spät, sodass eine nachträgliche Reduktion des Binärcodes sehr aufwändig ist.

Gemeinsam mit einem Kunden haben wir Erfahrungen mit verschiedenen Analysemethoden und Prozessintegrationen zur Einhaltung von Binärcode-Größen gesammelt. Wir nutzen dabei statische Analyse und kontinuierliches Monitoring, um bei Code-Änderungen präzises Feedback zur resultierenden Binärcode-Größe zu erhalten. Die statische Analyse warnt uns bereits in der IDE, falls Code-Änderungen die Binärcode-Größe erhöhen. Die einzelnen Analysen haben wir anhand realer Probleme in Kundencode entwickelt. Sie erkennen beispielsweise duplizierte String-Literale, unnötiges Padding in Datenstrukturen, oder die Verwendung von Datentypen mit zu hoher Präzision. Beim Monitoring prüfen wir für jeden Build die tatsächlichen Änderungen der Binärcode-Größe. Bei Abweichungen zum vorherigen Build erhalten wir für jede Code-Variante Feedback, welche Quellcode-Änderungen in welchem Ausmaß verantwortlich sind. Erste Erfahrungen belegen durch den beschriebenen Ansatz eine signifikant verbesserte Transparenz zur effektiven Einhaltung und sogar eine Reduktion der Binärcode-Größen.

Im Vortrag stelle ich Grundlagen von Binary-Size-Analysen, Empfehlungen bei der Integration in den Entwicklungsprozess und Erfahrungen aus der Praxis beim Einsatz des beschriebenen Ansatzes vor.

Nutzen:
In diesem Vortrag lernen die Teilnehmenden u.a.
- Änderungsbasiertes Monitoring mit kurzen Feedback-Zyklen sind Voraussetzungen für effektive Einhaltung von Binärcode-Größen.
- Typische Code-Strukturen, die erhöhte Binärcode-Größe verursachen.
- Den effektiven Umgang mit Codebasen für unterschiedliche Hardware-Varianten.

Problem solving

Invited Talks

Your location, our expertise

We are happy to come visit you in your office for an internal conference or a workshop. Our list of topics includes quality analyses, quality control, but also test control or introducing peer reviews. You are also welcome to pick a topic of your choice

60-90 minutes talk
About a software quality topic
In your office or remote
Our travel expenses only
Date by arrangement