Call Graph Analyzer spürt Panics im Rust-Code auf, bevor sie zur Gefahr werden
Finding Panics with Call Graph Analyzer
Gemeinsam mit Microsoft hat Tweede golf unter dem Open Device Partnership den Call Graph Analyzer (CGA) veröffentlicht. Das Tool extrahiert den Callgraph aus monomorphisiertem MIR und zeigt, welche Funktionen im kompilierten Binary panicken können – inklusive solcher aus Abhängigkeiten und der Standardbibliothek. Ein `cargo cga check` liefert konkrete Warnungen mit Datei- und Zeilenangabe. Der Ansatz ist gründlicher als HIR- oder Linker-basierte Verfahren, bringt aber auch Nachteile mit sich.
Es ist nützlich, Panics explizit zu machen. Es ist besser, die eigenen Panic-Pfade zu kennen und über sie nachzudenken, als versehentlich Panics einzubauen und zu ignorieren, dass es sie gibt.