Linux Performance and Development Tools
"Debugging is twice as hard as writing the code in the first
place.
Therefore, if you write the code as cleverly as possible, you are,
by definition, not smart enough to debug it." - Brian W. Kernighan
- Performance Analysis Tools
- Benchmarks
- LMbench. Low-level
performance benchmark tools.
- STREAM.
Sustainable memory bandwidth benchmark.
- calibrator.
A cache-memory and TLB latency measurement tool.
- Bonnie++.
A disk I/O benchmark.
- System Analysis
- Software Development Tools
- Important Libaries
- vstr is the world's
best general purpose string libary for C. Use it.
- libunwind, a call-chain API that has functionality that overlaps with my backtrace program (download backtrace.c).
- Static Code Analysis
- Splint. A static
checker (was called clint).
- Gimpel Software's flexelint is available as a commercial product for Linux.
- RATS. Rough
Auditing Tool for Security. Similar to Flawfinder.
- Flawfinder, a program that
examines source code for security issues. Similar to RATS.
- Smatch. The Source Matcher,
based on papers about the Stanford
Checker. Coverity
has commercialized this technology.
- Sparse,
a static type-checking tool for the Linux kernel (written by Linus Torvalds). (snapshots from code monkey)
- Uno, a simple tool for code analysis.
- Dynamic Debugging
- Dmalloc. Debug
malloc library.
- mpatrol,
another debugging malloc library.
- Valgrind. An
open-source memory debugger.
- Electric
Fence. A memory bounds checker.
- BFBTester.
A tool that does quick proactive security checks of binaries.
- Compilation and Documentation Tools
- ccache. A compiler
cache. This is a MUST HAVE.
- Doxygen. A
documentation system.
- Code Coverage Tools
- gcov.
A code coverage tool that works with gcc
- ggcov.
A GUI for gcov
- Other Possibly Interesting Stuff
- LSM. Linux Security
Modules.
- Mudflap and Libmudflap. Patches for gcc/egcs.
- Static Code Analysis
- Flawfinder. Static
security analysis tool (written in Python).
- ITS4. Software
Security Tool. Not under GPL.
- Cqual. A
tool for adding type qualifiers to C.
- MOPS. MOdelchecking
Programs for Security properties.
- BOON. Buffer
Overrun detectiON.
- Orion, a C and C++ analyzer using gcc and techniques from Uno.
- Test Suites