CSEP590 Final Exam Topics
Summer 2003
Below is a listing/summary of the topics that you will be
responsible for knowing on the final exam.
It is likely that not all topics will be covered, but you should be
prepared to answer questions on all of them. The final exam will be on the last day of class, August 20,
and will last for 2 hours. The exam is
open book and open notes (but no computing device of any kind).
- Propositional
Logic be familiar with what we discussed in class. How do you translate between
Propositional Logic and English (and vice versa)? Parse trees, adequate sets, natural
deduction, proof by mathematical induction.
- Predicate
Logic only need to understand the notions of predicates, variables, and
quantifiers and how these add power to Propositional Logic.
- Modeling
Systems Automata theory, modeling systems as automata, definitions of
behavior (execution paths, partial execution, control vs. data, etc),
networks of automata (synchronized product), modeling systems as Kripke
Structures (first-order equation representation of transition relationship
and initial set of states, creating the actual structure from these
equations). Dont worry about the
section on concurrent systems, focus instead on making sure that you
understand how the modulo 8 counter example works.
- Temporal
Logic and Model Checking understand CTL, CTL parse trees,
translating/creating CTL specifications, CTL equivalencies, understand the
hierarchical classification of verification goals (reachability, safety,
liveness, fairness), the basic model checking algorithm including the
TRANSLATE routine for using the adequate set of CTL operators.
- Symbolic
Model Checking and BDDs understand Boolean functions, binary decision
trees, binary decision diagrams, the 3 BDD reduction techniques (C1-C3),
Ordered BDDs, how Boolean functions can be represented as operations on
BDDs. Symbolic model checking (how
our basic model checking algorithm can be converted to use BDDs instead,
how sets of states and the transition relation is modeled symbolically, be
familiar with the example given in class), be comfortable with the SMV
syntax and semantics.
- Other
Temporal Logics and Fairness understand LTL and CTL*, model checking
with fairness (ECG routine)
- Timed
Automata how to create them, understand Timed CTL.
- Fixed-Point
Characterization of CTL and the Relational Mu-Calculus understand
notions of monotone functions and fixed points, how this relates to CTL
model checking and the proof of correctness for our model checker, syntax
and semantics of the relational mu-calculus (nothing too hard will be
asked on this topic)
- SPIN
and Bandera be comfortable with SPIN and the PROMELA syntax and
semantics. Understand at a high
level what techniques Bandera and SPIN use to model software. Why is Bandera exciting or cutting edge?
- Miscellaneous
abstraction methods (state merging, cone of influence reduction)