CIS-3720 Homework #3 (Analysis Tools)

The purpose of this assignment is to give you some practice using an analysis tool to find errors and security problems with your code. Unlike most assignments, this assignment is fairly open ended. Instead of, for example, giving you a program with some known issues, I will ask you to analyze one of your existing programs and then write a short document that summarizes your findings. Proceed as follows:

  1. You can use either Java or C for this assignment (you choose). Depending on the language you select, use either SpotBugs or Splint.

  2. Select a program you wrote, for example in a previous class, to analyze. Ideally the program should be "non-trivial" with enough code to make the analysis interesting. If you only have very short code samples available to you, you might want to analyze a couple of different programs.

  3. Set up your tool of choice and analyze your program. Did you find anything interesting? Did the tool point out issues that are worth correcting?

  4. Write a short document that describes your findings. It should include information on some of the more interesting issues found by the tool, along with fragments of relevant code. It isn't necessary to submit your entire program (although it would be okay to do so if you think that would be easier).

  5. One goal of this exercise is to encourage you to apply tools to your future programming routinely. Would you use the tool you tried in the future, for example, in later classes? Add a few comments about this to your document as well. It is fine if your answer is "no," but be sure to explain why.

Submit a zip archive of your document along with any supporting files required.

Last Revised: 2019-09-24
© Copyright 2019 by Peter C. Chapin <>