You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Sam Blackshear 15aaa39fea
allowing class-level Expensive and PerformanceCritical annotations
9 years ago
..
sql_examples Fix indentation of multiline copyright comment 9 years ago
README.md Created IR folder for the intermediate representaion files. 9 years ago
abstractDomain.ml pair domain 9 years ago
abstractInterpreter.ml pass tenv to the transfer functions 9 years ago
addressTaken.ml better names in AbstractDomain and TransferFunctions modules 9 years ago
annotations.ml allowing class-level Expensive and PerformanceCritical annotations 9 years ago
annotations.mli allowing class-level Expensive and PerformanceCritical annotations 9 years ago
callbackChecker.ml Created IR folder for the intermediate representaion files. 9 years ago
callbackChecker.mli Checker that complains when Fragments don't nullify their Views 9 years ago
checkDeadCode.ml Make eradicate work in the absence of procdescs for callees. 9 years ago
checkDeadCode.mli [whitespace] ocp-indent the code 10 years ago
checkTraceCallSequence.ml Refactor Sil.pvar into a separate module. 9 years ago
checkTraceCallSequence.mli moving tracecalls around so tests will pass on open-source build 9 years ago
checkers.ml Refactor Sil.pvar into a separate module. 9 years ago
checkers.mli [backend][cleanup] move fields in common to Cfg.Procdes and Specs.summary to proc_attributes. 10 years ago
codeQuery.ml Warn on unused identifiers 9 years ago
codeQuery.mli [whitespace] ocp-indent the code 10 years ago
codeQueryAst.ml Open Utils implicitly 9 years ago
codequeryLexer.mll Fix indentation of multiline copyright comment 9 years ago
codequeryParser.mly Fix indentation of multiline copyright comment 9 years ago
constantPropagation.ml Make eradicate work in the absence of procdescs for callees. 9 years ago
constantPropagation.mli Created IR folder for the intermediate representaion files. 9 years ago
copyPropagation.ml pass tenv to the transfer functions 9 years ago
dataflow.ml Refactor SymExec.ModelBuiltins into toplevel module 9 years ago
dataflow.mli Created IR folder for the intermediate representaion files. 9 years ago
fragmentRetainsViewChecker.ml Created IR folder for the intermediate representaion files. 9 years ago
idenv.ml Make the API of Exe_env return options instead of throwing exceptions. 9 years ago
idenv.mli Make the API of Exe_env return options instead of throwing exceptions. 9 years ago
immutableChecker.ml Open Utils implicitly 9 years ago
immutableChecker.mli [whitespace] ocp-indent the code 10 years ago
liveness.ml pass tenv to the transfer functions 9 years ago
patternMatch.ml Refactor Sil.pvar into a separate module. 9 years ago
patternMatch.mli Refactor Sil.pvar into a separate module. 9 years ago
performanceCritical.ml allowing class-level Expensive and PerformanceCritical annotations 9 years ago
performanceCritical.mli Initial version of the @Expensive checker 9 years ago
printfArgs.ml Warn on unused identifiers 9 years ago
printfArgs.mli Moving printf args checker into Infer 9 years ago
procCfg.ml liveness analysis and unit tests 9 years ago
procData.ml pass tenv to the transfer functions 9 years ago
registerCheckers.ml turning off copy-propagation 9 years ago
repeatedCallsChecker.ml Refactor SymExec.ModelBuiltins into toplevel module 9 years ago
repeatedCallsChecker.mli [whitespace] ocp-indent the code 10 years ago
scheduler.ml adding generic abstract interpreter 9 years ago
sqlChecker.ml Make eradicate work in the absence of procdescs for callees. 9 years ago
sqlChecker.mli [whitespace] ocp-indent the code 10 years ago
summary.ml passing caller pdesc into the transfer functions 9 years ago
transferFunctions.ml pass tenv to the transfer functions 9 years ago
var.ml move Var into its own module 9 years ago

README.md

Checkers

Checkers is an infrastructure to facitilate writing lightweight checks starting from the Intermediate Representation IR of a project.

Module Checkers contains a number of sample checkers.

Individual checkers can be activated using module RegisterCheckers.