From 4f54fabf4fb6617bfb738d9e6465cb9cd384a7c5 Mon Sep 17 00:00:00 2001 From: Sam Blackshear Date: Tue, 20 Jun 2017 06:46:00 -0700 Subject: [PATCH] [absint] move the framework bits/utilities of Infer.AI to a separate directory from the clients (checkers ~= transfer functions + domains) Reviewed By: jvillard Differential Revision: D5264488 fbshipit-source-id: 454d03f --- infer/src/Makefile | 2 +- infer/src/{checkers => absint}/AbstractDomain.ml | 0 infer/src/{checkers => absint}/AbstractDomain.mli | 0 infer/src/{checkers => absint}/AbstractInterpreter.ml | 0 infer/src/{checkers => absint}/AbstractInterpreter.mli | 0 infer/src/{checkers/checkers.ml => absint/Checkers.ml} | 0 infer/src/{checkers/checkers.mli => absint/Checkers.mli} | 0 infer/src/{checkers => absint}/FormalMap.ml | 0 infer/src/{checkers => absint}/FormalMap.mli | 0 infer/src/{checkers => absint}/LowerHil.ml | 0 infer/src/{checkers => absint}/LowerHil.mli | 0 infer/src/{checkers => absint}/NodePrinter.ml | 0 infer/src/{checkers => absint}/NodePrinter.mli | 0 .../{checkers/patternMatch.ml => absint/PatternMatch.ml} | 0 .../patternMatch.mli => absint/PatternMatch.mli} | 0 infer/src/{checkers/procCfg.ml => absint/ProcCfg.ml} | 0 infer/src/{checkers/procCfg.mli => absint/ProcCfg.mli} | 0 infer/src/{checkers/procData.ml => absint/ProcData.ml} | 0 infer/src/{checkers/procData.mli => absint/ProcData.mli} | 0 infer/src/absint/README.md | 3 +++ infer/src/{checkers/scheduler.ml => absint/Scheduler.ml} | 0 infer/src/{checkers/summary.ml => absint/Summary.ml} | 0 infer/src/{checkers/summary.mli => absint/Summary.mli} | 0 .../transferFunctions.ml => absint/TransferFunctions.ml} | 0 .../TransferFunctions.mli} | 0 infer/src/{checkers/var.ml => absint/Var.ml} | 0 infer/src/{checkers/var.mli => absint/Var.mli} | 0 infer/src/checkers/README.md | 8 +------- 28 files changed, 5 insertions(+), 8 deletions(-) rename infer/src/{checkers => absint}/AbstractDomain.ml (100%) rename infer/src/{checkers => absint}/AbstractDomain.mli (100%) rename infer/src/{checkers => absint}/AbstractInterpreter.ml (100%) rename infer/src/{checkers => absint}/AbstractInterpreter.mli (100%) rename infer/src/{checkers/checkers.ml => absint/Checkers.ml} (100%) rename infer/src/{checkers/checkers.mli => absint/Checkers.mli} (100%) rename infer/src/{checkers => absint}/FormalMap.ml (100%) rename infer/src/{checkers => absint}/FormalMap.mli (100%) rename infer/src/{checkers => absint}/LowerHil.ml (100%) rename infer/src/{checkers => absint}/LowerHil.mli (100%) rename infer/src/{checkers => absint}/NodePrinter.ml (100%) rename infer/src/{checkers => absint}/NodePrinter.mli (100%) rename infer/src/{checkers/patternMatch.ml => absint/PatternMatch.ml} (100%) rename infer/src/{checkers/patternMatch.mli => absint/PatternMatch.mli} (100%) rename infer/src/{checkers/procCfg.ml => absint/ProcCfg.ml} (100%) rename infer/src/{checkers/procCfg.mli => absint/ProcCfg.mli} (100%) rename infer/src/{checkers/procData.ml => absint/ProcData.ml} (100%) rename infer/src/{checkers/procData.mli => absint/ProcData.mli} (100%) create mode 100644 infer/src/absint/README.md rename infer/src/{checkers/scheduler.ml => absint/Scheduler.ml} (100%) rename infer/src/{checkers/summary.ml => absint/Summary.ml} (100%) rename infer/src/{checkers/summary.mli => absint/Summary.mli} (100%) rename infer/src/{checkers/transferFunctions.ml => absint/TransferFunctions.ml} (100%) rename infer/src/{checkers/transferFunctions.mli => absint/TransferFunctions.mli} (100%) rename infer/src/{checkers/var.ml => absint/Var.ml} (100%) rename infer/src/{checkers/var.mli => absint/Var.mli} (100%) diff --git a/infer/src/Makefile b/infer/src/Makefile index e3af6e660..c25be2951 100644 --- a/infer/src/Makefile +++ b/infer/src/Makefile @@ -138,7 +138,7 @@ EXTRA_DEPS = opensource endif DEPENDENCIES = \ - IR backend base checkers eradicate harness integration labs quandary bufferoverrun \ + absint backend base bufferoverrun checkers eradicate harness integration IR labs quandary \ $(EXTRA_DEPS) # ocamlbuild command with options common to all build targets diff --git a/infer/src/checkers/AbstractDomain.ml b/infer/src/absint/AbstractDomain.ml similarity index 100% rename from infer/src/checkers/AbstractDomain.ml rename to infer/src/absint/AbstractDomain.ml diff --git a/infer/src/checkers/AbstractDomain.mli b/infer/src/absint/AbstractDomain.mli similarity index 100% rename from infer/src/checkers/AbstractDomain.mli rename to infer/src/absint/AbstractDomain.mli diff --git a/infer/src/checkers/AbstractInterpreter.ml b/infer/src/absint/AbstractInterpreter.ml similarity index 100% rename from infer/src/checkers/AbstractInterpreter.ml rename to infer/src/absint/AbstractInterpreter.ml diff --git a/infer/src/checkers/AbstractInterpreter.mli b/infer/src/absint/AbstractInterpreter.mli similarity index 100% rename from infer/src/checkers/AbstractInterpreter.mli rename to infer/src/absint/AbstractInterpreter.mli diff --git a/infer/src/checkers/checkers.ml b/infer/src/absint/Checkers.ml similarity index 100% rename from infer/src/checkers/checkers.ml rename to infer/src/absint/Checkers.ml diff --git a/infer/src/checkers/checkers.mli b/infer/src/absint/Checkers.mli similarity index 100% rename from infer/src/checkers/checkers.mli rename to infer/src/absint/Checkers.mli diff --git a/infer/src/checkers/FormalMap.ml b/infer/src/absint/FormalMap.ml similarity index 100% rename from infer/src/checkers/FormalMap.ml rename to infer/src/absint/FormalMap.ml diff --git a/infer/src/checkers/FormalMap.mli b/infer/src/absint/FormalMap.mli similarity index 100% rename from infer/src/checkers/FormalMap.mli rename to infer/src/absint/FormalMap.mli diff --git a/infer/src/checkers/LowerHil.ml b/infer/src/absint/LowerHil.ml similarity index 100% rename from infer/src/checkers/LowerHil.ml rename to infer/src/absint/LowerHil.ml diff --git a/infer/src/checkers/LowerHil.mli b/infer/src/absint/LowerHil.mli similarity index 100% rename from infer/src/checkers/LowerHil.mli rename to infer/src/absint/LowerHil.mli diff --git a/infer/src/checkers/NodePrinter.ml b/infer/src/absint/NodePrinter.ml similarity index 100% rename from infer/src/checkers/NodePrinter.ml rename to infer/src/absint/NodePrinter.ml diff --git a/infer/src/checkers/NodePrinter.mli b/infer/src/absint/NodePrinter.mli similarity index 100% rename from infer/src/checkers/NodePrinter.mli rename to infer/src/absint/NodePrinter.mli diff --git a/infer/src/checkers/patternMatch.ml b/infer/src/absint/PatternMatch.ml similarity index 100% rename from infer/src/checkers/patternMatch.ml rename to infer/src/absint/PatternMatch.ml diff --git a/infer/src/checkers/patternMatch.mli b/infer/src/absint/PatternMatch.mli similarity index 100% rename from infer/src/checkers/patternMatch.mli rename to infer/src/absint/PatternMatch.mli diff --git a/infer/src/checkers/procCfg.ml b/infer/src/absint/ProcCfg.ml similarity index 100% rename from infer/src/checkers/procCfg.ml rename to infer/src/absint/ProcCfg.ml diff --git a/infer/src/checkers/procCfg.mli b/infer/src/absint/ProcCfg.mli similarity index 100% rename from infer/src/checkers/procCfg.mli rename to infer/src/absint/ProcCfg.mli diff --git a/infer/src/checkers/procData.ml b/infer/src/absint/ProcData.ml similarity index 100% rename from infer/src/checkers/procData.ml rename to infer/src/absint/ProcData.ml diff --git a/infer/src/checkers/procData.mli b/infer/src/absint/ProcData.mli similarity index 100% rename from infer/src/checkers/procData.mli rename to infer/src/absint/ProcData.mli diff --git a/infer/src/absint/README.md b/infer/src/absint/README.md new file mode 100644 index 000000000..f14fdfc5f --- /dev/null +++ b/infer/src/absint/README.md @@ -0,0 +1,3 @@ +# AbsInt + +Code + utilties for the Infer.AI abstract interpretation framework. \ No newline at end of file diff --git a/infer/src/checkers/scheduler.ml b/infer/src/absint/Scheduler.ml similarity index 100% rename from infer/src/checkers/scheduler.ml rename to infer/src/absint/Scheduler.ml diff --git a/infer/src/checkers/summary.ml b/infer/src/absint/Summary.ml similarity index 100% rename from infer/src/checkers/summary.ml rename to infer/src/absint/Summary.ml diff --git a/infer/src/checkers/summary.mli b/infer/src/absint/Summary.mli similarity index 100% rename from infer/src/checkers/summary.mli rename to infer/src/absint/Summary.mli diff --git a/infer/src/checkers/transferFunctions.ml b/infer/src/absint/TransferFunctions.ml similarity index 100% rename from infer/src/checkers/transferFunctions.ml rename to infer/src/absint/TransferFunctions.ml diff --git a/infer/src/checkers/transferFunctions.mli b/infer/src/absint/TransferFunctions.mli similarity index 100% rename from infer/src/checkers/transferFunctions.mli rename to infer/src/absint/TransferFunctions.mli diff --git a/infer/src/checkers/var.ml b/infer/src/absint/Var.ml similarity index 100% rename from infer/src/checkers/var.ml rename to infer/src/absint/Var.ml diff --git a/infer/src/checkers/var.mli b/infer/src/absint/Var.mli similarity index 100% rename from infer/src/checkers/var.mli rename to infer/src/absint/Var.mli diff --git a/infer/src/checkers/README.md b/infer/src/checkers/README.md index 4f98a712a..c98bee84a 100644 --- a/infer/src/checkers/README.md +++ b/infer/src/checkers/README.md @@ -1,9 +1,3 @@ # Checkers -Checkers is an infrastructure to facitilate writing lightweight checks starting from the Intermediate Representation [IR](../IR/README.md) of a project. - -Module [Checkers](checkers.mli) contains a number of sample checkers. - -Individual checkers can be activated using module [RegisterCheckers](registercheckers.ml). - - +Transfer functions, abstract domains, and checker configuration. \ No newline at end of file