Frama-C:
Plug-ins:
Libraries:

Frama-C API - Stats

Performance Reporting

type pstats = {
  1. tmin : float;
    (*

    minimum prover time (non-smoke proof only)

    *)
  2. tval : float;
    (*

    cummulated prover time (non-smoke proof only)

    *)
  3. tmax : float;
    (*

    maximum prover time (non-smoke proof only)

    *)
  4. tnbr : float;
    (*

    number of non-smoke proofs

    *)
  5. time : float;
    (*

    cumulated prover time (smoke and non-smoke)

    *)
  6. success : float;
    (*

    number of success (valid xor smoke)

    *)
}

Prover Stats

type stats = {
  1. best : VCS.verdict;
    (*

    provers best verdict (not verdict of the goal)

    *)
  2. provers : (VCS.prover * pstats) list;
    (*

    meaningfull provers

    *)
  3. tactics : int;
    (*

    number of tactics

    *)
  4. proved : int;
    (*

    number of proved sub-goals

    *)
  5. timeout : int;
    (*

    number of timeouts and stepouts sub-goals

    *)
  6. unknown : int;
    (*

    number of unknown sub-goals

    *)
  7. noresult : int;
    (*

    number of no-result sub-goals

    *)
  8. failed : int;
    (*

    number of failed sub-goals

    *)
  9. cached : int;
    (*

    number of cached prover results

    *)
  10. cacheable : int;
    (*

    number of prover results that can be cached

    *)
}

Cumulated Stats

Remark: for each sub-goal, only the _best_ prover result is kept

val pp_pstats : Stdlib.Format.formatter -> pstats -> unit
val pp_stats : shell:bool -> cache:Cache.mode -> Stdlib.Format.formatter -> stats -> unit
val pretty : Stdlib.Format.formatter -> stats -> unit
val empty : stats
val add : stats -> stats -> stats
val results : smoke:bool -> (VCS.prover * VCS.result) list -> stats
val tactical : qed:float -> stats list -> stats
val script : stats -> VCS.result
val subgoals : stats -> int
val complete : stats -> bool