Fil-C: Memory-Safety Instrumentation for clang with Concurrent Garbage Collection
By
signa11
Baker's choice. Dense with flavour, light on filler.
Summary
Filip Pizlo has released Fil-C, a solo project that adds memory-safety instrumentation to clang for spatial safety (out-of-bounds accesses) and includes a runtime support library with a concurrent garbage collector for temporal safety (use after free). The tool is highly compatible with existing code, potentially enabling building a full Linux distro userspace with modest patching. Performance overheads are estimated at 1-4x cycles, which is considered tolerable by modern standards.
Key quotes
· 4 pulledFilip Pizlo recently released a (solo!) project called Fil-C that adds a memory-safety instrumentation pass to clang (for spatial safety -- out-of-bounds accesses)
along with a runtime support library and a concurrent GC (for temporal safety -- use after free)
It is, by the standards of such tools, highly compatible with existing code -- so much so that building a full linux distro userspace seems likely within reach with only modest patching effort
The stated performance overheads (measured by Dan Bernstein at 'about 1-4x cycles') are by modern standards 'probably tolerable'
You might also wanna read
Building a Rust-Style Static Analyzer for C++ to Prevent Memory Safety Issues
A systems researcher with 15 years of C++ experience describes building a Rust-style static analyzer for C++ called 'rusty-cpp' to address p
Why Average LLM Use Is Likely Destroying Value in Software Development
The author argues that, contrary to prevailing hype, the average use of Large Language Models (LLMs) is likely destroying value rather than
How AI Accelerated Prototyping: From Idea to Tangible in Record Time
The author reflects on how AI has transformed their prototyping workflow. Previously, the biggest bottleneck was the time needed to scaffold
GitLab 19.0 launches with Secrets Manager, agentic workflows, and self-hosted AI models
GitLab 19.0 has been released, positioning itself as an intelligent orchestration platform for DevSecOps. The release includes expanded secr
bit.ly·1d agoCentralizing Error Handling in Rust with Custom AppError Enums
This article discusses the importance of centralizing error handling in Rust applications using a custom AppError enum combined with map_err
Zig Devlog: Build System Rework Separates Maker and Configurer Processes
This devlog entry from the Zig programming language project announces a major rework of the build system, separating the maker process from
