30 open-source projects similar to andreasfertig/cppinsights, ranked by shared indexed features. Tags may describe platforms or build tools rather than the same primary purpose. Check each project’s use case, license, and deployment requirements before treating it as a replacement.
JavaParser is a library that parses Java source code up to version 12 into an Abstract Syntax Tree (AST), enabling programmatic analysis, transformation, and generation of Java code. It serves as a parser, code analyzer, code generator, comment parser, and symbol resolver, providing a unified toolkit for working with Java source at the AST level. The library distinguishes itself through several integrated capabilities that go beyond basic parsing. It includes a symbol resolution engine that resolves type and symbol references across files for accurate semantic analysis, and an error-recovery
Cppcheck is a static analysis tool and linter for C and C++ source code designed to detect programming errors, memory leaks, and security violations without executing the program. It functions as a bug detection engine and quality assurance tool to identify concurrency issues, type cast errors, and compliance with secure coding standards. The project provides a graphical user interface for selecting files and reviewing errors, alongside a linter for enforcing naming conventions and coding standards. It supports the creation of custom analysis rules using regular expressions to identify specif
Rust-bindgen is a build-time foreign function interface binding generator and C header parser designed to automate cross-language interoperability. It functions as a tool to bridge Rust with C, C++, and Objective-C libraries by producing platform-specific declarations during the compilation process. The project distinguishes itself through its ability to handle complex C-family language constructs, including C++ inheritance and methods, as well as Objective-C classes and protocols. It ensures binary compatibility across different architectures by calculating target-aware memory layouts and va
Blockly is a block-based coding library and visual programming editor that allows users to build programs by interlocking graphical blocks. It functions as a visual code generator, translating these arrangements of logic blocks and variables into executable source code for various programming languages. The library provides a framework for creating custom visual programming languages and low-code logic designers. It utilizes an SVG-based UI library to render interactive, draggable elements on a web canvas. The system is designed as an accessible web UI framework with integrated keyboard navi
ccls is a language server providing code completion, navigation, and semantic analysis for C and C++ projects. It focuses on the indexing and navigation of C-family codebases, enabling users to trace function calls and class hierarchies within a text editor. The project is designed for large scale project indexing, employing parallel source scanning to process massive source trees. It maintains a global symbol index that supports incremental updates as files are saved to disk, ensuring cross-references and symbol lookups remain current. The server covers a range of static code analysis workf
cppfront is a C++ language extension frontend and source-to-source translator. It functions as a syntax transformer that converts experimental language extensions into standard compliant C++ code, allowing for the prototyping of new language features within existing build systems. The project provides a translation layer that adds support for pattern matching, contracts, and string interpolation. It includes a metaprogramming tool for compile-time reflection and automated code generation using specialized metafunctions. The system automates several development tasks, including the resolution
Include What You Use is a C++ include optimizer and header dependency analyzer. It identifies unused or missing header includes in source files to reduce project bloat and improve compilation performance. The tool performs static analysis using a Clang-based abstract syntax tree to map symbol usage and track preprocessor effects across different build configurations. It can automatically rewrite source files by inserting or deleting preprocessor directives based on the calculated dependency graph. The system integrates with compilation databases to determine the exact compiler flags used for
sourcekit-lsp is a language server protocol implementation and IDE code intelligence backend. It functions as a Swift language server and source code indexer, providing semantic analysis, autocomplete, and navigation features to compatible text editors. The project integrates directly with the Swift toolchain and SourceKit framework to deliver precise type information. It also leverages Clang-integrated parsing to provide semantic analysis for C-family languages, enabling cross-language navigation across project files. The server manages source code indexing and symbol lookups while using a
Mono is an open source implementation of the .NET Framework that provides a managed execution environment, base class libraries, and a cross-platform virtual machine. It serves as a compliant implementation of the ECMA Common Language Infrastructure standard, enabling the execution of intermediate language binaries across different operating systems. The project includes a complete toolset for C# development, featuring a command line compiler and CLI to transform source code into executable assemblies. It distinguishes itself with a flexible managed memory system that supports multiple automa
Cling is an interactive C++ interpreter and read-eval-print loop that allows for the execution of C++ code in real time. It provides an interactive environment where statements can be evaluated immediately, bypassing the manual compilation and linking cycles typically required for the language. The system functions as a Jupyter C++ kernel, enabling cell-based development and visualization within notebook interfaces. It also supports the loading and execution of external source files within an active session. The environment includes capabilities for just-in-time debugging and profiling by em
ShaderForge is a web-based GPU tool and visual GLSL shader editor. It serves as a node-based shader designer that allows users to construct programs for the graphics processor by connecting logic blocks in a directed acyclic graph rather than writing manual code. The tool functions as a technical art workflow bridge for creating game assets and surface materials. It provides a browser-based environment for real-time authoring, featuring instant GLSL compilation and live hot-reloading of GPU programs. The system converts visual graph connections into GLSL source code using abstract syntax tre
Empire is a post-exploitation command-and-control (C2) framework designed for red team operations. It deploys and manages agents written in PowerShell, Python, C#, Go, and C across Windows, Linux, and macOS, using encrypted communication channels over HTTP, HTTPS, and SMB. The framework executes over 400 built-in modules for reconnaissance, privilege escalation, credential theft, and lateral movement, and provides a modular engine for authoring custom attack modules. What sets Empire apart is its multi-language agent deployment system, which allows operators to choose implants that suit each
LOLBAS is a curated database and knowledge base of signed Windows binaries that can be misused to bypass security restrictions and execute unauthorized code. It serves as a technical registry that maps trusted system files to their functional capabilities and the offensive tactics they enable. The project distinguishes itself by providing a capability-driven indexing system and a tactics registry that relates legitimate binary functionality to known security evasion techniques. It includes an association layer that links specific system binaries to attack patterns and tactical objectives, pro
rails-erd is a Ruby on Rails ERD generator and database schema visualizer. It serves as an automated diagramming tool that analyzes model associations and attributes to create graphical domain models. The tool maps associations and inheritance patterns into visual entity-relationship diagrams, including specific support for visualizing single table inheritance. It allows for relationship notation customization, enabling users to toggle between simplified arrows and Bachman notation. The system provides multi-format diagram export for technical documentation and allows for the configuration o
This project is a suite of runtime diagnostic tools designed to detect memory leaks, concurrency races, and language-specification violations during software execution. It provides a collection of dynamic analysis tools that identify addressability issues, uninitialized memory usage, and memory safety bugs in applications. The toolset includes a thread safety analyzer to identify data races and deadlocks in concurrent code, as well as an undefined behavior sanitizer to detect operations that violate language specifications. The system covers broad capabilities in memory safety monitoring and
gdb-dashboard is a visual frontend and Python-based extension for GDB. It provides a modular dashboard that enables real-time visualization of program state during debugging sessions. The project replaces manual command-line interaction with a structured visual interface. It utilizes syntax highlighting for program state data to improve readability and analysis during the debugging process. The system focuses on C and C++ debugging, automating the monitoring of program memory and execution state through a text-based user interface. It achieves this by integrating with GDB APIs to retrieve sy
This project is an orchestration tool for establishing interactive debug sessions within automation pipelines. It functions as a GitHub Action that opens an interactive SSH or web-based shell session, providing a remote access utility for real-time system interaction and troubleshooting during continuous integration execution. The tool supports conditional debugging workflows, allowing interactive shells to be triggered only upon manual request or the failure of previous automation steps. It also enables detached debugging modes to start background sessions that provide connection details wit
Qira is a runtime analysis tool and interactive binary debugger designed for the QEMU emulator. It functions as a binary execution tracer that records a full timeline of instruction invocations and provides a system for monitoring memory operations within guest processes. The project enables the analysis of compiled binaries by tracing instruction-level execution and mapping raw memory addresses to user-defined annotations. It includes capabilities for state-snapshotting to manage execution forks, allowing the navigation of divergent logic paths and the inspection of CPU register states and s
########################## The Python Benchmark Suite ##########################
bpftrace is a dynamic instrumentation tool and high-level tracing language for eBPF. It functions as a Linux kernel tracer and user-space profiler used to analyze live software behavior through the on-the-fly insertion of tracing and logging probes. The tool enables the collection of real-time data from the Linux kernel and applications to diagnose issues on live production systems. It intercepts user-level events using uprobes and USDT to debug and profile applications without modifying the original source code. The project covers system observability and performance analysis by monitoring
FlameGraph is a performance profiling and visualization toolkit designed to identify bottlenecks in software execution. It functions as a processing engine that transforms raw stack trace samples into interactive, hierarchical diagrams. By representing aggregated execution frequency as nested rectangles, the tool allows developers to visualize hot code paths and analyze system behavior across both kernel and user-space environments. The project distinguishes itself through its ability to perform differential profile analysis, which highlights performance regressions or improvements by compari
BCC is an eBPF development toolkit and tracing framework used for monitoring and analyzing the Linux kernel. It functions as a performance analysis tool and debugging utility to capture system events, measure kernel latency, and provide network observability. The project distinguishes itself by providing a build system that integrates with LLVM to compile C-like code into BPF bytecode at runtime. It utilizes BPF Type Format data for relocations to maintain cross-kernel compatibility and extracts kernel headers to ensure the generated programs match the specific kernel version. The toolkit co
Full-screen console debugger for Python
Pyre is a high-performance static type checker and analysis tool for Python. It identifies type errors and ensures type safety without executing the program, utilizing a static type inference engine to maintain consistency across functions. The project is distinguished by an incremental type analysis engine that operates as a background daemon. This system monitors filesystem changes to re-validate only modified parts of a project, reducing the time required for repeated analysis. It also includes a static analysis security tool that uses taint analysis to track untrusted data flows and ident
backward-cpp is a C++ stack trace library and debugging utility designed to capture, resolve, and print detailed execution traces and crash reports. It functions as a crash reporter and call stack printer that translates raw memory addresses into human-readable function names, filenames, and line numbers. The project provides automated crash reporting by registering system handlers for fatal errors, such as segmentation faults, to automatically generate execution traces upon program failure. It distinguishes itself by extracting source file fragments from disk to display specific lines of cod
Hotspot is a graphical user interface for analyzing and visualizing performance data captured by the Linux perf tool. It functions as a performance profiling visualizer and assembly-level profiler that maps performance costs to specific instructions synchronized with original source code. The project distinguishes itself through a remote symbol resolver that maps performance data from embedded targets to local host debug symbols and sysroots. It also includes a specialized off-CPU analysis tool designed to identify thread wait times and I/O blocks using kernel scheduler tracepoints. The tool
Heaptrack is a heap memory profiler and diagnostic tool for applications running on Linux. It functions as a memory leak detector and performance analysis system that records heap allocations and stack traces to identify memory hotspots and consumption patterns. The project provides a graphical heap allocation visualizer for exploring memory usage through tree views and peak memory reports. It utilizes flame graphs and allocation charts to visualize memory hotspots and assist in the detection of leaks. The toolset includes capabilities for heap memory allocation tracing and the generation of