ECE 453/CS 447/CS 647: Projects
There are two choices of project. Projects can be done in groups of 2. You must declare your project by the end of Week 8. All projects must be approved by the instructor. Talk to me. Sooner the better. Deadline for project approval is Week 10. Projects are due by the last day of class.
The exact project deliverables depend on the project chosen. All projects must include approximately a 10 page report. The length of the report depends on the amount of code involved in the project (i.e., more code means shorter report).
We managed to publish one of the ECE 653 projects from last spring as a workshop paper at HATRA.
- Dakota Wong, Austin Kothig, and Patrick Lam. Exploring the Verifiability of Code Generated by GitHub Copilot.
Project choice 1: applying a technique
Throughout the course, we will learn of several verification techniques including fuzzing, symbolic execution, and deductive verification. In this project, you have to propose a program or an algorithm to verify with one of the techniques that we have studied in the course. The complexity of the artifact being verified will depend on the verification technique involved. The more complex the verification technique, the simpler the artifact being verified can be.
Code and any other artifacts you produce. If the project is done in groups, ask a TA to create a group repository for you. All code is to be submitted into the group repository (if the project is done in a group), or in your course repository (if the project is done independently)
Report. An approximately 10 page report (can be 9, can be 15, cannot be 5) describing your experience, any theoretical foundations, any design decisions, and implementation that you had to do. Report is to be submitted in PDF. Suggested style is LNCS. An Overleaf template is here. If you insist on using MS Word, a template is available here.
Project choice 2: independent study
Quality assurance and automated verification are active areas of research. In this project, you will conduct an independent study into a topic that is closely related to the material of the course but is not explicitly covered. The study must include reading at least two scientific papers. The outcome of the project can be an implementation of new technique or a report on the topic studied.
- Report. An approximately 15 page report (can be 14, can be 20, cannot be 10) critically reviewing the paper that you have selected. Your review must be critical and in-depth. Simply repeating the papers verbatim is not sufficient. You must show that you have learned and understood something new. This can be done by contrasting different techniques, creating new examples, and, potentially, implementing the techniques. If your report involves implementation, the page limit of the report can be reduced. Report is to be submitted in PDF. Suggested style is LNCS. An Overleaf template is here. If you insist on using MS Word, a template is available here.