1 repository
Analysis of source code via intermediate representations to extract program properties and behavior.
Distinct from Undefined Behavior Analysis: Focuses on extracting behavior from an IR rather than runtime tracing or binary analysis
Explore 1 awesome GitHub repository matching programming languages & runtimes · Program Behavior Analysis. Refine with filters or upvote what's useful.
Semantic este o bibliotecă bazată pe Haskell și un instrument CLI conceput pentru analiza poliglotă a codului sursă. Funcționează ca un framework de analiză statică a programelor și ca un parser poliglot de arbori de sintaxă abstractă (AST), care convertește codul din mai multe limbaje de programare în arbori de sintaxă structurați, pe baza definițiilor gramaticale. Sistemul se distinge printr-un motor de comparare semantică a codului care detectează modificările structurale și de logică între versiuni, în loc să se bazeze pe diferențe textuale. De asemenea, permite analiza între sintaxe diferite prin traducerea limbajelor de nivel înalt într-o reprezentare intermediară poliglotă unificată. Framework-ul oferă o suită largă de capabilități pentru parsarea limbajelor precum Rust, Go, Python, Ruby, PHP, TypeScript și TSX. Acoperă analiza semantică prin maparea scopului codului, extragerea simbolurilor și generarea de grafuri semantice, alături de instrumente pentru analiza modelelor și evaluarea comportamentului programelor. Setul de instrumente include utilitare CLI pentru standardizarea layout-ului fișierelor sursă Haskell.
Analyzes source code by interpreting an intermediate language to extract program behavior and properties.