Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
1
Statische Analyse Gero Leinemann
2
Statische Analyse Was ist das? Was mache ich damit?
Wie funktioniert das? Wie benutze ich das? Demo FindBugs STAN4j IDA Pro Fragen?
3
Was ist das? Analyse eines Programms, ohne es auszuführen ( dynamische Analyse) Anwendung mathematischer Verfahren auf Programme-Code um Eigenschaften zu prüfen Zwei Arten: Analyse des Source-Codes Meist direkt auf dem AST der jeweiligen Sprache Analyse des Object-Codes Wird oft in WHILE-ähnliche Sprachen übersetzt
4
Was mache ich damit? Wird benutzt für: Optimierung (klassisch)
Software-Qualität Sicherheit Reverse Engineering Korrektheit (-sbeweis) lint
5
Wie funktioniert das? Methoden:
Denotationelle Semantik Abbildung von Zustandsräumen Operationelle Semantik Schrittweise Zustandsänderung Axiomatische Semantik Schlussregeln über Eingabe Abstrakte Interpretation Verallgemeinerung/Teilweise (abstrakte) Ausführung Möglichkeiten begrenzt durch das Halteproblem
6
Abstrakte Interpretation
Nachverfolgen des Control-Flows Monotone Funktionen über Verbänden Praktisch: Mitführen eines Zustandsraumes durch das Programm Ziel: Minimaler (möglichst präziser) Zustandsraum Approximation von Fixpunkten bei Branches/Loops Beschränkung des Zustandsraumes ohne jede Iteration auszuführen z.B. durch Widening (aktuelle Forschung), abstrakte Domänen
7
Demo
8
Fragen?
9
Bildnachweise http://findbugs.sourceforge.net/umdFindbug s.png
/stan4j-88x31-o1.png ALUS/synthetic_summary/POLYSPACE/imgs/l ogo_fond_blanc.gif pg files/tool%3Aida-pro/idapro.gif
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.