It's beyond twenty years since Tim O'Reilly published
my little book
Checking C Programs
with Lint. So much has changed!
In those days short books went out on paper as Nutshell Books;
now they go out as Short Cut ebooks. In those days C was the
leading programming language; today Java is one of the leaders,
with others nipping at its heels.
But one thing hasn't
changed, and it hasn't changed since the days of Grace
Murray Hopper: programs still have bugs. Programmers still
write code with bugs. Users still find bugs in software.

While Java does a lot to prevent bugs from forming (Java's
garbage collection gets rid of the majority of memory
allocation and deallocation bugs), it certainly does not
do everything. There is still room for additional tools to
help you find bugs in your software, and for a book that tells
you about some of these tools.