Projects for ComS 512
Projects will be done in groups (less than 3). The group members
should discuss and decide the partition of responsibilities for the
selected project. For example, for non-survey projects, in a group
one of the member can decide to focus on the theoretical part while
the others can concentrate on the implementation. At the end of the
semester (last couple of weeks), each group will make a presentation.
You are also required to write a short project report. The group lists
and projects must be finalized by FEBRUARY 20. We will set
aside few classes to discuss your progress.
Following are some sample projects. You can select from the following
or you can also decide on work on projects of your choice (preferred
choice: come up with projects from your research area). In either
case, you must talk to me before finalizing.
We will have two types of projects: (a) development of practical tools
based on formal methods in some application domain; (b) comprehensive
survey of formal method techniques.
- Multiprocess counterexample analysis. In the event a
property is not satisfied by the model, the model checker generates a
counterexample which is a trace (if the property is universal path
property) in the model witnessing the violation. Typically, such
counterexamples are very long and it is extremely difficult to
understand the cause of counterexample; causal analysis is
important if you want to debug your model quickly.
We will examine models that are made of multiple processes/threads
(simple example: mutual exclusion protocol is for multi-threaded
systems) and properties that are universal path properties. Cause of
counterexamples in such cases can be attributed to some specific
interleavings of the processes/threads. The goal is to identify such
interleavings and guide the user to take appropriate corrective
measure (possibly by updating the model and inserting atomic
operations to remove the interleavings).
The work will involve understanding the working of SMV/Spin model
checker. You can look at the following papers (not a comprehensive
list) to get better understanding of the above project.
-
Survey projects. I have listed some of the topics for survey
projects (you can also come up with topics). The papers listed for
each topic are just few representative publications; it is not a
complete list. You are required to have in-depth knowledge of
selected topics and should be able to answer any question
related to them. If any of the link is broken, first Google-search;
most of these papers are available at the author Websites or citeseer.
- Parameterized System Verification
-
Symbolic model checking with rich assertional languages:
Kesten, Maler, Marcus, Pnueli and Shahar
-
Parameterized verification with automatically computed inductive assertions:
Arons, Pnueli, Ruah, Xu, Zuck
-
Liveness with Invisible Ranking:
Fang, Piterman, Pnueli and Zuck
-
Parameterized Verification by Probabilistic Abstraction:
Arons, Pnueli and Zuck
-
Parameterized Model Checking of Ring-Based Message Passing Systems:
Emerson and Kahlon
Look for conferences like CAV, TACAS in the recent years to dig up
recent papers on the above topic.
- Verification of Programs: Bhagvan, Jillella
Look at SLAM (Microsoft), DART (UIUC, directed automated random
testing), CUTE (Concolic unit testing), BLAST (Berkeley Lazy
Abstraction) projects for more papers.
- Probabilistic Model Checking