YCP Logo Assignment 6: Using Static Analysis

Due: Friday, April 24th by 11:59 PM

This is an individual assignment

Your Task

Download the latest version of FindBugs (http://findbugs.sourceforge.net). Find an open-source software application or library which is written in Java. (However, don't choose ArgoUML.) SourceForge (http://sourceforge.net) is a good place to look for open source Java applications. Use FindBugs to analyze the application.

When you set up the project in FindBugs, make sure that only the Jar files that are properly part of the application are selected in the "Class archives and directories to analyze" section; all other Jar files should be entered in Auxiliary class locations". Also, make sure the application's source directory or directories are added under "Source directories", so that the application source code will be visible when you view the reported warnings.

Find one static analysis warning reported in the "Correctness" category that appears to identify a significant bug in the application. (Infinite recursive loops, null pointer exceptions, and redundant null checks are good candidates.)

Write a brief report containing the following information:

  1. A screen shot of FindBugs displaying the warning. Make sure the affected application source code is visible in the screen shot.
  2. Explain why the code identified by the warning contains a bug.

Submitting

Submit an MSWord, OpenOffice Writer, or PDF document to the Marmoset server as assign6. The server URL is

https://camel.ycp.edu:8443/