document and extend trace analysis interface
[model-checker.git] / scanalysis.h
index 3b9fed3547dc74b8cf7d27c80eb25fbc423c87c3..d68f4c114f43d71fdd646ec945861d701182cc39 100644 (file)
@@ -3,11 +3,20 @@
 #include "traceanalysis.h"
 #include "hashtable.h"
 
+struct sc_statistics {
+       unsigned long long elapsedtime;
+};
+
 class SCAnalysis : public TraceAnalysis {
  public:
-       SCAnalysis(const ModelExecution *execution);
+       SCAnalysis();
        ~SCAnalysis();
+       virtual void setExecution(ModelExecution * execution);
        virtual void analyze(action_list_t *);
+       virtual const char * name();
+       virtual bool option(char *);
+       virtual void finish();
+
 
        SNAPSHOTALLOC
  private:
@@ -29,6 +38,10 @@ class SCAnalysis : public TraceAnalysis {
        HashTable<const ModelAction *, const ModelAction *, uintptr_t, 4 > badrfset;
        HashTable<void *, const ModelAction *, uintptr_t, 4 > lastwrmap;
        SnapVector<action_list_t> threadlists;
-       const ModelExecution *execution;
+       ModelExecution *execution;
+       bool print_always;
+       bool print_buggy;
+       bool time;
+       struct sc_statistics *stats;
 };
 #endif