Projects will be added here as the semester progresses.
For project 1, you will demonstrate your mastery of shell scripting by developing a framework for automatically testing a piece of software. You will then use this framework to analyze faults in a real-world piece of code and identify patterns in the output.
For project 2, you will gain experience with using the git
distributed version control system and associated collaboration tools
on GitHub. You will make several contributions to a repository of
lecture notes from class.
For project 3, you will manually create two high coverage test suites, one for each of two languages spanning two different applicaitons domains and programming languages. You will then use a tool to automatically create a high-coverage test suite for one of these programs. You will also write a report reflecting on this activity.
For project 4, you develop a debugging support tool to reduce the effort associated with software maintenance. Then, you will compare your implementation with a production tool.