1455 Commits (eb197a1cd4fca81f66ab3a1850908fb92c20992d)

Author SHA1 Message Date
Dulma Churchill e578198622 [clang] Do not store proc attributes directly but create procdesc to preserve invariants
8 years ago
Jules Villard c45afc9859 [clang] cleanup obsolete python code
8 years ago
Jules Villard 36a5dc33ee [clang] write clang arguments into a file
8 years ago
Jules Villard 9535c4d89e [clang] convert filter_args_and_run_fcp_clang to OCaml
8 years ago
Peter O'Hearn 69f7ed5f6d [threadsafe] fix the code for recognizing constructors
8 years ago
Jules Villard 5fe40bae12 [siof] check origin of globals and complain if potential siof
8 years ago
Jules Villard 62bfde8b5a [clang] translate global var initializers
8 years ago
Jules Villard 343556e0b2 [base] resolve links when guessing which executable we are running, move infer into bin/
8 years ago
Jules Villard 31230299ea make annoying tput shut up
8 years ago
Jeremy Dubreil 587d829a1a [infer][java] Add the possibility to choose a compiler jar that is different from the system Java compiler to generate the bytecode
8 years ago
Sam Blackshear 08509fb2ab [quandary] don't double-report flows
8 years ago
Sam Blackshear 512de69e13 [quandary] handle dynamic dispatch
8 years ago
Sam Blackshear 6918c117d2 [preanalysis] add option for sound dynamic dipatch handling
8 years ago
Peter O'Hearn 6423ec74ad Writing errors for Threadsafe checker
8 years ago
Sam Blackshear 0a3993edee [utils] add tags_compare utility to make writing default comparison functions easy
8 years ago
Andrzej Kotulski 0f9f44f16e [backend] Report ignored return value on skip functions
8 years ago
Josh Berdine dd8b8e6d2e [reason] reformat with new version of reason
8 years ago
Martino Luca d05b1f172a [Infer][Buck] Invoke buck with *//cxx.pch_enabled=false to disable the use of precompiled headers
8 years ago
Sam Blackshear 072fe0994f [quandary] reporting on getenv -> exec flows
8 years ago
Sam Blackshear 6aee686cb2 [quandary] passing actuals to the sink-determining code
8 years ago
Josh Berdine 4319b08e77 [make] Add target to generate interface file
8 years ago
Jules Villard cb4b2339a3 [checkers] make SimpleCheckers compile
8 years ago
Martino Luca c0a66dbd49 [Infer][CTL] First implementation of a debugging feature for AST checks
8 years ago
Peter O'Hearn 07da8f36d1 don't warn on GuardedBy self reference
8 years ago
Jules Villard 3afb6e2c32 [logging] always set up logging on startup
8 years ago
Dino Distefano 898d956513 Implemented CTL parser
8 years ago
Andrzej Kotulski 1713378438 [IR] Make some fields of ProcAttributes.t immutable
8 years ago
Dulma Churchill 98afe25b54 [linters] Take the attributed types into account when finding pointer types
8 years ago
Sam Blackshear 727af5d660 [checkers] clean up abstract interpreter
8 years ago
Sam Blackshear 856f84aaff [quandary] skeleton for C++ analysis
8 years ago
Cristiano Calcagno 91d711c833 [backend] Perf fix: only load tenv and cfg files once per each file, instead of once per procedure.
8 years ago
Jules Villard c53bfe3159 [clang] rewrite plugin attachment logic in OCaml
8 years ago
Dulma Churchill caa7534a71 [cpp] Report issues in the cpp models as relative paths
8 years ago
Sam Blackshear 1a958d1d8b [quandary] simplifying Source module interface now that calls have single retval
8 years ago
Sam Blackshear 35bb540bf4 [quandary] adding TaintSpec module for clearer naming
8 years ago
Josh Berdine de56a302f3 [refactor] Remove unused prop reporting, and refactor
8 years ago
Josh Berdine 04465bfb0f [mod_dep] Color and cluster mod_dep graph by directory
8 years ago
Sam Blackshear 715e521ead [quandary] making summaries smaller
8 years ago
Dulma Churchill 3b581748f9 [componentkit linters] Remove the links from the message
8 years ago
Peter O'Hearn 6b2a9de863 [refactor] moving check_attributes to patternMatch.ml
8 years ago
Sam Blackshear 95a82a6a04 [backend] don't run preanalysis twice
8 years ago
Andrzej Kotulski 61f532d2f8 [Makefiles] Use custom CC in ocamlopt only when configure flag is set
8 years ago
Andrzej Kotulski 27ed2c7062 [clang] always call add_edge
8 years ago
Dulma Churchill 2d97b5d111 [clang] Add the objc interface case to the function get_decl_from_typ_ptr
8 years ago
Josh Berdine 19969b7180 [config] Do not spam log with args read from INFER_ARGS
8 years ago
Josh Berdine f889479748 [buck] Add --version-vcs option
8 years ago
Peter O'Hearn 81344f016e [refactor] moving StringPPSet from ThreadSafety to Utils
8 years ago
Josh Berdine 314506ec1a [quandary] ok to have no post if start node has no succs
8 years ago
Josh Berdine d8336ea906 [backend] Keep common constraints in pure join
8 years ago
Jules Villard eb391d7875 [llvm] delete llvm frontend
8 years ago
Jules Villard b736f672e7 [lint] check copyright notices for Reason files too
8 years ago
Andrzej Kotulski 9a864dcd6e Pass $(CC) flag set by configure to ocamlopt -cc
8 years ago
Jules Villard af4f65a871 [clang] kill unused plugin
8 years ago
Dulma Churchill a9f1d21dd2 [logging] Add visibility to the report json, so that we can filter the developer bugs in the tv links page
8 years ago
Sam Blackshear 3449cbd555 [checkers] update timestamp when storing checkers summary
8 years ago
Jules Villard d9f83094b5 [clang] do not depend on Config.clang_lang and Config.source_file
8 years ago
Jules Villard 7d49e16d63 [clang] rewrite hijack_and_normalize_clang_command in OCaml
8 years ago
Sam Blackshear 4a35862aa8 [quandary] dont add passthroughs from callee to caller
8 years ago
Sam Blackshear dab5786789 [checkers] kill ref in abstract interpreter
8 years ago
Sam Blackshear 8ed645315c [quandary] fix missing check for builtin in Quandary models
8 years ago
Dulma Churchill bd22999950 [clang] Disable the condition always true or false check for clang as it is too noisy.
8 years ago
Peter O'Hearn 3d1eba890a thread safety checker alpha0
8 years ago
Sam Blackshear 5e2e7b88aa [quandary] allow trace-specific rules for handling unknown code
8 years ago
Andrzej Kotulski 6251aad101 [IR] kill Cfg.set_procname_priority
8 years ago
Andrzej Kotulski 18f6190432 move code that depends on backend/ out from IR/Cfg.re
8 years ago
Andrzej Kotulski b93d6b5012 [ocaml] Create base/ directory for code shared across analyzer and frontends
8 years ago
Jeremy Dubreil ea72dadab3 [infer] Add the possibility to skip the analysis of some files based on their path
8 years ago
Dino Distefano 777378e7cc Do not crash unless in debug mode
8 years ago
Jules Villard 8f32c3cfe1 [clang] minor cleanups
8 years ago
Jules Villard f59c18cc44 [utils] return process exit status in with_process_{in,full} helpers
8 years ago
Josh Berdine 3ddc23d7e5 [IR] Do not use JBasics.java_lang_object in IR/backend
8 years ago
Ryan Rhee 609d1f9058 [clang][frontend] Type ptr to objc if function
8 years ago
Ryan Rhee 8f731569fc [componentkit] Break out common CK context check
8 years ago
Ryan Rhee a1f65716b8 [clang][frontend] Simplify is_objc_if_descendant logic
8 years ago
Ryan Rhee b635269fa8 [clang][frontend] Allow custom blacklist for checking objc descendant
8 years ago
Ryan Rhee 07797410cc [clang][frontend] Break out objc class inheritance check function
8 years ago
Ryan Rhee 272c21ff70 [componentkit] Factory functions analyzer
8 years ago
Martino Luca cab20f4a6e [Infer][iOS][Linters][CTL] Rewrite BAD_POINTER_COMPARISON rule into Computation Tree Logics formula
8 years ago
Dulma Churchill a1d7df6c07 [linters] Log assert failures in the linters framework
8 years ago
Dulma Churchill a44109b2b2 [linters] Pass the current method in the context to the checks about the methods or functions declarations
8 years ago
Dino Distefano 9be81f6e9a Simplify semantics of ET operator and fix build
8 years ago
Dino Distefano 05bb4a0db7 Defining an AST specification language based on CTL for front-end checkers
8 years ago
Dulma Churchill befab1007b [clang] Migrating clang logging to the Logging module
8 years ago
Josh Berdine 67a883e1a2 [models] Use return type for ObjC models
8 years ago
Josh Berdine c094a38d56 [IR] Simplify to single return id, with type
8 years ago
Josh Berdine ae632e281a [IR] Refactor Typ.struct_typ into separate module
8 years ago
Josh Berdine 44e2c32524 [IR] Refactor annotation types into separate module
8 years ago
Josh Berdine 74c8198826 [IR] Remove redundant struct_typ.name field
8 years ago
Josh Berdine af51599e0f [backend] Remove AttributesTable.get_tenv
8 years ago
Jeremy Dubreil 168c613ac9 [infer][java] Separate the builtins from the other models for a better modularity
8 years ago
Jeremy Dubreil d1da078ab7 [infer][java] Minor renaming in the Java frontend
8 years ago
Sam Blackshear 3051d90307 [quandary] kill unused Source.to_return proc
8 years ago
Sam Blackshear af9f34bb60 [quandary] checking for flows from Intents parsed via Uris -> startActivity (and similar)
8 years ago
Ryan Rhee 6475e358c4 [componentkit][const] Ignore NSError
8 years ago
Ryan Rhee 7a434adea8 [componentkit][const] Whitelist certain classes
8 years ago
Dulma Churchill 561f4fdfad [linters] Adding a new type of procname that is used for lint bugs that are not in any method
8 years ago
Dulma Churchill a2ee69975a [clang] Remove support for logging lint issues in procdescs
8 years ago
Dulma Churchill 8554c1e342 [Parallelization][Linters] Wait for processes based on the map of processes, to make sure that we waited for all the children.
8 years ago
Peter O'Hearn 419f2e0bdf [infer] Active Variables
8 years ago
Sam Blackshear fbfece20af [quandary] using exceptional procCFG to explore exceptional control-flow
8 years ago
Sam Blackshear f0a31f460b [checkers] don't crash when a frontend temp is reassigned
8 years ago
Sam Blackshear 4b9899d6b2 [quandary] handling globals in function summaries
8 years ago
Sam Blackshear b1039f51f8 [quandary] add summaries for footprint traces associated with locals
8 years ago
Cristiano Calcagno 4cee6907ec [backend] Remove the global reference DB.current_source and clean up the flow of information about the current source file.
8 years ago
Dulma Churchill 526cf6da6a [Config] Adding a default for the option load
8 years ago
Sam Blackshear ae759ee21f [quandary] fixing crashes when running on recursive code
8 years ago
Sam Blackshear de146f4f2d [quandary] switch to using base -> formal num map in extras
8 years ago
Sam Blackshear 31e6849ec0 [quandary] using summaries part 2: the relational cases
8 years ago
Cristiano Calcagno bd0215a826 [IR] Add notion of file captured to procedure attributes.
8 years ago
Josh Berdine f30b6e39db More robust logging to files
8 years ago
Sam Blackshear 70670f5355 [checkers] kill noisy logging in abstract interpreter
8 years ago
Sam Blackshear e4beca3779 [quandary] using summaries part 1: return
8 years ago
Sam Blackshear cf8c957483 [quandary] use preanalysis for abstract GC
8 years ago
Sam Blackshear 95f6639d6d [backend] refactoring debug html printing to make it easier to call from anywhere
8 years ago
Sam Blackshear 9f1c4e4bca [quandary] adding append operation
8 years ago
Cristiano Calcagno fe21442d47 [tests] Convert the linter tests to the new direct format
8 years ago
Sam Blackshear b34a23c1b4 [java frontend] fix read of unused id in exception translation.
8 years ago
Sam Blackshear 4172650313 [java] treat CatchVar's emitted by Sawja as temporary variables
8 years ago
Sam Blackshear 2f34e998c2 [quandary] consider builtins to be neither sources nor sinks
8 years ago
Cristiano Calcagno b0980bc35e [tests] Convert c/c++ frontend tests to new format.
8 years ago
Cristiano Calcagno afebcdad60 [tests] Prepare objective-c tests for conversion to the new direct testing format
8 years ago
Cristiano Calcagno ec67521c6f [backend] Fix issue where the attribute of a procedure definition could be overwritten with the attribute of a declaration
8 years ago
Josh Berdine 8589dc4868 Remove Tstruct in favor of Tvar
8 years ago
Sam Blackshear 41c121bebf [quandary] adding quandary summaries to specs
8 years ago
Sam Blackshear d6d7293633 [quandary] moving logging of errors into analysis
8 years ago
Sam Blackshear 31435fa936 [quandary] summaries for interprocedural analysis
8 years ago
Sam Blackshear 4f8370e524 [utils] add find_mapi_opt utility
8 years ago
Sam Blackshear ef8b215ee1 [utils] add fold_left_i utility
8 years ago
Sam Blackshear 55a46d1211 [quandary] format for summaries
8 years ago
Josh Berdine f1c10738c5 Exclude autosave files from repl build
8 years ago
Dulma Churchill f99d3a7c8e Add an option clang-frontend-action to drive the frontend into capture or linters when the -a capture option is used
8 years ago
Sam Blackshear 27cfb141da richer sink specifications
8 years ago
Josh Berdine 4706f25bf7 Normalize struct field types to be shallow
8 years ago
Josh Berdine 548338bb4e Move mk_struct to Tenv
8 years ago
Josh Berdine 30b3881e52 Make Typ.struct_typ private and add Typ.mk_struct
8 years ago
Josh Berdine ad31aeb2a2 Expand Tvar to Tstruct as needed
8 years ago
Sam Blackshear 30ff9eda22 fix type of array store
8 years ago
Lázaro Clapp Jiménez Labora 2f90dde351 Add top of file documentation for crashcontext.mli
8 years ago
Sam Blackshear 3368548e3e replace stackop instruction with skip instruction
8 years ago
Sam Blackshear 87248009b7 fixing issue where crashcontext breaks without -o
8 years ago
Sam Blackshear e918624076 abducted -> abduced
8 years ago
Sam Blackshear 1e4b4df427 fixing handling of aliasing for frontend tmp vars
8 years ago
Dulma Churchill e18381ab67 Fix compilation problem with buck compilation database and travis
8 years ago
Cristiano Calcagno 0b7ea202db Convert infer c++ tests to new format
8 years ago
Sam Blackshear 8ab9a6c714 remove some commented logging code
8 years ago
Dulma Churchill f6636c6d41 Store the issue file only if there are issues
8 years ago
Dulma Churchill 6c4762b9de Remove compilation warning
8 years ago
Dulma Churchill 13de8a0835 Fix cpp models that got broken by an incorrect refactoring
8 years ago
Josh Berdine 8a85919001 Pass tenv to everywhere that matches on Tstruct
8 years ago
Josh Berdine 2bebd94553 Remove redundant Typ.struct_typ.csu field
8 years ago
Josh Berdine f0940f25d7 Replace optional mangled struct_name with typename
8 years ago
Josh Berdine 90314a4d94 Catch Unix exceptions in DB.create_dir
8 years ago
Dulma Churchill d11b2754a9 New buck integration based on the compilation database emitted by buck
8 years ago
Sam Blackshear 91071af3ad logging errors
8 years ago
Sam Blackshear 50ac3cde41 command-line setup
8 years ago
Cristiano Calcagno 20c33f15c9 Fix flakiness in the analysis when a procedure is defined in more than one file.
8 years ago
Andrzej Kotulski be891e8413 Simplify builtin function detection during translation
8 years ago
Cristiano Calcagno 346d3e6d01 Address capture flakiness when a symbol is multiply defined.
8 years ago
Dulma Churchill 977f73ff5b Add column to json file of issues
8 years ago
Andrzej Kotulski 97fe6275bd Simplify language detection in frontend
8 years ago
Andrzej Kotulski ad325d5047 Drop ti_raw field from clang_ast_t.type_info
8 years ago
Andrzej Kotulski 21ecba2d17 move retain/release special handling to function_deref_trans
8 years ago
Andrzej Kotulski 7461d40024 Clean up special handling of smart pointers in backend
8 years ago
Andrzej Kotulski 2444618943 Translate functions coming from std headers od demand
8 years ago
Josh Berdine 8cacd31f85 Remove unused typedef and enum Typename's
8 years ago
Jules Villard 4fe1615434 give correct type to root exps of array dereferences
8 years ago
Cristiano Calcagno 674f30de2c Convert java infer tests to the new direct format
8 years ago
Jules Villard 0caa7e1826 move printing module to its own file
8 years ago
Martino Luca 9e3b3c5d77 Fix C++ tests
8 years ago
Josh Berdine 377d284cf2 Simplify originator detection
8 years ago
Sam Blackshear 15b6a8cdd7 killing a bunch of options by using optional argument types correctly
8 years ago
Martino Luca 80c82c0cae Adapt Infer to the new changes introduced by the upgrade to Clang 4.0
8 years ago
Jules Villard a6bf43a570 replace boolean by named argument in Inteproc.propagate
8 years ago
Andrzej Kotulski 4cd9470586 Skip Sil.Call instruction for some shared_ptr method calls
8 years ago
Andrzej Kotulski 2baf3f8456 Replace shared_ptr<T> structs with T* pointers
8 years ago
Sam Blackshear a92543b67c fix needless type extension
8 years ago
Lázaro Clapp Jiménez Labora f2e958ef3a Add support for multiple stacktraces in '-a crashcontext'
8 years ago
Sam Blackshear a31a735e35 separate pretty-printer for pp_kind
8 years ago
Andrzej Kotulski 5d3a15fd9c Fix roots with new names for InferPrint and InferAnalyze
8 years ago
Ryan Rhee e19550a43b Handle l-value refs correctly
8 years ago
Sam Blackshear 36b0a957bd setup for creating very simple absint checkers
8 years ago
Sam Blackshear 89fa74bc9b make @OnBind an alias for @NoAllocation
8 years ago
Sam Blackshear f64e880c11 java traces
8 years ago
Dulma Churchill 6ad78e7d9c Add case for blocks when building a procname
8 years ago
Cristiano Calcagno a6254f6b73 Extend Inferprint with a command --issues-tests to print issues in a format suitable for tests
8 years ago
Andrzej Kotulski a31c5416b1 Add basic support for starting ocaml repl with infer code
8 years ago
Jules Villard c2ca6a23d5 pass -l to infer.py
8 years ago
Dulma Churchill 9ae19d01d0 Make the is_global_var not fire for the static local variables
8 years ago
Cristiano Calcagno ed8d112e87 Convert Inferprint and Inferanalyze to Reason
8 years ago
Jules Villard 26a6594b90 detect unsigned values inside structured expressions
8 years ago
Martino Luca 7de52e7649 Check early whether the given decl has to be checked with linters or not
8 years ago
Jules Villard e1f19192c0 move --fail-on-issue functionality to OCaml
8 years ago
Cristiano Calcagno 91d9cd83b5 Cleanup instruction names: use Load/Store instead of Letderef/Set.
8 years ago
Cristiano Calcagno c0969da619 Remove unused module CodeQuery.
8 years ago
Sam Blackshear 262a121cf6 handle casts
8 years ago
Sam Blackshear 514107ec88 track sinks
8 years ago
Sam Blackshear f0028669ee propagate tainted sources
8 years ago
Andrzej Kotulski 761579469e Revert "[C++] Move models of smart pointers to custom namespace"
8 years ago
Jules Villard 3f60f54fbf align --help and support -h
8 years ago
Dulma Churchill 07bf714d91 Put current method in context
8 years ago