Battle-tested, Mom-approved
AddressSanitizer, ThreadSanitizer, MemorySanitizer - google/sanitizers
Battle-tested, Mom-approved
[Edit] I was just told that libFuzzer is deprecated. I think the ideas presented are valid for any fuzzer, but the details will differ. Wh...
Solving problems that don't need solving, just because it's fun and educating.
Writing R Extensions
Documentation for OSS-Fuzz
Writing R Extensions
Introduction
Writing R Extensions
La Maison-Blanche demande un audit sur la sécurité des logiciels open source. Partie 2/3 : audit automatique des projets.
How and why to use the Go race detector to improve your programs.
Memory safety bugs continue to be a major source of security vulnerabilities in our critical infrastructure. The CHERI project has proposed extending conventional architectures with hardware-supported capabilities to enable fine-grained memory protection and scalable...
Joe Duffy's Blog | Adventures in the high-tech underbelly
Uber has extensively adopted Go as a primary programming language for developing microservices. Our Go monorepo consists of about 50 million lines of code and contains approximately 2,100 unique Go services. Go makes concurrency a first-class citizen; prefixing function calls with the go keyword runs the call asynchronously. These asynchronous function calls in Go are called goroutines. Developers hide latency (e.g., IO or RPC calls to other services) by creating goroutines within a single running Go program. Goroutines are considered “lightweight”, and the Go runtime context switches them on the operating-system (OS) threads. Go programmers often use goroutines liberally. Two or more goroutines can communicate data either via message passing (channels) or shared memory. Shared memory happens to be the most commonly used means of data communication in Go.
Types are for people.