Tool types

Broadly speaking, within the scope of these areas, there are two kinds of tools:

  • Dynamic analysis tools
  • Static analysis tools

Dynamic analysis tools work essentially by instrumenting the runtime process. Thus, to gain the most out of them, a lot of attention must be devoted to ensuring that the tools actually run over all possible code paths; done by carefully and painstakingly writing test cases to ensure complete code coverage. This is a key point and will be mentioned again (Importantly, Chapter 19, Troubleshooting and Best Practices, covers such points). While very powerful, dynamic analysis tools usually result in a significant runtime performance hit and more memory usage.

Static analysis tools, on the other hand, work ...

Get Hands-On System Programming with Linux now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.