Bei limitierten Hardware-Ressourcen oder zur Minimierung von Chip-Kosten, müssen wir in Embedded-Projekten oft strenge Binärcode-Größen einhalten. Die Auswirkungen von Code-Änderungen auf die Binärcode-Größe sind jedoch nur schwer abschätzbar. In der Praxis beschränken sich Maßnahmen daher häufig auf den Einsatz von Schwellwerten, bei deren Überschreitung der Build-Prozess bricht. Leider ist zu diesem Zeitpunkt eine Verkleinerung des Binärcodes häufig sehr aufwändig.
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 etwa warnt uns bereits in der IDE, falls Code-Änderungen die Binärcode-Größe erhöhen. Beim Monitoring prüfen wir für jeden Build die Änderungen der Binärcode-Größe und welche Code-Änderungen in welchem Ausmaß dafür verantwortlich sind. So können wir schnell reagieren, was allen Beteiligten Zeit und Nerven spart.
Im Vortrag stellen wir die Grundlagen von Binary-Size-Analysen vor und teilen Erfahrungen aus der Praxis sowie Empfehlungen für die Integration in den Entwicklungsprozess. Sehen Sie, wie Transparenz über die Änderungen der Binärcode-Größen entsteht und wie dadurch der Binärcode teilweise sogar verkleinert werden kann!