3 repository-uri
Analysis of execution graphs to track register ancestry and identify constant values for dead code removal.
Distinct from Unreachable Code Analysis: Broadens unreachable code analysis to include register value tracking via ancestry graphs.
Explore 3 awesome GitHub repositories matching testing & quality assurance · Execution Graph Analysis. Refine with filters or upvote what's useful.
Simplify este un sandbox de mașină virtuală Android, un trasor de execuție bytecode și un framework de analiză statică. Acesta servește drept deobfuscator de bytecode Dalvik, conceput pentru a recupera cod lizibil din binare prin simularea comportamentului programului fără a utiliza un dispozitiv fizic. Proiectul se distinge prin utilizarea analizei grafului de execuție pentru a rezolva apelurile de reflexie și a simplifica codul obfuscated prin propagarea constantelor și eliminarea codului mort. Utilizează simularea execuției pe mai multe căi pentru a urmări toate rezultatele posibile ale ramurilor condiționale și mapează fluxul de instrucțiuni pentru a identifica valorile constante. Sistemul acoperă o gamă largă de capabilități de analiză, inclusiv trasarea propagării excepțiilor, categorisirea efectelor secundare ale metodelor și simularea apelurilor API Java. De asemenea, oferă mecanisme pentru interceptarea execuțiilor metodelor prin hook-uri personalizate pentru a monitoriza sau suprascrie stările mașinii virtuale.
Maps instruction flow and register ancestry to identify constant values and remove unreachable dead code.
onnxsim este un optimizator de grafuri de deep learning și un simplificator de modele conceput pentru a reduce complexitatea grafurilor de calcul ONNX. Funcționează ca un compresor de modele care înlocuiește secvențele complexe de operatori cu ieșiri constante simplificate pentru a reduce overhead-ul operațional. Proiectul obține simplificarea prin inferența constant folding, care înlocuiește subgrafurile de operatori constanți cu tensori constanți pre-calculați. Utilizează rescrierea grafurilor bazată pe modele și analiza statică a grafurilor de calcul pentru a identifica și elimina nodurile redundante sau operațiunile inaccesibile. Instrumentul acoperă capabilități largi de optimizare a modelelor, inclusiv eliminarea redundanței operatorilor și eliminarea nodurilor inutile de reshape sau identity. Aceste procese eficientizează fluxul de execuție și reduc amprenta de memorie a modelului.
Analyzes the execution graph to identify unreachable operations and redundant nodes for removal.
SVF is an open-source static program analysis framework and points-to analysis library that tracks memory references, variable aliases, and data dependencies across whole programs. The platform translates compiled intermediate code formats into unified internal representations, constructing constraint graphs, call graphs, and control-flow graphs to model interprocedural execution behavior and memory state. The framework incorporates specialized engines for flow-sensitive, flow-insensitive, and context-sensitive pointer analysis alongside sparse value-flow graph generation. It features memory
Produces call graphs and control flow graphs to visualize program structure and data dependencies.