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).

 

  1. 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.
  2. Predicate Logic – only need to understand the notions of predicates, variables, and quantifiers and how these add power to Propositional Logic.
  3. 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).  Don’t worry about the section on concurrent systems, focus instead on making sure that you understand how the modulo 8 counter example works.
  4. 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.
  5. 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.
  6. Other Temporal Logics and Fairness – understand LTL and CTL*, model checking with fairness (ECG routine)
  7. Timed Automata – how to create them, understand Timed CTL.
  8. 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)
  9. 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?
  10. Miscellaneous – abstraction methods (state merging, cone of influence reduction)