Erfahren Sie, wie die Continuous Quality Platform von Parasoft dabei hilft, Testumgebungen zu steuern und zu verwalten, um zuverlässig hochwertige Software zu liefern. Für Demo registrieren >>

BLOG

Fallstudie: Statische Analyse führt zu 30% weniger Fehlern

Fallstudie: Statische Analyse führt zu 30% weniger Fehlern Lesezeit: 4 Minuten

Steigerung von Produktivität und Qualität in unternehmenskritischer Software

 Thales Italien verfügt über ein solides Portfolio an Produkten und Technologien für den zivilen und militärischen Markt. Sie bieten technologische Lösungen für die Sicherheits- und Transportbranche (mit Fachwissen in Bezug auf Eisenbahnsignalisierung und Schutz / Überwachung kritischer Infrastrukturen). in der Verteidigungsabteilung (mit Fachkenntnissen in militärischer Kommunikation und Kriegselektronik); und im Bereich des Flugverkehrsmanagements (mit Fachkenntnissen in Lande-, Navigations- und Überwachungssystemen).

Thales entschied sich für eine statische Analyse über Parasoft C / C ++ test zu seinem Projekt Integrated Tramway Management Solutions - und später im gesamten Geschäftsbereich Automatic Vehicle Location System eingesetzt. Das Ergebnis: Thales reduzierte die Rate der defekten Komponenten um 30% und deutlich erhöhte Anwendungsleistung.

Was ist statische Code-Analyse?

Statische Code-Analyse (oder statische Analyse) ist eine Softwaretestaktivität in der Softwareentwicklung, bei der der Quellcode auf Konstrukte analysiert wird, von denen bekannt ist, dass sie mit Softwarefehlern oder Sicherheitslücken verbunden sind. Wenn ein Konstrukt mit hohem Risiko erkannt wird, meldet das statische Analysetool einen Verstoß, den der Entwickler anzeigen und beheben kann.

Das Ausführen einer statischen Analyse auf dem Desktop bietet einige Vorteile und kann für kleine Teams oder Projekte funktionieren. In großen Organisationen sollte die statische Analyse jedoch auch im Rahmen nächtlicher Builds und kontinuierlicher Integration automatisiert werden. Bei der Implementierung als integraler Bestandteil des Entwicklungsprozesses bietet die Analyse Ihres Codes mit statischer Analyse eine Reihe von Vorteilen, darunter die folgenden:

Schnellerer Entwicklungszyklus

Durch die konsequente Durchführung einer statischen Analyse in den frühen Phasen des Projekts können Sie Systemfehler finden und beheben, wenn die Kosten für die Behebung am niedrigsten sind. Der Prozess kann anfangs mehr Zeit in Anspruch nehmen als die schnelle Entwicklung der Software ohne laufende Analyse, aber die Effizienzgewinne werden über den Entwicklungslebenszyklus exponentiell.

Niedrigere Fehlerrate

Die statische Analyse hilft Ihnen, Fehler frühzeitig zu finden und zu beheben, wodurch das Wiederauftreten systembedingter Fehler nachgeschaltet werden kann. Mit einer Richtlinie zur Früherkennung können Sie einfacher eine Richtlinie zur Fehlervermeidung implementieren, die die Fehlerrate über den Entwicklungslebenszyklus reduziert.

FORTLAUFENDE VERBESSERUNGEN

Die automatisierte statische Analyse ist ein effektiver Feedback-Mechanismus, der für einen erfolgreichen DevOps- und CI / CD-Prozess von entscheidender Bedeutung ist. Diese Tools generieren auch die Daten, die andere Abteilungen benötigen, um im Rahmen des DevOps-Modells auf diese zuzugreifen und effektiv zusammenzuarbeiten. Insbesondere bei der Verwendung mit Einheiten- und Regressionstests spielt die statische Analyse einige Funktionen, darunter:

  • Sicherstellung der Codequalität
  • Bereitstellung der Big Data, die zur Verbesserung des Entwicklungsprozesses erforderlich sind
  • Erleichterung der Bearbeitung der automatischen DevOps-Rückkopplungsschleife

