mc.h
External header file
mcInt.h
Internal header file
mcAGonly.c
This file contains the code to deal with AG formulas in a special way.
mcCmd.c
Model checking commands.
mcEval.c
CTL to BDD compiler
mcExplain.c
Witness and Debug generator for Fair CTL models.
mcInvar.c
Dedicated algorithms for the verification of invariants on-the-fly wrt reachability analysis.
mcMc.c
Fair CTL model checking routines.

mc.h

External header file

By: Marco Roveri


mcInt.h

Internal header file

By: Marco Roveri

See AlsomcMc.c mcExplain.c


mcAGonly.c

This file contains the code to deal with AG formulas in a special way.

By: Marco Roveri

This file contains the code to deal with AG formulas only, using special purpose algorithms. This functionality is invoked with the -AG option and works only in conjunction with the -f (forward search) option.

See AlsomcMc.c mcEval.c mcExplain.c

check_AG_only()
This function checks for SPEC of the form AG alpha in "context".
make_AG_counterexample()
This function constructs a counterexample starting from state s0.
cont_AG_counterexample()
Auxiliary function to compute a counterexample.

mcCmd.c

Model checking commands.

By: Marco Roveri

This file contains all the shell command to deal with model checking and for counterexample navigation.

See AlsocmdCmd.c

Mc_Init()
Initializes the mc package.
Mc_End()
Quit the mc package
CommandCheckTrans()
Checks the transition relation for totality.
CommandCheckSpec()
Perform fair CTL model checking.
CommandCheckInvar()
Performs model checking of invariants
CommandCheckCompute()
Performs computation of quantitative characteristics
CommandComputeReachable()
Computes the set of reachable states
CommandPrintReachableStates()
Prints the number of reachable states.
CommandGotoState()
Goes to a given state of a trace
CommandPrintCurrentState()
Prints the current state
CommandAssign()
Assigns the evaluation of an expression to a given variable
CommandStep()
Moves to next state in the current trace.
CommandEval()
Evaluates an expression in the current state.

mcEval.c

CTL to BDD compiler

By: Marco Roveri

In this file there is the code to compile CTL formulas into BDD and the code to call the model checking algorithms.

See AlsomcMc.c mcExplain.c mcACTL.c

eval_spec()
Compile a CTL formula into BDD and performs Model Checking.
eval_formula_list()
This function takes a list of formulas, and returns the list of their BDDs.
eval_compute()
Computes shortest and longest length of the path between two set of states.
free_formula_list()
Frees a list of BDD as generated by eval_formula_list
eval_spec_recur()
Recursive step of eval_spec.
eval_compute_recur()
Recursive step of eval_compute.
unary_bdd_op()
Applies unary operation.
binary_bdd_op()
Applies binary operation.
unary_mod_bdd_op()
Applies unary operation.
binary_mod_bdd_op()
Applies binary operation.
binary_mod_bdd_op_ns()
Applies binary operation.
ternary_mod_bdd_op()
Applies ternary operation.
quad_mod_bdd_op()
Applies quaternary operation.
eval_sign()
Complements a BDD according to a flag.

mcExplain.c

Witness and Debug generator for Fair CTL models.

By: Marco Roveri

This file contains the code to find counterexamples execution trace that shows a cause of the problem. Here are implemented the techniques described in the CMU-CS-94-204 Technical Report by E. Clarke, O. Grumberg, K. McMillan and X. Zhao.

See AlsomcMc.c

explain()
Counterexamples and witnesses generator.
ex_explain()
This function computes a path that is a witness for EX(f).
eu_explain()
This function finds a path that is a witness for E[f U g]
ebu_explain()
This function finds a path that is a witness for E[f U g]^{sup}_{inf}.
eg_explain()
This function finds a path that is an example for EG(g).
ebg_explain()
This function finds a path of length (sup-inf) that is an example for EG(g)^{sup}_{inf}.
print_explanation()
Prints out a counterexample trace.
explain_recur()
Recursively traverse the formula CTL and rewrite it in order to use the base witnesses generator functions.
fairness_explain()
Auxiliary function to the computation of a witness of the formula EG f.

mcInvar.c

Dedicated algorithms for the verification of invariants on-the-fly wrt reachability analysis.

By: Marco Roveri

Dedicated algorithms for the verification of invariants on-the-fly wrt reachability analysis.

See AlsomcMc.c

check_invar()
Verifies that M,s0 |= AG alpha
check_invar_fb()
Performs invariant checking going backward and forward.
compute_and_print_path()
Extracts and prints a counterexample for AG alpha.
check_invariant_forward()
Performs on the fly verification of the invariant during reachability analysis.
check_invariant_forward_opt()
Performs on the fly verification of the invariant during reachability analysis.
compute_and_print_path_fb()
check_invariant_forward_backward()
Performs on the fly verification of the invariant during reachability analysis.
check_invariant_forward_backward_opt()
Performs on the fly verification of the invariant during reachability analysis.
print_invar()
Print an invariant specification

mcMc.c

Fair CTL model checking routines.

By: Marco Roveri

Fair CTL model checking routines.

See AlsomcExplain.c

check_spec()
Verifies that M,s0 |= alpha
check_compute()
Compute quantitative characteristics on the model.
check_transition_relation()
Check that the transition relation is total
compute_reachable_states()
Compute reachable states
ex()
Set of states satisfying EX(g).
eu()
Set of states satisfying E[ f U g ].
ef()
Set of states satisfying EF(g).
eg()
Set of states satisfying EG(g).
au()
Set of states satisfying A[f U g].
compute_fair_states()
Set of fair_states.
ebu()
Set of states satisfying E[f U^{inf..sup} g].
ebg()
Set of states satisfying EG^{inf..sup}(g).
abu()
Set of states satisfying A[f U^{inf..sup} g].
ebf()
Set of states satisfying EF^{inf..sup}(g).
minu()
Computes the minimum length of the shortest path from f to g.
maxu()
This function computes the maximum length of the shortest path from f to g.
trans_is_total()
Checks the totality of the transition relation.
print_reachable_states()
Prints statistical information about reachable states.
print_spec()
Prints out a CTL specification
print_compute()
Prints out a COMPUTE specification
fair_iter()
Auxiliary function to handle CTL model checking under FAIRNESS constraints.

Last updated on 990908 16h51