; Review of topics
Learning Center
Plans & pricing Sign in
Sign Out
Your Federal Quarterly Tax Payments are due April 15th Get Help Now >>

Review of topics


  • pg 1
									       Review of topics

Final exam :
          -May 2nd to May 7th
       - Projects due on May 7th
• Finite-state models (Kripke structures)

• Symbolic modeling of transition systems:
  – Boolean variables
  – Transitions described logically
  – Semantics of the Kripke structure generated

• Modeling recursive Boolean programs
            Specification logics
• Reachability:
  – Solving reachability explicitly (DFS/BFS)

• Computation Tree Logic (CTL)
  – Syntax and semantics
  – Ability to write CTL specs given English spec
  – Ability to interpret CTL specs
             Symbolic approach
•   Boolean decision diagrams (BDDs)
•   The representation of a function using a BDD
•   BDD canonical given ordering
•   Importance of ordering variables
•   Operations on BDDs:
    – AND, OR, NOT
    – EXISTS
      Symbolic model-checking

• Reachability algorithms using BDDs

• Symbolic CTL model-checking

• Using NuSMV to symbolically model-check
  reachability and CTL.
        Specification logics contd.
• Automata on infinite words (Buchi automata)

• Linear temporal logic

• Converting linear temporal logic to Buchi

• Automata-theoretic method for model checking LTL
      Bounded model-checking

• Formulating bounded model-checking as a
  SAT formula

  (encoding initial and final conditions,
       the transitions functions and
                 k-step reachability)
             Dataflow analysis
• Generic setup of dataflow problems
  – Set of dataflow facts and lattice
  – Flow functions

• The maximal-fixpoint (MFP) and
     meet-over-all-paths (MOP) formulations

• Kill-gen functions, distributive flows
            Dataflow Analysis
• Lattices and fixed points

• Tarski’s thm: existence of least fixed point
   for monotonic functions on a lattice

• Difference between MFP and MOP
  – MFP = MOP for distributive flows
             Dataflow analysis
• Chaotic iteration to solve MFP problems
   for lattices where there are no infinite
   ascending chains.

• Automata-based analysis for MOP problems
  where the dataflow lattice is finite
Reachability in pushdown systems
• Games on finite graphs
  – Solving games using the attractor method

• Reachability of pushdown systems
  – Reduction to games on finite graphs.
       Analysis of programs with
             function calls

• Reducing interprocedural MOP analysis to
   reachability in pushdown systems
  Floyd’s framework of verification

• Floyd’s framework
  – Notion of interpretations
  – Logic to express invariants
  – Checking pre-post invariants to establish safety
  – Using ranking functions to prove that programs
  Preconditions and postconditions

• Definition of strongest postconditions
   and weakest pre-conditions

• Deriving the strongest post-condition for all
   standard operations (assignment, etc.)
  – Using existential quantification
  Preconditions and postconditions

• Deriving the weakest pre-condition for all
   standard operations (assignment, etc.)
  – Without using existential quantification

• (see Graf-Saidi)
    strongest-postcondition(P) => Q
   P => weakest-precondition(Q)
       Proving programs correct

• Ability to find invariants and prove programs
  correct using Floyd’s framework
          Predicate abstraction
• Predicate abstraction
  – Building the abstract program using precondition

  – Ability to manually abstract a program with
    respect to a set of predicates (and hence prove
    a property)

  – No testing of formal notation of abstract
          Symbolic evaluation

• Ability to write down the constraints to check
  feasibility of a control-path of a program

• No formalisms; but must be able to do

To top