Parasoft C/C++test 2022.2 unterstützt MISRA C:2012 Amendment 3 und eine Entwurfsversion von MISRA C++ 202x. Erfahren Sie mehr >>

FALLSTUDIEN

G3 erreicht Softwarequalitätsziele mit statischer Codeanalyselösung

Lesezeit: 4 Minuten

PDF Herunterladen "

G3 erreicht Softwarequalitätsziele mit statischer Codeanalyselösung

G3 Technologies, Inc. ist ein Unternehmen für drahtlose Telekommunikation, das maßgeschneiderte Tools und Lösungen bereitstellt, die auf die Bedürfnisse von Festnetz-/Mobilfunkbetreibern, Fortune-500-Unternehmen und humanitären Hilfsorganisationen zugeschnitten sind.

DIE HERAUSFORDERUNG

Die außergewöhnlich hohen Softwarequalitätsstandards von G3 erfordern eine statisches Code-Analysator-Tool in der Lage, Code gründlich und effizient zu analysieren. Mit einem wachsenden Entwicklungsteam und wachsenden Codebasen – eine Codebasis mit mehr als 11 Millionen Codezeilen – benötigte G3 ein automatisiertes, skalierbares statisches Analysetool, das ihnen dabei helfen kann, Fehler in der frühestmöglichen Phase zu finden und zu beheben.

Die statische Analyse ist ein wichtiger Bestandteil der Softwarequalitätspolitik von G3, da sie es dem Unternehmen ermöglicht, Fehler so früh wie möglich im Entwicklungslebenszyklus zu erkennen und nachgelagerte Kosten im Zusammenhang mit der Fehlererkennung in der späten Phase zu vermeiden. Die statische Analyse entlastet die Tester, da sie es Entwicklern ermöglicht, Fehler zu finden und zu beheben, bevor sie mit der QA beginnen. Noch wichtiger ist, dass ein hochkarätiges statisches Analysetool verhindert, dass Fehler in die Produktionspipeline gelangen. Dies hilft G3, kostspielige Patch-Releases zu vermeiden, die den Ruf des Unternehmens schädigen und die Entwicklungs- und Testteams mit der zusätzlichen Arbeit der Patch-Verifizierung belasten können.

DIE VORGEHENSWEISE

G3 suchte nach einer neuen statischen Analyselösung. Ihr früherer Anbieter statischer Analysen schien mehr daran interessiert zu sein, seinen Fokus weg von der allgemeinen Softwarequalität und hin zu einem Hyperfokus auf Cybersicherheit zu verengen. G3 wollte einen statischen Analysepartner, der bereit war, mit ihnen an der Implementierung von Verbesserungen zu arbeiten, um G3 beim Erreichen seiner Softwarequalitätsziele zu helfen, und der vorherige Partner schien nicht bereit zu sein, mit G3 an der Verbesserung der Qualitätsaspekte seines Tools zu arbeiten. Nach der Evaluierung mehrerer kommerzieller statischer Analyseanbieter entschied sich G3 für Parasoft.

DIE ERGEBNISSE

Ein hoher Qualitätsstandard bei G3

Die außergewöhnlich hohen Softwarequalitätsstandards von G3 erfordern ein statisches Analysetool, das in der Lage ist, Code gründlich und effizient zu analysieren. Mit einem wachsenden Entwicklungsteam und wachsenden Codebasen (eine Codebasis mit über 11 Millionen Codezeilen) benötigte G3 ein automatisiertes, skalierbares statisches Analysetool, mit dem sie Fehler so früh wie möglich finden und beheben können. Der proaktive Ansatz von G3, so viele Fehler wie möglich frühzeitig zu erkennen, ermöglicht es dem Unternehmen, schnell die qualitativ hochwertige Software bereitzustellen, die seine Kunden erwarten.

Da G3 einen Großteil seiner Software in C++ schreibt, war es noch entmutigender, ein statisches Analysetool zu finden, das seinen Code richtig analysieren kann. C++ ermöglicht es Entwicklern, im Vergleich zu anderen Hochsprachen die höchste Leistungsstufe zu erreichen. Der Nachteil ist jedoch, dass eine strengere Codeanalyse und sorgfältige Aufmerksamkeit für das Design erforderlich sind, um stabilitäts- und sicherheitsbezogene Fehler zu vermeiden.

