779 Commits (2e66dcfac41360427a449ce0a94bc6eb07c8cd72)

Author SHA1 Message Date
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 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 b635269fa8 [clang][frontend] Allow custom blacklist for checking objc descendant
8 years ago
Ryan Rhee 272c21ff70 [componentkit] Factory functions analyzer
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
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
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
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 95f6639d6d [backend] refactoring debug html printing to make it easier to call from anywhere
8 years ago
Cristiano Calcagno fe21442d47 [tests] Convert the linter tests to the new direct format
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
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 4f8370e524 [utils] add find_mapi_opt utility
8 years ago
Sam Blackshear ef8b215ee1 [utils] add fold_left_i utility
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
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
Cristiano Calcagno 0b7ea202db Convert infer c++ tests to new format
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 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
Dulma Churchill 977f73ff5b Add column to json file of issues
8 years ago
Andrzej Kotulski 7461d40024 Clean up special handling of smart pointers in backend
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
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
Jules Villard a6bf43a570 replace boolean by named argument in Inteproc.propagate
8 years ago
Lázaro Clapp Jiménez Labora f2e958ef3a Add support for multiple stacktraces in '-a crashcontext'
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
Cristiano Calcagno ed8d112e87 Convert Inferprint and Inferanalyze to Reason
8 years ago
Jules Villard 26a6594b90 detect unsigned values inside structured expressions
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
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
Cristiano Calcagno 6221956149 Apply type resolution to qualify fields and variants in Prop.
8 years ago
Sam Blackshear 3b12208e1b intraprocedural taint analysis that records sources
8 years ago
Jules Villard dda4921786 exit with correct error code when infer.py fails
8 years ago
Jules Villard 0add05de87 do not print infer.py usage message on wrong arguments
8 years ago
Jules Villard 145cb744f6 do not havoc actuals of skip functions with const parameters
8 years ago
Dulma Churchill b7ec110ea3 Adding new mode linters
8 years ago
Dulma Churchill 3d39fba622 Refactor InferPrint and store the lint issues in a serialized data structure that InferPrint picks up and prints.
8 years ago
Andrzej Kotulski 121c968e77 Move models of smart pointers to custom namespace
8 years ago
Lázaro Clapp Jiménez Labora 175efddc2b Make stacktrace and stacktree line number an int option.
8 years ago
Jules Villard cdce8f9794 better help
8 years ago
Cristiano Calcagno 66385dd5f4 Refactor module Prop by moving normalization functions into module Normalize.
8 years ago
Cristiano Calcagno b48ec1ac93 Clean up API to access components of propositions.
8 years ago
Cristiano Calcagno 89270c558c Add module Core in Prop to make transitions between exposed and normalized explicit.
8 years ago
Josh Berdine a9a38f20ec Simplify normalization in Attribute.remove
8 years ago
Josh Berdine 3896b10265 Move Prop.Attribute to toplevel
8 years ago
Josh Berdine 60496f2ae4 Minor cleanup of Prop.Attributes interface
8 years ago
Josh Berdine 4053d24bed Refactor Prop ops on attributes into sub-module
8 years ago
Josh Berdine c147ab4197 Refactor Sil.attribute and associates to PredSymb
8 years ago
Josh Berdine 25a52c7bbc Refactor operations on Exp.t in Sil to Exp
8 years ago
Josh Berdine f9ca08a9a8 Refactor Exp.t-keyed collections from Sil to Exp
8 years ago
Josh Berdine d60965824e Refactor exp_equal and exp_compare to Exp
8 years ago
Josh Berdine 701eb20f83 Refactor Sil.exp to Exp.t
8 years ago
Josh Berdine 6ffe204252 Make Aobjc_null attribute a binary predicate
8 years ago
Josh Berdine 4185bda8ba Generalize predicates from unary to nary
8 years ago
Josh Berdine b6544eace7 Remove redundant normalization
8 years ago
Josh Berdine c2f62f3a97 Remove tuple type redundant with atom
8 years ago
Josh Berdine a8ce65b221 Encode polarity of predicates into atom tag
8 years ago
Josh Berdine b09b28f10f Add negated attributes, with 2-valued semantics
8 years ago
Josh Berdine 71a15b2388 Represent attributes with atoms, not disequalities
8 years ago
Lázaro Clapp Jiménez Labora d23c99a4ea Add blame_range to crashcontext analysis.
8 years ago
Josh Berdine fe780cb6ff Move comments to improve attachment
8 years ago
Josh Berdine 32146523ca Enable warning: Unexpected documentation comment
8 years ago
Lázaro Clapp Jiménez Labora 751d027f8d Remove 'open Jsonbug_t' scope clutter.
8 years ago
Lázaro Clapp Jiménez Labora 0a8b95a856 Crashcontext ocaml method summary merging
8 years ago
Lázaro Clapp Jiménez Labora ed85a129f5 Add DB.paths_matching utility method to recursively search files under a directory matching a function f.
8 years ago
Josh Berdine 3064caacdb Remove stale Autounit module
8 years ago
Jules Villard aee1eeba3d restore --pmd-xml functionality
8 years ago
Sam Blackshear 3233666b11 extract callsite to its own module
8 years ago
Sam Blackshear ed9495a893 delete unused class-to-source mapper processor
8 years ago
Martino Luca da2717ff2a Migrate BAD_POINTER_COMPARISON check from backend to linters infra
8 years ago
Sam Blackshear 4490d9b033 fix recognition of inner class this guarded-by strings
8 years ago
Daiva Naudziuniene ac9cabe677 Fixing Memory leak false positives in C++/ObjC
8 years ago
Lázaro Clapp Jiménez Labora 9a79e74380 Crashbot results stitching and end-to-end testing.
8 years ago
Sam Blackshear b500a5c4b5 don't warn in cases where GuardedBy string is clearly unrecognizable
9 years ago
Jules Villard 01ffc387bb resolve symlinks recursively until the real infer executable is found
9 years ago
Jules Villard 10f10a90c6 diverge on `throw`
9 years ago
Lázaro Clapp Jiménez Labora 6469a6c37b Implement '-a crashcontext' and '-st trace' options to invoke BoundedCallTree.ml from the command line.
9 years ago
Dulma Churchill 7fd1149f85 Add NPE check for weak variables captured in blocks
9 years ago
Dulma Churchill fb607ef388 Use the block captured variables as mangled
9 years ago
Jules Villard 4078a2b276 pass down --reactive and --continue to python
9 years ago
Daiva Naudziuniene dfb7c15303 Fixing Resource leak false positives assuming developers use raii.
9 years ago
Jules Villard 9378913223 add constructor info to c++ methods
9 years ago
Sam Blackshear d6149c7741 switching to by-ref semantics
9 years ago
Dulma Churchill 62da495510 Start transitioning logging of frontend bugs into a map of errlogs rather than in procdescs
9 years ago
Dulma Churchill 1617d470f1 Creating a specific type for frontend issues
9 years ago
Josh Berdine e8fd648fe8 Fix mod_dep for reason conversion, add mod_dep.pdf
9 years ago
Dulma Churchill 694ded4795 Make the description of issues specify the error kind
9 years ago
Josh Berdine e739b0e6ea Refactor Sil.dexp into separate DecompExp module
9 years ago
Josh Berdine ccd32690d7 Refactor Sil.call_flags into separate CallFlags module
9 years ago
Josh Berdine eefe05b240 Refactor Sil.Subtype into separate Subtype module
9 years ago
Josh Berdine aba67b4a2a Refactor Sil.binop into separate Binop module
9 years ago
Josh Berdine 2154c2c483 Refactor Sil.unop into separate Unop module
9 years ago
Josh Berdine 9487cab145 Refactor Sil.const into separate Const module
9 years ago
Josh Berdine a1b680c473 Move attributes from const to exp
9 years ago
Josh Berdine a379729e1f Use Prop.atom_negate in Rearrange
9 years ago
Josh Berdine 5f309ebb23 Tighten type of Aobjc_null to reduce recursion
9 years ago
Josh Berdine 32d09545e2 Closure values are not constants
9 years ago
Josh Berdine c5ce74f3d3 Exception values are not constants
9 years ago
Sam Blackshear 15534be574 eliminate tmp vars in resource leak error message
9 years ago
Dulma Churchill 5566ca1fd9 Add a new error kind Advice
9 years ago
Sam Blackshear 7b58c71475 centralize creation and detection of clang tmp vars, fix errdesc/bucketing
9 years ago
Josh Berdine 7e59032a42 Move analyzer type and ops from Utils to Config
9 years ago
Sam Blackshear 9df3b8f653 eliminating dead stores created by copy-propagation
9 years ago
Josh Berdine 061bb2d799 Change length of Dsizeof from an exp to a dexp
9 years ago
Josh Berdine caff49e411 Cleanup some usage messages
9 years ago
Josh Berdine ac50b01240 Simplify defining new executables
9 years ago
Josh Berdine c6438da919 Add HOWTO define new config option doc
9 years ago
Dulma Churchill cf72de9460 Make ObjC virtual functions return nil if they are called with nil, even if they are going to be skipped.
9 years ago
Jules Villard 60c5b87ffd make --merge accept absolute paths
9 years ago
Jules Villard b95b71fa85 add option to assume that malloc never returns null
9 years ago
Jules Villard b95aaefb37 make --abs-val great again
9 years ago
Sam Blackshear 2439dcf91f copy propagation step 1: propagate copies in the CFG
9 years ago
Sam Blackshear 16bf929dbe fix confusing `$irvar0` error messages
9 years ago
Josh Berdine 843d380d10 Simplify DB initialization
9 years ago
Josh Berdine 29dfacdffb Treat relative paths wrt initial working directory
9 years ago
Josh Berdine 9608504b57 Ignore non-existent dirs when looking for specs
9 years ago
Josh Berdine e1403f2a0c Create log dir only if results_dir exists
9 years ago
Andrzej Kotulski d1fa1e130d Define STATIC_ANALYSIS macro when using glog/logging.h
9 years ago
Sam Blackshear 37f943a3fa unifying checking of temporary variables
9 years ago
Andrzej Kotulski c3acb3a015 Make InferPrint print to stdout/stderr
9 years ago
Andrzej Kotulski 98f324409d print reason of analysis failure in html
9 years ago
Andrzej Kotulski afc192b100 Add -Xbuck option to pass arguments to buck build
9 years ago
Andrzej Kotulski c7d6d904f7 Whitelist std::min and std::max
9 years ago
Dulma Churchill 8bfa983716 Translate TypeTraitExpr
9 years ago
Sam Blackshear da054beb00 adding exp_sub_ids, instr_sub_bound_ids
9 years ago
Peter O'Hearn 1edb492b70 One step closer to shipping initial GUARDEDBY
9 years ago
Josh Berdine b25572fafb Convert INFER_ONDEMAND_FILE env var to clopt
9 years ago
Josh Berdine a2a7e07708 Add OCaml toplevel driver executable
9 years ago
Sam Blackshear 9d95a3a199 don't warn if procedure is marked VisibleForTesting
9 years ago
Sam Blackshear 03df3a0c47 supporting guarding on outer-class this in inner class
9 years ago
Josh Berdine df0d26e3c7 Move Logging setup to Logging
9 years ago
Martino Luca b27bf407db Aggregate buck stats per target
9 years ago
Josh Berdine a5791d7f43 Remove dead code
9 years ago
Josh Berdine 9bada2f929 Add config option for FCP_CLANG_INCLUDE_TO_REPLACE
9 years ago
Sam Blackshear 7ae14d0bdf don't report on compiler-generated access$ methods
9 years ago
Dulma Churchill f90bf94bd7 Making empty vector an error
9 years ago
Sam Blackshear df257da918 supporting @GuardedBy(MyClass.class) idiom
9 years ago
Sam Blackshear 6304e30f5a don't warn on read-write locks
9 years ago
Josh Berdine f3d7d4d0d6 Deabbreviate CLOpt.exe constructors
9 years ago
Josh Berdine e1d49821fd Fix minor heap size calculation
9 years ago
Josh Berdine 3a47b4064b Fix --help and friends that 2 phase parsing broke
9 years ago
Sam Blackshear b940c4dfac warning on guarded-by writes
9 years ago
Dulma Churchill b1e3d994bd Report more cases of null dereference as empty vector access
9 years ago
Dulma Churchill 52e8d8a560 Expand links under buck-out
9 years ago
Josh Berdine bbec166174 Refactor Sil.typ into separate Typ module
9 years ago
Josh Berdine ce19de4a42 Show timeouts in progress bar in stats mode
9 years ago
Josh Berdine a6a766b5f5 Refactor Sil.Int into separate IntLit module
9 years ago
Josh Berdine 3828bdd544 Make int_compare avoid overflow
9 years ago
Sam Blackshear 35f86fbe7b separate lazy dynamic dispatch from dynamic dispatch handling in preanalysis
9 years ago
Josh Berdine 229ca26c8b Optimize normalization, substitution, renaming of array types
9 years ago
Peter O'Hearn 8613f16c19 drop GuardedBy ui_thread warnings
9 years ago
Sam Blackshear 1e60923e63 improve errdesc to account for copy-propagation
9 years ago
Jeremy Dubreil 17da853fa8 Do not angelically remove the file attribute on the reciever for virtual calls
9 years ago
Josh Berdine a85a88d145 Extend Sizeof with final extensible array length
9 years ago
Dulma Churchill 08c1c5bbf0 Change desc of npe message regarding pointer inside smart pointers
9 years ago
Sam Blackshear fd8a864c15 doing preanalysis on-demand
9 years ago
Dulma Churchill 60d9a19ae0 Fix bucketing for variables passed by reference
9 years ago
Sam Blackshear fa077c75d0 kill uses of Config.curr_language in subtyping part of prover.ml
9 years ago
Dulma Churchill bf9d194e43 Translate builtin_expect as its first argument. Avoids weird symb. exec. problems
9 years ago
Andrzej Kotulski 617ffab0ac Add @generated comment to icfg.dot files
9 years ago
Sam Blackshear 7ec8f59998 adding find_in_node_or_preds to clean up errdesc
9 years ago
Martino Luca f89e66dc60 Stats aggregator for frontend/backend/reporting
9 years ago
Sam Blackshear 83a14a3541 changing API to take pdesc instead of cfg
9 years ago
Cristiano Calcagno 8639042bc0 Remove dead renaming code
9 years ago
Jeremy Dubreil 91c25fe636 revert the use of the jar cache
9 years ago