Monatsarchiv für April 2014

Statische Code-Analyse

Freitag, den 11. April 2014

Nobody’s perfect. Aber man kann daran arbeiten. :)

So nutzen wir für die Entwicklung unserer Anwendungen in C/C++ auch statische Code-Analyse. Nachdem clang (scan-build) und cppcheck sich die Zähne ausgebissen haben, setzen wir (leider) erst seit Kurzem auch PC-Lint ein.

Warum “leider”? Ich weiß auch nicht wie, aber irgendwie ist dieses Tool völlig an mir vorbei gegangen - vielleicht weil es an sich nur unter Windows läuft. PC-Lint ist das Urgestein für statische Analyse von C-Code, wird seit rund 30 Jahren stetig weiterentwickelt (!) und ist einfach der absolute Wahnsinn.

Nun bin ich kürzlich über einen Blogbeitrag gestolpert, wie man PC-Lint mittels wine auch unter Linux zum Laufen bekommt. Perfekt! :) Das spart den umständlichen Umweg über MinGW etc.

Natürlich braucht es eine Weile bis sich der Umgang mit PC-Lint “eingeschliffen” hat und man in den Unmengen der Logmeldungen auch die eigentlich interessanten Meldungen findet. Unsere Erfahrung ist jedenfalls, dass die Codequalität seit dem Einsatz von PC-Lint nochmals drastisch zugenommen hat - verschärfte gcc-Flags, scan-build und cppcheck waren nur ein kleiner Anfang.

Man darf sich jedenfalls nicht durch die Website von PC-Lint oder dessen Installationsprogramm abschrecken lassen - die Usability ist da wohl vor einigen Jahren stehen geblieben ;)