C/C++-Test von Parasoft zeichnete sich durch seine Fähigkeit aus, ihren komplexen C++-Code zu analysieren. Nach dem Einsatz statischer Analysetools von Parasoft bemerkte G3 sofort einen Anstieg der Softwarestabilität mehrerer seiner Softwareanwendungen. So wurde beispielsweise die Zahl der Softwareabstürze während der Entwicklungsphase stark reduziert, was darauf hindeutet, dass Parasoft G3 dabei half, langwierige Debugging-Aufwände zu eliminieren. Infolgedessen konnte G3 weiterhin qualitativ hochwertige Software liefern und gleichzeitig seine Zeitpläne einhalten.

Innerhalb der ersten 6 Monate nach der Bereitstellung der statischen Analysetools von Parasoft hat G3 ungefähr 50,000 Verstöße behoben, von denen einige kritische Fehler wie Typkonvertierungsprobleme, nicht verwendete Variablen und Nullzeiger-Dereferenzierungen waren.

Andrew Park, VP Engineering bei G3, verstand, dass die Kosten im Zusammenhang mit Verfügbarkeitsdefekten, die in die Produktion einfließen, dem Ruf des Unternehmens, nahezu fehlerfreie Software-Releases zu liefern, extrem schaden könnten. In Parks Worten:

„Das Entwickeln, Testen und Bereitstellen von Patches für Betriebssysteme ist in der Regel mit viel höheren Kosten verbunden, als es beim ersten Mal richtig zu machen… Parasoft ist einer unserer wichtigsten Partner, um sicherzustellen, dass wir es beim ersten Mal richtig machen. Wir verwenden 1083 Parasoft-Regeln in unseren Continuous Integration-Prozessen und erlauben nicht, dass Software in Produktionssysteme eindringt, bis alle Parasoft-Fehler behoben sind.“

Regeln für die statische Analyse anpassen

G3 benötigte auch die Möglichkeit, statische Analyseregeln anzupassen, um ihre spezifischen Anforderungen zu erfüllen. Anstatt einem einzigen, sofort einsatzbereiten Codierungsstandard zu folgen, verwendet G3 eine Reihe von Standards und benutzerdefinierten Checkern, um seine Codierungsrichtlinien zu implementieren. Viele der Lösungen auf dem Markt konzentrieren sich eng auf bestimmte Aspekte des Codes, wie beispielsweise Cybersicherheit, aber G3 suchte nach einer statischen Analyselösung mit der Fähigkeit, sich auf die Sicherheit und die allgemeine Softwarequalität zu konzentrieren. Parasoft ermöglichte es G3, statische Analyseregeln auf einfache Weise ihren internen Codierungsstandards zuzuordnen, was zu einer sehr gründlichen statischen Analyselösung speziell für den Code von G3 führte.

Ein kooperativer Technologiepartner

Schließlich suchte G3 nach mehr als nur einem Anbieter – sie suchten nach einem Partner, der auf absehbare Zeit mit G3 zusammenarbeiten könnte. Der vorherige Anbieter war nicht bereit, mit G3 zusammenzuarbeiten, um seine statische Analyselösung zu verbessern. G3 ist sich jedoch bewusst, dass die Zusammenarbeit mit einem Anbieter von statischen Analysetools bei Verbesserungen nicht nur G3 dabei hilft, Code effektiver zu analysieren, sondern auch sicherstellt, dass der Anbieter verfügbar ist, um G3 dabei zu helfen, auch in Zukunft qualitativ hochwertige Produkte zu liefern.

Eine Kultur der Zusammenarbeit und das Engagement, G3 dabei zu helfen, seine Softwarequalitätsziele zu erreichen, waren eines ihrer Must-haves, und G3 hat diese beiden Eigenschaften bei Parasoft gefunden. Ein Funke,
erklärt:

„Obwohl Parasoft eindeutig erstklassig ist, zeigten ihre Mitarbeiter einen echten Hunger darauf, von uns zu hören, wie sie ihr Produkt verbessern könnten. Ihre Unternehmenskultur war genau das, was ich bei einem Partner gesucht habe.“

Die gründliche Dokumentation von Parasoft erhöht inzwischen den allgemeinen Scharfsinn des Entwicklerteams bei G3. Ihre Fähigkeit, die Verstöße der statischen Analyse in einer einzigen Ansicht anzuzeigen, hat dazu beigetragen, die Programmierfähigkeiten selbst erfahrener Mitarbeiter zu verbessern.

Mit Parasoft ist G3 in der Lage, schwer zu findende Fehler früh im Entwicklungslebenszyklus zu finden und zu beheben, die Anzahl der Abstürze in der Produktion auf null zu reduzieren und den gesamten Codierungsstil seines Entwicklungsteams zu verbessern.

MACH DEN NÄCHSTEN SCHRITT

Entdecken Sie ein effektives Framework, das Sie bei der Auswahl einer statischen Analyselösung verwenden können. Laden Sie das Whitepaper herunter.