Abstract
Diese Masterarbeit befasst sich mit dem Thema Statische Codeanalyse zur Ermittlungder Nachhaltigkeit von Software im Bankenumfeld und zeigt, wie statische Codeanalyse
einen wesentlichen Beitrag zu einer umweltfreundlicheren Welt leisten kann. Insbesondere im Bereich der Softwareentwicklung liegt großes Potenzial, um durch intelligente
Lösungen den ökologischen Fußabdruck von IT-Systemen zu reduzieren.
Software-Systeme im Bankenumfeld zeichnen sich durch eine hohe Komplexität aus.
Die Interaktion zahlreicher Komponenten, die auf unterschiedlichen Technologien basieren und in heterogenen Infrastrukturen betrieben werden, stellt für den Betrieb und die
Entwicklung solcher Systeme erhebliche Herausforderungen dar. Eine zentrale Herausforderung liegt darin, die Effizienz dieser Bankensysteme zu erhalten und kontinuierlich
zu optimieren, ohne die Umwelt negativ zu belasten.
Im Detail befasst sich diese Arbeit mit der statischen Codeanalyse im Kontext der
Nachhaltigkeit. Je früher Softwareentwicklerinnen und Softwareentwickler auf potenzielle Mängel hinsichtlich der Ressourceneffizienz und Umweltverträglichkeit ihres Codes
hingewiesen werden, desto kostengünstiger, schneller und effektiver können diese Probleme behoben werden. Die statische Codeanalyse eignet sich besonders gut für diese Aufgabe, da sie schnellstmögliches Feedback zu solchen Mängeln liefern kann. In
großen Softwareprojekten werden üblicherweise sogenannte Continuous Integration/-
Continuous Deployment-Pipelines (CI/CD-Pipelines) verwendet, in die leicht ein statisches Codeanalyse-Werkzeug integriert werden kann. Dies ermöglicht eine effiziente und
unkomplizierte Implementierung eines Prozesses zur schnellen Rückmeldung hinsichtlich
der Nachhaltigkeit des Codes.
Ziel dieser Arbeit ist die Umsetzung einer statischen Codeanalyse mittels eines eigens
entwickelten Prototyps, der speziell für das Bankenumfeld optimiert ist und die Nachhaltigkeit von Quellcode messbar macht. Hierfür werden spezielle Nachhaltigkeitsmetriken
benötigt, die die Nachhaltigkeit des Codes quantifizierbar machen. Die Entwicklung und
Definition dieser Metriken-Suite bildet einen zentralen Bestandteil der Arbeit. Darüber
hinaus ist es entscheidend, dass diese Metriken an verschiedene Domänen anpassbar
sind. Die Arbeit zeigt, wie die Gewichtung der Metriken flexibel gestaltet und umgesetzt werden kann und wie eine mögliche Gewichtung für das Bankenumfeld aussieht,
um den spezifischen Anforderungen dieser Branche gerecht zu werden.
Durch die Aggregation der einzelnen Metriken lässt sich eine Nachhaltigkeitskennzahl berechnen, die es ermöglicht, unterschiedliche Quellcodebasen hinsichtlich ihrer
Nachhaltigkeit zu vergleichen. Dazu wird der entwickelte Prototyp genutzt, um verschiedene Codebasen zu analysieren und die erforderlichen Daten zu erheben. Diese
Daten werden anschließend ausgewertet und umfassend analysiert.
| Datum der Bewilligung | 2024 |
|---|---|
| Originalsprache | Deutsch (Österreich) |
| Betreuer/-in | Stefan Wagner (Betreuer*in) & Josef Mader-Kreiner (Betreuer*in) |
Studiengang
- Software Engineering