static-analysis

6 posts

LLMs können Ihre Static-Analysis-Warnings ordnen. Sie können nur nicht erklären, warum.

Large Language Models können beim Triage von False Positives in der statischen Analyse helfen, aber sie verstehen Programmsemantik nicht so wie Abstract Interpretation. So kombinieren Sie beides.

Ihr Static Analyzer hat gerade 847 Warnings an einem Freitagnachmittag ausgegeben. Sie wissen statistisch, dass irgendwo zwischen 5% und 15% davon echte Bugs…

Meta fand 100.000 Bugs im Produktivcode mit einem Static Analyzer, der das Programm nie ausführt

Metas Infer nutzt Abstract Interpretation und Bi-Abduction, um Null-Dereferenzierungen, Memory Leaks und Race Conditions durch Schlussfolgerungen über die Code-Struktur zu finden – nicht durch Ausführung. So funktioniert es und so setzen Sie es in Ihrer eigenen Codebase ein.

Meta hat über 100.000 Bugfixes ausgeliefert, die von einem Static Analyzer gefunden wurden, bevor der Code jemals einen Nutzer erreicht hat. Das Tool heißt…

Statische Analyse kann nicht beweisen, dass Ihr Flugzeug nicht abstürzt. Sie kann etwas Nützlicheres beweisen.

Die abstrakte Interpretation überapproximiert jeden möglichen Programmzustand. Wenn eine Division durch Null in der Abstraktion unerreichbar ist, ist sie im echten Code unerreichbar. So funktioniert sie – und hier zeigen sich ihre Grenzen.

Statische Analyse kann nicht beweisen, dass ein Flugzeug nicht abstürzt. Sie kann beweisen, dass die Regelschleife Ihres Höhenmessers niemals durch Null teilt,…

Wie man beweist, dass Code keine Laufzeitfehler enthält (und warum man wahrscheinlich aufgibt, es zu versuchen)

Abstrakte Interpretation ermöglicht es, Laufzeitfehler vor der Ausführung als unmöglich zu beweisen. So funktioniert es wirklich, warum es schwierig ist und wo es in die Toolchain passt.

Die Testsuite ist grün. Der Typchecker ist grün. Man deployt. Zwei Stunden später wirft die Produktion einen bei einem Edge-Case, an den niemand gedacht hat.…

Fuck-u-code: Das deterministische Quality Gate, das deine KI-Pipeline vergessen hat

Du hast Type Checking, Linting und Architekturregeln. Aber dein deterministischer Stack ist blind für Komplexität, Duplikation und Naming-Desaster. Hier ist die Lösung für 0 Dollar.

Seien wir ehrlich: So sehen die meisten KI-Code-Pipelines im Moment tatsächlich aus. Du generierst Code mit Cursor oder Claude Code. Du führst aus, weil der…