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

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
google avatar

google/sanitizers

0
View on GitHub↗
12,402 stars·1,088 forks·C·23 views

Sanitizers

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 runtime analysis to prevent crashes and security vulnerabilities. This includes the detection of memory errors and concurrency defects to ensure stable and predictable program execution.

Features

  • Memory Safety - Provides a comprehensive suite for identifying memory leaks and illegal access errors to ensure memory safety.
  • Allocation Metadata Tracking - Maintains internal records of memory allocations to detect use-after-free and buffer overflow errors.
  • Shadow Memory - Allocates a dedicated virtual address space to track the validity and state of application memory.
  • Binary Instrumentation - Implements compile-time binary instrumentation to monitor memory accesses at runtime.
  • Language Sanitizers - Ships a sanitizer that detects operations violating language specifications to prevent unpredictable execution.
  • Undefined Behavior Analysis - Detects operations that violate language specifications to avoid unpredictable software crashes.
  • Undefined Behavior Detection - Inserts guards that trigger a report when the program executes operations forbidden by the language specification.
  • Memory Access Interception - Provides interception of memory access to monitor heap usage and detect invalid frees.
  • Runtime Language Instrumentation - Uses runtime language instrumentation to catch bugs during execution on physical devices.
  • Concurrency Analyzers - Provides concurrency analyzers to identify data races and synchronization issues in multi-threaded code.
  • Memory Leak Detection - Offers a collection of runtime monitors to identify and analyze memory leaks.
  • Runtime Error Detectors - Implements runtime error detectors to identify memory corruption and undefined behaviors.
  • Race Condition Detection - Includes a state machine to detect data races and concurrency bugs during execution.
  • Instrumented Builds - Provides a build system for creating debug versions of applications with integrated sanitizers.
  • Memory Safety Diagnostics - Provides runtime checks for identifying memory corruption and pointer errors.
  • Build Systems - A fast detector for memory-related errors.
  • Debugging And Tracing - Detects memory and threading errors.
  • Development Tools - Fast memory error detection for C programs.
  • Dynamic Analysis - Suite of tools for detecting memory, thread, and leak errors.
  • Windows Environments - Listed in the “Windows Environments” section of the Awesome C awesome list.

Star history

Star history chart for google/sanitizersStar history chart for google/sanitizers

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Frequently asked questions

What does google/sanitizers do?

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.

What are the main features of google/sanitizers?

The main features of google/sanitizers are: Memory Safety, Allocation Metadata Tracking, Shadow Memory, Binary Instrumentation, Language Sanitizers, Undefined Behavior Analysis, Undefined Behavior Detection, Memory Access Interception.

Which projects share features with google/sanitizers?

Projects with overlapping indexed features include: gperftools/gperftools — gperftools is a collection of specialized tools for profiling CPU usage, detecting memory errors, and providing… google/fuzzing — This project is a comprehensive software fuzzing knowledge base and technical guide designed for discovering software… c3lang/c3c — c3c is the compiler for the C3 programming language, transforming source code into executable binaries, static… rhysu/c99sh — A shebang-friendly script for "interpreting" single C99, C11, and C++ files, including rcfile support. include-what-you-use/include-what-you-use — Include What You Use is a C++ include optimizer and header dependency analyzer. It identifies unused or missing header… ryanmjacobs/c — Compile and execute C "scripts" in one go!

Projects sharing features with Sanitizers

These projects share indexed features with Sanitizers. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • gperftools/gperftoolsgperftools avatar

    gperftools/gperftools

    8,959View on GitHub↗

    gperftools is a collection of specialized tools for profiling CPU usage, detecting memory errors, and providing high-performance memory allocation. It provides a memory profiling toolkit for C++ applications, including a sampling CPU profiler and a heap profiler for analyzing consumption patterns. The project includes a high-performance memory allocator designed as a multi-threaded replacement for standard allocation to reduce contention and improve execution speed. It further provides a memory debugger to identify illegal memory access and double frees. The toolkit covers broad diagnostic c

    C++
    View on GitHub↗8,959
  • google/fuzzinggoogle avatar

    google/fuzzing

    3,772View on GitHub↗

    This project is a comprehensive software fuzzing knowledge base and technical guide designed for discovering software bugs and vulnerabilities. It serves as a resource for implementing coverage-guided, structure-aware, and hybrid fuzzing across various targets, including compiled binaries and hardware kernels. The resource provides specialized guidance on using grammars and defined data formats to generate syntactically valid inputs for complex APIs. It also details methods for combining grey-box fuzzing with symbolic execution to reach deep execution paths and utilizes binary instrumentation

    C++
    View on GitHub↗3,772
  • c3lang/c3cc3lang avatar

    c3lang/c3c

    5,147View on GitHub↗

    c3c is the compiler for the C3 programming language, transforming source code into executable binaries, static libraries, or dynamic libraries using an LLVM backend. It implements a system based on result-based error handling, scoped memory pooling, and a semantic macro system. The compiler provides first-class support for hardware-backed SIMD vectors that map directly to processor instructions and enables runtime polymorphism through interface-based dynamic dispatch. The project covers a broad set of low-level capabilities, including manual and pooled memory management, inline assembly inte

    C3c3compilerlanguage
    View on GitHub↗5,147
  • include-what-you-use/include-what-you-useinclude-what-you-use avatar

    include-what-you-use/include-what-you-use

    4,704View on GitHub↗

    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

    C++
    View on GitHub↗4,704
Compare all 30 related projects→