Hinweis: Um die Fotos der Protokolle sehen zu können, must Du angemeldet sein!
Marktplatz
Session Test von Deployment Pipelines
Session Refactoring
Session Was ist Software-Qualität
Session Statische Code-Analyse
Def. Statische Code-Analyse (SCA)
Statisch (d.h. nicht ausführen) Source-Code (manchmal auch Bytecode oder Binärcode) Analyse
Was wird wofür analysiert?
- Metriken (z.B. mit Sotograph)
- Coding-Style
- Bugs
- Security-Lücken
- Unused code detector
- welche Lizenzen sind im Einsatz
- Unterstützung bei Code-Reviews
- Code-Bewertung bevor er gekauft wird (z.B. via Fortify-Dienstleistung)
Technik für SCA
Leichtgewichtig:
- Syntax checker, insbes. für Style-Check
- Heuristiken
- Findbugs mitunter am besten
Schwergewichtig: Verifizierend vs. Nicht-Verifizierend
- AST
- Datenfluss- und Kontrollfluss-Analyse
- Compilerbau
- Mathematisch
Tools
- Sonar-Cube
- Code-Sniffer (PHP)
- Findbugs (Java)
- Checkstyle (Java)
- HP Fortify (nicht empfehlenswert (insbes. für Python))
- Axivion Bauhaus
- Coverity, Grammatech Code-Sonar
- Verifizierend: Polyspace, Astrée
Probleme
Es wird nicht viel (Zeit) investiert in SCA
Früh einsetzen, nicht erst wenn "die Kacke am dampfen ist"
Idealerweise in IDE/Entwicklungsprozess integrieren, muss aber integriert werden
Akzeptanz im Team (aber wenn die Schmerz haben, akzeptieren sie die Kosten)
Wie Stakeholder motivieren?
-> es muss Schmerz (von altem Projekt) da sein
Wie suzkessive anfangen?
-> Erst mal ganz viele Kategorien ausschließen!
Wenn ein Bug/Warnung zu schwer zu verstehen/fixen? (z.B. Boolean-Variable undefined)
-> man holt sich eine Umgebung und probiert aus;
oder man schreibt Justification, ist aber keine wirkliche Lösung
Entscheidungsvorlage/Grundlage beim Kauf von SW
- ROI, wo im Lifecycle (nicht bei sterbendem Projekt)? Heißes, schwieriges Thema
- IT-Bugdet halbiert durch Einsatz von Sonar, Selenium, ...
- Stanford-Studie zu SW-Quality (? Stefan fragen)
Session Elektronische Signatur und Co
Session Git + Windows + Line-Endings: Best Practices
Session IOT-Payment
Session tech fresh up
Session C++-Testframeworks und -Refactoringtools
Session Model Builder Pattern
Session Clean Code
Session SWK KA - Quo vadis?
Session SQL, NoSQL, No!
Session Was zur Hölle ist Docker
Session Monitoring für Entwickler
example-prometheus-nodejs
Feedback