6 repository-uri
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.
Acest proiect este un program educațional cuprinzător și un framework de deep learning conceput pentru a preda deep learning practic folosind PyTorch prin notebook-uri și exemple de cod. Servește drept bibliotecă de nivel înalt pentru construirea, antrenarea și implementarea rețelelor neuronale, acționând ca un orchestrator de antrenare a modelelor care coordonează modelele PyTorch, optimizatoarele și funcțiile de loss. Proiectul oferă toolkit-uri specializate pentru computer vision, procesarea limbajului natural și preprocesarea datelor tabelare. Se distinge prin controale avansate de antrenare, cum ar fi rate de învățare discriminative, un sistem de callback bidirecțional pentru personalizarea logicii de antrenare și o abstractizare de nivel înalt a learner-ului care automatizează plasarea pe dispozitiv și buclele de antrenare. Framework-ul acoperă o suprafață largă de capabilități, inclusiv construcția automată a pipeline-urilor de date, analiza arhitecturii modelelor și evaluarea performanței în sarcini de clasificare, regresie și segmentare. Include, de asemenea, utilitare pentru antrenarea distribuită pe mai multe GPU-uri, antrenarea cu precizie mixtă pentru optimizarea memoriei și suport specializat pentru date de imagistică medicală. Proiectul este livrat sub formă de serie de Jupyter Notebooks.
Identifies all currently allocated tensors in memory to debug leaks and monitor consumption.