Module CASS.Registry

This module collects all analyses in the analysis system.

Each analysis available in the analysis system must be registered in the top part of this module.

Author: Heiko Hoffmann, Michael Hanus

Version: September 2018

Summary of exported operations:

registeredAnalysisNames :: [String]   
Names of all registered analyses.
registeredAnalysisInfos :: [(String,String)]   
Names and titles of all registered analyses.
functionAnalysisInfos :: [(String,String)]   
Names and titles of all registered function analyses.
lookupRegAnaWorker :: String -> [String] -> IO ()   
runAnalysisWithWorkers :: String -> AOutFormat -> Bool -> [Handle] -> String -> IO (Either (ProgInfo String) String)   
analyzeMain :: Analysis a -> String -> [Handle] -> Bool -> Bool -> IO (Either (ProgInfo a) String)   
Generic operation to analyze a module.

Exported operations:

registeredAnalysisNames :: [String]   

Names of all registered analyses.

registeredAnalysisInfos :: [(String,String)]   

Names and titles of all registered analyses.

functionAnalysisInfos :: [(String,String)]   

Names and titles of all registered function analyses.

lookupRegAnaWorker :: String -> [String] -> IO ()   

runAnalysisWithWorkers :: String -> AOutFormat -> Bool -> [Handle] -> String -> IO (Either (ProgInfo String) String)   

analyzeMain :: Analysis a -> String -> [Handle] -> Bool -> Bool -> IO (Either (ProgInfo a) String)   

Generic operation to analyze a module. The parameters are the analysis, the name of the main module to be analyzed, the handles for the workers, a flag indicating whether the (re-)analysis should be enforced, and a flag indicating whether the analysis results should be loaded and returned (if the flag is false, the result contains the empty program information). An error occurred during the analysis is returned as (Right ...).