awesome-repositories.com
Blog
MCP
awesome-repositories.com

Découvrez les meilleurs dépôts open-source grâce à notre recherche par IA.

ExplorerRecherches sélectionnéesAlternatives open sourceLogiciels auto-hébergésBlogPlan du site
ProjetServeur MCPÀ proposNotre méthodologiePresse
Mentions légalesConfidentialitéConditions d'utilisation
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·

4 dépôts

Awesome GitHub RepositoriesSide-Effect Analysis

Identifying functions that do not modify state to enable aggressive dead-code and result elimination.

Distinct from Side Effect Handlers: Distinct from reactive side-effect management; this is a static analysis for compiler optimizations.

Explore 4 awesome GitHub repositories matching programming languages & runtimes · Side-Effect Analysis. Refine with filters or upvote what's useful.

Awesome Side-Effect Analysis GitHub Repositories

Trouvez les meilleurs dépôts grâce à l'IA.Nous recherchons les dépôts les plus pertinents grâce à l'IA.
  • facebookarchive/prepackAvatar de facebookarchive

    facebookarchive/prepack

    14,118Voir sur GitHub↗

    Prepack is a build-time code evaluator and JavaScript bundle optimizer. It functions as a static analysis compiler that pre-evaluates static code and precalculates function results and global assignments during the build phase to accelerate startup times and reduce bundle size. The project specifically targets JSX optimization by processing syntax and node serialization to improve user interface rendering efficiency. It utilizes a partial evaluation engine and static execution analysis to replace runtime computations with precalculated constants. The tool covers a range of capabilities inclu

    Performs side-effect analysis to determine which functions can be safely precalculated.

    JavaScriptjavascriptoptimization
    Voir sur GitHub↗14,118
  • webassembly/binaryenAvatar de WebAssembly

    WebAssembly/binaryen

    8,354Voir sur GitHub↗

    Binaryen is a WebAssembly compiler toolchain and optimizer designed to transform, validate, and shrink binary modules. It provides a comprehensive intermediate representation framework that converts binary code into a single-assignment form to enable advanced program analysis and code transformation. The project includes a specialized transformation engine that applies iterative optimization passes to increase execution speed and reduce binary size. Additionally, it functions as a transpiler that translates WebAssembly binary modules into executable JavaScript for environments that lack nativ

    Computes side effects for each function to allow the optimizer to move code past non-state-modifying calls.

    WebAssemblyc-plus-pluscompilersemscripten
    Voir sur GitHub↗8,354
  • carp-lang/carpAvatar de carp-lang

    carp-lang/Carp

    5,815Voir sur GitHub↗

    Carp is a statically typed Lisp compiler that compiles Lisp-like syntax directly to C source code, enabling seamless integration with existing C libraries and low-level system programming. It manages memory deterministically at compile time using ownership tracking and linear types, eliminating garbage collection pauses and runtime overhead while ensuring type safety through an inferred static type system. The language distinguishes itself through compile-time macro expansion and metaprogramming capabilities, allowing code generation and transformation before final binary output. It enforces

    Provides a language construct for discarding return values and executing code solely for side effects.

    Haskellfunctionalfunctional-programminggame-development
    Voir sur GitHub↗5,815
  • calebfenton/simplifyAvatar de CalebFenton

    CalebFenton/simplify

    4,644Voir sur GitHub↗

    Simplify est une machine virtuelle Android sandbox, un traceur d'exécution de bytecode et un framework d'analyse statique. Il sert de désassembleur de bytecode Dalvik conçu pour récupérer du code lisible à partir de binaires en simulant le comportement du programme sans appareil physique. Le projet se distingue par l'utilisation de l'analyse de graphes d'exécution pour résoudre les appels par réflexion et simplifier le code obfusqué via la propagation de constantes et la suppression de code mort. Il utilise la simulation d'exécution multi-chemins pour suivre tous les résultats possibles des branches conditionnelles et mappe le flux d'instructions pour identifier les valeurs constantes. Le système couvre un large éventail de capacités d'analyse, notamment le traçage de la propagation des exceptions, la catégorisation des effets de bord des méthodes et la simulation d'appels d'API Java. Il fournit également des mécanismes pour intercepter les exécutions de méthodes via des hooks personnalisés afin de surveiller ou de remplacer les états de la machine virtuelle.

    Categorizes instructions based on their impact on external state to determine if code can be safely removed or inlined.

    Java
    Voir sur GitHub↗4,644
  1. Home
  2. Programming Languages & Runtimes
  3. Side-Effect Analysis