Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

The valgrind suite is a very effective answer to these needs and it's used by most C programmers. Helgrind for data races. Memcheck for memory ownership. Not to mention sophisticated tools for cache profiling, call graph analysis and heap profiling. No, they're not static tools but being dynamic has a host of advantages too.


Valgrind's memcheck is great for exercising known paths in a program, and determining whether they're likely to contain memory errors. It doesn't help you discover those paths, which is what attackers are doing when they research and then exploit your program.

We've known for decades that compiler mitigations, fuzz testing, and dynamic instrumentation are excellent and necessary components of writing more secure C. But they don't secure C programs, because C itself is fundamentally unsafe.

> No, they're not static tools but being dynamic has a host of advantages too.

Advantages that any compiled binary can enjoy.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: