Book Image

Getting started with LLVM core libraries

Book Image

Getting started with LLVM core libraries

Overview of this book

Table of Contents (17 chapters)
Getting Started with LLVM Core Libraries
Credits
About the Authors
About the Reviewers
www.PacktPub.com
Preface
Index

Chapter 9. The Clang Static Analyzer

Humans show difficulty in planning the construction of an abstract apparatus for which they cannot easily measure the size of and quantify effort. Not surprisingly, software projects show a remarkable history of failures owing to an unhandled increase in complexity. If building complex software requires an unusual amount of coordination and organization, maintaining it is perhaps an even tougher challenge.

Still, the older the software gets, the harder it becomes to maintain. It typically reflects the effort of different generations of programmers with contrasting views. When a new programmer is in charge of maintaining old software, it is common practice to simply tightly wrap unintelligible old code pieces, isolate the software, and turn it into an untouchable library.

Such complex code bases demand a new category of tools to aid programmers in taming obscure bugs. The purpose of the Clang Static Analyzer is to offer an automated way to analyze a large...