CIS-5130 Analysis Project

In this assignment you will do an analysis project of your own making. The goal of this assignment is to get you looking at tools or practicing with tools beyond the scope of the lecture. You are also encouraged to share your findings with the rest of the class. Here are the requirements for this assignment:

  1. Pick an analysis tool that interests you. It could be a tool that we covered in class, or one that we have not covered (you may want to do a little research on the possibilities before deciding).

  2. Learn some aspect of the tool you picked above and apply it to a suitable artifact (or two). For example, you could apply the tool to code you wrote for a class, your personal code, code you wrote for work (as long as you can share it), or some other artifact as appropriate for the tool.

  3. Prepare a 15-20 minute presentation on what you did. Your presentation should include a few slides (not many) and a demonstration. We will schedule class time for these presentations at the end of the semester.

  4. Write a document summarizing what you did. Your document should include a little historical perspective: Who made the tool? What is the tool's purpose? What are its advantages and disadvantages compared to similar tools? Include a few references. The report need not be long (a couple or three pages?), but it gives you an opportunity to share some details you might not have had time for in the presentation. Plan on distributing your report to the class so everyone can benefit from your experience.

  5. Any analysis done in connection with another class can't be used for this assignment. The purpose of this assignment is to broaden your horizons. Double counting your work won't satisfy that goal. Specifically, any profiling done in CIS-5230 (Parallel Programming) can't be used as a project for this course unless you extend the work beyond what is required for CIS-5230 (with justification).

  6. Be sure to get approval of your project plan before proceeding with it! Write a short document (one or two paragraphs) that gives an overview of what tool you want to use and what you hope to do with it. You can change your plans as you learn more about the tool, but I'd like to see something in writing initially anyway.