Module dev.civl.mc

Class Analysis

java.lang.Object
dev.civl.mc.analysis.IF.Analysis

public class Analysis extends Object
Entry point of the module civl.analysis.
  • Field Details

  • Constructor Details

    • Analysis

      public Analysis()
  • Method Details

    • staticAnalysis

      public static void staticAnalysis(Statement statement, List<CodeAnalyzer> analyzers)
      performs static analysis on the given statement to decide if any code analysis provided by the specified code analyzers is needed.
      Parameters:
      statement - the statement to be analyzed
      analyzers - the list of analyzers that CIVL wants to use for statements
    • getAnalyzers

      public static List<CodeAnalyzer> getAnalyzers(CIVLConfiguration config, dev.civl.sarl.IF.SymbolicUniverse universe)
      gets all code analyzers as required in the configuration.
      Parameters:
      config - the configuration which contains the information of what analyzers are requested
      universe - the symbolic universe to be used by the analyzers
      Returns:
      all code analyzers as required in the configuration
    • analyzeCall

      public static void analyzeCall(List<CodeAnalyzer> analyzers, State state, int pid, CallOrSpawnStatement statement, dev.civl.sarl.IF.expr.SymbolicExpression[] arguments)
      Analyzes a call statement at a certain state.
      Parameters:
      analyzers - the list of analyzers to be applied to the statement
      state - the state where the analysis happens
      pid - the PID of the process that executes the statement
      statement - the call statement to be analyzed
      arguments - the evaluation of the arguments of the call statement
    • printResults

      public static void printResults(List<CodeAnalyzer> analyzers, PrintStream out)
      prints the analysis result of each code analyzer.
      Parameters:
      analyzers - the list of code analyzers, the result of which is to be printed
      out - the output stream