Login
Newsletter
Werbung

Mi, 15. Januar 2020, 15:09

Software::Entwicklung

GCC erhält statische Code-Analyse

GCC 10 wird mit umfangreichen Optionen für eine statische Code-Analyse erscheinen. Ein entsprechender Patch von David Malcolm wurde jetzt in den Compiler aufgenommen.

gnu.org

Im letzten November, kurz vor Beginn der Testphase von GCC 10, hatte der Red Hat-Entwickler David Malcolm seine statische Code-Analyse für GCC vorgestellt. Anfänglich noch als GCC-internes Plugin implementiert, wurde die neue Funktionalität inzwischen direkt in GCC implementiert und bereinigt. Nach Abschluss dieser Arbeiten wurde der Patch jetzt in den Quellcode von GCC übernommen und wird somit ein Teil von GCC 10 werden. Mit GCC 10 darf im Mai gerechnet werden, ein Jahr nach GCC 9.

Statische Code-Analyse ist eine Analyse des Quellcodes, die fragwürdige Stellen finden soll. Während die Compiler Syntaxfehler, Konstrukte mit undefiniertem Verhalten und unsauberen Code finden können, geht eine statische Code-Analyse noch darüber hinaus und sucht nach Stellen, die erfahrungsgemäß oft falsch sind, findet Probleme mit der Speicherverwaltung und anderes mehr. Die Analyse wird statisch genannt, weil sie den Code nur betrachtet, aber nicht ausführt.

Lange Jahre war statische Analyse nur mit proprietären Werkzeugen möglich. Ein solches Werkzeug wird von Coverity genutzt und weiterentwickelt. Das Unternehmen gab im Lauf der Jahre zahlreichen freien Projekten die Möglichkeit, ihren Quellcode kostenlos analysieren zu lassen, was die schon hohe Code-Qualität freier Software noch weiter verbesserte. Erst vor wenigen Jahren wurde im C/C++Compiler Clang eine Code-Analyse implementiert, womit Clang eine Vorreiterrolle bei der freien Software einnahm.

Auch wenn die statische Code-Analyse fest in den Compiler eingebaut ist, ist sie normalerweise nicht aktiv und hat somit keinen Einfluss auf die Compilierzeit. Da die Analyse deutlich mehr Zeit benötigt als eine normale Compilierung, schaltet man sie normalerweise nur ein, wenn man sie braucht. Dafür stehen in GCC 10 eine Reihe von Optionen zur Verfügung, die bereits dokumentiert sind. Wer wissen möchte, wie die Optionen aussehen, oder bereits GCC 10 testet, finden die Optionen in der GCC-Dokumentation.

Werbung
Kommentare (Insgesamt: 5 || Alle anzeigen )
Re: Coverity Scan und cppcheck (Christian Wetzel, Do, 16. Januar 2020)
Re: Hohe Code-Qualität freier Software (blablabla233, Do, 16. Januar 2020)
Hohe Code-Qualität freier Software (dertisch17, Do, 16. Januar 2020)
Coverity Scan und cppcheck (Volker_D, Mi, 15. Januar 2020)
Gratulation! (klopskind, Mi, 15. Januar 2020)
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung