6 repository-uri
Static analysis that identifies unreferenced declarations, functions, and classes within source code.
Distinct from Unused Dependency Identification: Distinct from unused dependency identification which focuses on external packages rather than internal source declarations.
Explore 6 awesome GitHub repositories matching development tools & productivity · Unused Code Identification. Refine with filters or upvote what's useful.
Periphery este un instrument de analiză statică și detectare a codului mort (dead code) pentru proiecte Swift. Acesta identifică clasele, structurile, funcțiile și proprietățile neutilizate și servește drept optimizator de suprafață API pentru a găsi declarațiile publice care pot fi restricționate la acces intern. Instrumentul include scanare specializată pentru fișierele Interface Builder, cum ar fi storyboard-urile și XIB-urile, pentru a se asigura că membrii conectați la UI nu sunt marcați incorect ca neutilizați. De asemenea, oferă eliminarea automată a codului pentru a șterge codul mort identificat și parametrii neutilizați direct din fișierele sursă. Capabilitățile sale de analiză acoperă detectarea protocoalelor redundante, a cazurilor de enum neutilizate, a importurilor inutile și a proprietăților care sunt doar atribuite. Sistemul gestionează datoria tehnică prin filtrarea bazată pe baseline și suportă proiecte în limbaje mixte, păstrând simbolurile expuse către runtime-ul Objective-C. Periphery se integrează cu sistemele de build și pipeline-urile CI folosind configurații bazate pe YAML și poate exporta rezultatele analizei în mai multe formate standard din industrie.
Uses binary index store data to identify unused code without requiring a full project rebuild.
j2objc is a source-to-source compiler and transpiler that converts Java source code into Objective-C. It functions as a cross-platform logic porter, allowing application logic and data models written in Java to be shared and executed on iOS. To support this translation, the project provides an Objective-C implementation of core Java classes and APIs to emulate the Java runtime environment. The system includes specialized translation for Java libraries and provides mapping for dependency injection and static analysis annotations to preserve metadata. It also enables the conversion of JUnit tes
Analyzes source files to identify classes and methods that are unreachable from defined public entry points.
Rhai este un motor de scripting încorporat și un limbaj cu tipizare dinamică, conceput pentru integrarea în aplicații Rust. Acesta funcționează ca un compilator de arbore sintactic abstract (AST) și un strat de interop nativ, permițând dezvoltatorilor să mapeze tipuri și funcții Rust într-un mediu de scripting pentru comunicare bidirecțională. Proiectul servește drept framework pentru crearea de limbaje specifice domeniului (DSL) personalizabile. Permite definirea de operatori, sintaxă și medii de execuție restricționate, facilitând crearea de limbaje specializate cu seturi funcționale adaptate. Motorul acoperă o gamă largă de capabilități, inclusiv sandboxing cu resurse limitate pentru execuție securizată, organizare modulară a codului și procesare cuprinzătoare de date pentru tipuri numerice, string-uri și binare. Oferă, de asemenea, instrumente pentru manipularea AST, serializarea stării de execuție și observabilitate la runtime prin inspectarea stivei de apeluri și interfețe de debugging. Motorul este conceput pentru deployment cross-platform pe orice CPU sau sistem de operare suportat de compilatorul nativ.
Removes unreachable code blocks and propagates constants within the compiled AST before evaluation.
Vulture este un instrument de analiză statică și linter conceput pentru a găsi variabile, funcții și clase neutilizate în codul sursă Python. Operează ca un detector de cod mort și un instrument de căutare a codului neutilizat care scanează fișierele sursă pentru a identifica expresiile și importurile inaccesibile fără a executa codul. Instrumentul folosește un sistem de scorare euristic bazat pe încredere pentru a atribui valori de probabilitate detecțiilor, ajutând la distingerea simbolurilor cu adevărat neutilizate de potențialele alarme false. Asistă în continuare la eliminarea logicii moarte prin sortarea claselor și funcțiilor neutilizate detectate după numărul de linii, pentru a prioritiza eliminarea celor mai mari blocuri de cod. Suprafața de analiză include analiza accesibilității fluxului de control, urmărirea referințelor simbolurilor și capacitatea de a suprima alarmele false prin tipare de nume, decoratori sau comentarii de ignorare. Vulture suportă, de asemenea, generarea și gestionarea listelor albe (whitelists) prin module mock pentru a exclude anumite elemente din scanările ulterioare. Regulile de analiză la nivel de proiect și căile țintă pot fi gestionate prin fișiere de configurare, inclusiv suport pentru formatul TOML.
Identifies unreferenced declarations, functions, and classes within source code using confidence scores.
Wire este un generator de cod cross-platform și o implementare de gRPC și Protocol Buffers. Transformă definițiile de schemă în binding-uri de limbaj nativ type-safe pentru Kotlin, Swift și Java, pentru a asigura schimbul consistent de date și comunicarea între sistemele distribuite. Proiectul oferă instrumente specializate pentru gestionarea schemei protocol buffer, inclusiv posibilitatea de a elimina tipurile neutilizate și de a filtra câmpurile după versiune pentru a reduce dimensiunile finale ale binarului. De asemenea, gestionează namespace-urile și permite crearea de handlere de schemă custom pentru a executa logica definită de utilizator în timpul fazei de compilare. Framework-ul acoperă o gamă largă de capabilități, inclusiv generarea de interfețe de serviciu pentru apeluri de procedură remote sincrone și asincrone, maparea tipurilor de schemă la primitivele limbajului nativ și serializarea mesajelor în JSON. Include, de asemenea, suport pentru generarea de mesaje parcelable și clienți mock pentru testare.
Removes unwanted types and fields from generated code via exclusion lists or reachability analysis to reduce binary size.
This project serves as a comprehensive knowledge base and technical reference for identifying and mitigating security vulnerabilities in smart contracts. It provides a structured catalog of common attack vectors, logic errors, and insecure coding patterns, offering developers and auditors a centralized resource for implementing secure decentralized applications. The repository distinguishes itself by covering the full lifecycle of contract security, from low-level arithmetic safety and compiler constraints to high-level architectural patterns. It details specific defensive strategies for mana
Identifies unreferenced declarations and redundant code to optimize gas usage and maintainability.