InfoQ

InfoQ

News

My Bookmarks

Login or Register to enable bookmarks for unlimited time.

The content has been bookmarked!

There was an error bookmarking this content! Please retry.

Current Status of Java Static Analysis Tools

Posted by Rob Thornton on Nov 14, 2006

Sections
Process & Practices,
Development,
Operations & Infrastructure
Topics
Debugging ,
Build systems ,
Java
Tags
FindBugs ,
Project Jackpot ,
PMD ,
Eclipse TPTP ,
IntelliJ IDEA ,
Checkstyle

Static analysis tools help developers locate potential problems in their code. Static analysis is an inspection of code without executing it, looking for problems as varied as misunderstood APIs to use of the wrong boolean operators. This post summarizes the six of the leading tools and discusses the current trends in static analysis tools.

Gregg Sporar gives an overview of FindBugs, Checkstyle, PMD, Intellij IDEA's Inspections, Eclipse Testing and Performance Tools Platform, and Netbeans Project Jackpot. He summarizes his findings in this table:

Name Free? Examines Scriptable? Automatically Apply Fixes? Java API? Other extensions
FindBugs Yes Byte code Yes No Yes No
Checkstyle Yes Source Yes No Yes No
PMD Yes Source Yes No Yes XPath
IntelliJ IDEA No Source Yes Yes Yes No
Eclipse TPTP Yes Source No? Yes Yes Templates
NetBeans Project Jackpot Yes Source Planned Yes Yes Rule language

He sees three trends coming in the world of static analysis tools. The first is that these tools are increasing being integrated into IDEs. Intellij IDEA has had these tools for awhile, but recently Eclipse and Netbeans have picked them up with Eclipse TPTP and Project Jackpot. The second is that the tools within the IDEs are gaining the ability to automatically fix the discovered problems. The last trend, is that the tools are becoming scriptable, in the sense that you can create your own definitions for bugs.

Related Sponsor

In today’s hyper-competitive world, later may be too late to adopt Agile development and this Roadmap for Success will help you get started. Download "Agile Development: A Manager's Roadmap for Success" now!

Hammurapi by Nikolay Kolev Posted
Eclipse TPTP by paul browne Posted
  1. Back to top

    Hammurapi

    by Nikolay Kolev

    Another tool worth mentioning is Hammurapi.

  2. Back to top

    Eclipse TPTP

    by paul browne

    While there is a good intro to the Eclipse Test and Performance Project here , does anybody know of an article outlining how to use TPTP for Enterprise Java apps?

    Paul , Technology in Plain English

Educational Content

Transactions without Transactions

Richard Kreuter and Kyle Banker on how to avoid classical RDBMS transactional systems by using compensation mechanisms, transactional messaging or transactional procedures.

Attila Szegedi on JVM and GC Performance Tuning at Twitter

Attila Szegedi talks about performance tuning Java and Scala programs at Twitter: how to approach GC problems, the importance of asynchronous I/O, when to use MySQL/Cassandra/Redis, and much more.

10 tips on how to prevent business value risk

One category of risk that project teams need to ensure they address is business value failure – delivering a product that fails to provide value for the business investor.

Interview: Software Systems Architecture: Working With Stakeholders Using Viewpoints and Perspectives

InfoQ spoke to the authors of Software Systems Architecture on a couple of new topics, the System Context viewpoint and Agile, which have been added to the second edition.

Beauty Is in the Eye of the Beholder

Alex Papadimoulis discusses ugly code, where it comes from, how to avoid it, and how to get rid of it.

Architecting Visa for Massive Scale and Continuous Innovation

John Davies examines Visa’s architecture and shows how enterprises have architected complex integrations incorporating Hadoop, memcached, Ruby on Rails, and others to deliver innovative solutions.

Max Protect: Scalability and Caching at ESPN.com

Sean Comerford unveils ESPN.com’s architecture, what components are used and why, and the current changes the website goes through.

The Seven Deadly Sins of Enterprise Agile Adoption

Are there repeated patterns of failure on Enterprise Agile Enablement efforts? Sanjiv and Arlen discuss Seven Deadly Sins to avoid when adopting Agile in an enterprise.