Infolgedessen wird die statische Analyse zu einem Mittel zur kontinuierlichen, automatisierten Prozessverbesserung. Entwickler können damit einen während der Veröffentlichung festgestellten Fehler verstehen und untersuchen oder anhand der Qualitätssicherung feststellen, ob es eine Möglichkeit gibt, Code zu härten und die Möglichkeit auszuschließen, dass diese Fehler in Zukunft auftreten.

Details zur Bereitstellung der statischen Analyse

Thales suchte nach einer Lösung, die die Konfiguration, Bereitstellung und Verwaltung eines standardisierten Regelsatzes für ein Team oder eine Abteilung vereinfacht. Spezifische Anforderungen enthalten: 

  • All-in-One-Entwicklungstestfunktionen
  • Möglichkeit zur Erweiterung der Konfiguration ihrer eindeutigen Codierungsstandards
  • Einfache Projekteinrichtung 
  • Nahtlose Integration in ihre Entwicklungs- / Testumgebungen
  • Erkennung von Laufzeitfehlern

Mit den Testtools von Parasoft konnte Thales eine breite Palette komplementärer Methoden zur Fehlervermeidung effizient und konsistent anwenden. Dies verbessert die Produktivität erheblich, indem Entwickler Probleme beseitigen können, wenn sie am einfachsten und schnellsten zu beheben sind (und bevor sie zu zusätzlichen Fehlern führen). Der Architekt kann die für eine Codebasis entworfenen Regeln und Einstellungen problemlos auf eine andere Codebasis anwenden - mit allen erforderlichen Anpassungen und Modifikationen für den neuen Kontext. Dies ist besonders wichtig, wenn die Entwickler in verschiedenen Umgebungen arbeiten, in denen unterschiedliche Technologien verwendet werden.

Durch die Möglichkeit, eine Regel in Sekundenschnelle anzupassen und sie dann sofort auf allen Desktop-Installationen der Entwickler bereitzustellen, konnten sie eine enorme Produktivitätssteigerung erzielen. Thales erzielte auch Produktivitätssteigerungen, indem detaillierte Ergebnisse direkt in der Arbeitsumgebung der Entwickler gemeldet wurden. Die Möglichkeit, auf einen gemeldeten Verstoß zu klicken und zu erfahren, wie und warum der gekennzeichnete Code behoben werden kann, half dem Team aus Gewohnheit, Code mit geringerem Risiko zu schreiben.

Ergebnisse der statischen Analyse: 30% weniger Fehler

„Einer der größten Vorteile der statischen Analyse von Parasoft besteht darin, dass unsere Ingenieure gelernt haben, bessere Entwickler zu werden“, erklärt Alessandro Orsi, Produktmanager von AVLS Systems. „Wir finden immer weniger Fehler in der Codebasis, weil Entwickler lernen, wie man besseren Java-Code schreibt. Wenn sich die Entwickler mit dem vorhandenen Regelsatz vertraut machen, erweitern die Architekten ihn schrittweise um weitere Regeln. Wie erwartet führt dies zu einem besseren Code. Es ist ein zyklischer Prozess. “

„Wenn wir die Fehlerraten in der Komponente vor und nach der Übernahme von Parasofts Statik vergleichen
Nach der Analyse stellen wir fest, dass wir jetzt 30% weniger Fehler erzielen “, fährt Orsi fort. „Wenn andere Anbieter die Unterstützung bieten würden, die wir von Parasoft erhalten haben, wäre die Welt perfekt. Die Unterstützung, die wir von Parasoft erhalten haben, war wirklich bemerkenswert. “

Geschrieben von

Parasoft

Die branchenführenden automatisierten Softwaretest-Tools von Parasoft unterstützen den gesamten Softwareentwicklungsprozess, vom Schreiben der ersten Codezeile über Unit- und Funktionstests bis hin zu Leistungs- und Sicherheitstests, wobei simulierte Testumgebungen genutzt werden.

Erhalten Sie die neuesten Nachrichten und Ressourcen zum Testen von Software sofort.