Project Topics
Students are allowed to come up with new project topics
related to their research interests. Model checking is a relatively new
area and there is a lot of research opportunities both for applying
it to new problems and extending the existing techniques.
Below I will list some project topics that I find interesting:
- Case studies in automated verification:
As a project you can use one of
the automated verification tools that will be discussed
in the course in verification of a non-trivial reactive system.
This will involve writing (or modeling) the system in the
input language of the model checker and then using the model
checker to verify the properties you are interested in.
- Counter-example generation in symbolic model checking:
One advantage of model checkers is the fact that they can provide
counter-examples when a property is violated. For example,
counter-example for an invariant may list a sequence of states
that ends with a state which violates the invariant.
Generation of readable counter-examples and generating counter-example
for liveness properties can be challenging.
In this project you will be asked to develop a counter-example
generator for the Action Language Verifier.
- Infinite-State Bounded Model Checking:
Bounded model checking is a technique where the state space search is
limited to a fixed number of steps. Using these techniques model
checking queries are converted into satisfiability checks. The goal
of this project is to develop a bounded model checker for
infinite-state systems.
- Integrating a Polyhedra Manipulator to Action Language Verifier:
We would like to extend the Action Language Verifier with a symbolic
manipulator for real variables. Parma Polyhedral Library is a tool
that can manipulate polyhedra. In this project you will integrate
Parma Polyhedral Library to Action Language Verifier as a symbolic
representation.
- Acceleration techniques for automata representation:
Finite automata are used as a symbolic representation in automated verification.
One can use acceleration operations on automata during
fixpoint computations required for verification. In this project you will use
MONA tool (which is an automata manipulation package) to implement
some fixpoint acceleration techniques.
- Integrating shape analysis into symbolic model checking:
Shape analysis is a static analysis technique for analyzing
behaviors of heap objects. In shape analysis possible configurations
of heap objects are summarized using shape graphs. In this project you
will investigate integrating shape analysis algorithms to symbolic
model checking. We already have some initial results on this project,
the goal will be to extend our shape analysis techniques.
- Verification heuristics for composite representations:
In this project you will investigate
developing heuristics for verification strategies for the Action
Language Verifier developed by our research group.