6 repositorios
Tracking runtime metadata of memory allocations and deallocations to identify safety violations.
Distinct from Metadata Tracking: Specifically tracks memory allocation lifetimes for safety, unlike file or system metadata tracking.
Explore 6 awesome GitHub repositories matching operating systems & systems programming · Allocation Metadata Tracking. Refine with filters or upvote what's useful.
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
Maintains internal records of memory allocations to detect use-after-free and buffer overflow errors.
Garnet is a multi-threaded in-memory database and distributed key-value store. It functions as a high-performance remote cache store that implements the RESP wire protocol to maintain compatibility with existing Redis clients and libraries. The project is distinguished by a shared-memory architecture that enables parallel request processing across multiple cores for sub-millisecond latency. It features a tiered storage system that automatically offloads colder data from system memory to SSD or cloud storage layers, and includes a specialized vector search database for high-dimensional similar
Tracks memory allocation bytes and flags builds that exceed defined thresholds.
pwndbg is a GDB plugin and binary analysis framework designed for reverse engineering, exploit development, and low-level program analysis. It extends the core functionality of the debugger to provide advanced memory inspection and automation tools. The project distinguishes itself with specialized capabilities for heap analysis across glibc, jemalloc, and musl, as well as a comprehensive kernel debugging toolkit for inspecting Linux kernel tasks and slab allocators. It includes an integrated ROP gadget searcher for constructing exploit chains and an LLM-powered debugging assistant that provi
Displays metadata and freelists of the buddy allocator filtered by zone, order, or CPU.
This is an open-source, crowd-sourced wiki textbook that teaches Linux system programming in C. It covers the core operating system concepts of process management through the fork-exec-wait model, dynamic memory allocation using implicit free list heap allocators, inode-based file systems, inter-process communication via pipes and shared memory, POSIX threads with synchronization primitives, signal-based asynchronous notification, virtual memory with page table translation, and runtime diagnostics using Valgrind and GDB. The textbook distinguishes itself by providing practical, implementation
Describes the buddy system allocation strategy for splitting and coalescing memory blocks.
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
Monitors the temporary allocator to detect use-after-scope bugs where short-lived data is stored in long-lived structures.
Este repositorio es un programa educativo integral y un framework de deep learning diseñado para enseñar aprendizaje profundo práctico usando PyTorch a través de notebooks y ejemplos de código. Sirve como una librería de alto nivel para construir, entrenar y desplegar redes neuronales, actuando como un orquestador de entrenamiento de modelos que coordina modelos de PyTorch, optimizadores y funciones de pérdida. El proyecto proporciona kits de herramientas especializados para visión artificial, procesamiento de lenguaje natural y preprocesamiento de datos tabulares. Se distingue por controles de entrenamiento avanzados como tasas de aprendizaje discriminativas, un sistema de callbacks bidireccional para personalizar la lógica de entrenamiento y una abstracción de learner de alto nivel que automatiza la colocación en dispositivos y los bucles de entrenamiento. El framework cubre una amplia superficie de capacidades, incluyendo la construcción automatizada de pipelines de datos, análisis de arquitectura de modelos y evaluación de rendimiento en tareas de clasificación, regresión y segmentación. También incluye utilidades para entrenamiento distribuido en múltiples GPUs, entrenamiento de precisión mixta para optimización de memoria y soporte especializado para datos de imágenes médicas. El proyecto se entrega como una serie de Jupyter Notebooks.
Identifies all currently allocated tensors in memory to debug leaks and monitor consumption.