5360 Commits (cab28a9461b8bc4581e3af89c9e1b400d8bc506c)

Author SHA1 Message Date
Sungkeun Cho 00081274cb [inferbo] Preciser pruning: (x != 0)
6 years ago
Sungkeun Cho b2189c1c17 [inferbo] Loosen similar bounds condition
6 years ago
Sungkeun Cho bf29bd9772 [inferbo] Fix xcompare of Itv
6 years ago
Ezgi Çiçek 39335bb095 [hoisting] Invalidate all dependencies of invalidated parameters
6 years ago
Sungkeun Cho acdb624723 [inferbo] More deduplication
6 years ago
Sungkeun Cho fed56fd0d8 [inferbo] Revise deduplication
6 years ago
Dino Distefano 5d533bba5c New Infer rule for dispatch_once_t
6 years ago
Sungkeun Cho 9e9deb93be [inferbo] Use set instead of list on get_symbols
6 years ago
Ezgi Çiçek 8a51a70162 [Hoisting] Add FP test for indirect modification in loop
6 years ago
Ezgi Çiçek affe3d1d60 [hoisting] Invalidate args of impure function calls
6 years ago
Daiva Naudziuniene 4954d3da4b [pulse] Model operator=
6 years ago
Daiva Naudziuniene 881bcb8fce [pulse] Clean up placement new model
6 years ago
Sungkeun Cho a2312462eb [inferbo] Use values of global constant variables in C
6 years ago
Sungkeun Cho e5ee023aa3 [infer] Add integral constant expression info
6 years ago
Sungkeun Cho f0fd0fd7ac [infer] Use inline record in Pvar
6 years ago
Jules Villard c8aced1df1 [absint] separate id map bookkeeping from checker transfer functions in LowerHIL
6 years ago
Jules Villard 9a4155f4ef [absint] unify html debug for HIL and SIL
6 years ago
Jules Villard 0a2cb44667 [pulse] introduce the more precise `VECTOR_INVALIDATION` issue type
6 years ago
Jules Villard 52bcce29b5 [access expressions] force clients to normalize when introducing `Dereference` and `AddressOf`
6 years ago
Jules Villard f627812541 [pulse] new issue type `USE_AFTER_DESTRUCTOR`
6 years ago
Jules Villard c6b2126c3f [pulse] forget about addresses that are invalid on only one side of a join
6 years ago
Daiva Naudziuniene 8b54879b07 [pulse] Constructors
6 years ago
Mehdi Bouaziz fd9f0e8101 IntLit: more types
6 years ago
Mehdi Bouaziz fa222ac259 [inferbo] Move most debug from logs to html
6 years ago
Mehdi Bouaziz 17ff54f17a Logging: increase/decrease indent
6 years ago
Mehdi Bouaziz 18c45947da Logging.d_printf
6 years ago
Mehdi Bouaziz 320a859a8a Remove some uninteresting dead code
6 years ago
Mehdi Bouaziz 1606b95f1b Logging: merge d_str_color with d_str
6 years ago
Mehdi Bouaziz b6323db37b Some pp functions
6 years ago
Mehdi Bouaziz 1c7cdb02de Logging: fix some color printing
6 years ago
Sungkeun Cho 87dd2047ec [infer] Use big int in IntLit
6 years ago
Nikos Gorogiannis 77f7e70417 [racerd] cleanups in reporting function
6 years ago
Sungkeun Cho 5653dfac32 [inferbo] Give limit on pretty print of condition set
6 years ago
Sungkeun Cho 120c8785eb [inferbo] Update pp of buffer overflow condition
6 years ago
Daiva Naudziuniene 1094a8224c [pulse] Invalidate object rather than address in destructor call
6 years ago
Jules Villard 5c30ea1051 [debug] print full types in instructions on error
6 years ago
Sungkeun Cho 423b732cb4 [inferbo] Fix condition of narrowing termination
6 years ago
Sungkeun Cho b66f3af827 [inferbo] Fix PrunePairs domain
6 years ago
Mehdi Bouaziz 10804588b2 New function pointer preanalysis without recursion
6 years ago
Mehdi Bouaziz 7fd21e056c [inferbo] Limit narrowing to 5 iterations
6 years ago
Mehdi Bouaziz 6131b1fd13 Allow ints for int options in .inferconfig
6 years ago
Sungkeun Cho a40a7984c7 [inferbo] Try division on minmax value conservatively
6 years ago
Sungkeun Cho 3f71cf327b [inferbo] Separate offset and index in condition
6 years ago
Sungkeun Cho 0ce0ec03d9 [inferbo] Support global constant
6 years ago
Dino Distefano 6fe3edc44e Extending type matching to BlockExpr
6 years ago
Jules Villard 6cce767d19 [pulse] copy tests from ownership
6 years ago
Jules Villard cf66ea0afb [pulse] havoc vector array on push_back
6 years ago
Jules Villard 6d6ac1d368 [pulse] do not use access paths as they forget about &/*
6 years ago
Jules Villard f5786c444b [pulse] use after free
6 years ago
Jules Villard 38ced865f3 [pulse] more issue types and add details about why locations get invalidated
6 years ago
Jules Villard 2c35ba51ea [pulse] move domain operations in their own submodule
6 years ago
Jules Villard cb4bf4443f [sqlite] increase timeout to avoid BUSY errors
6 years ago
Mehdi Bouaziz 3ee96263a7 [inferbo] Simplify and improve Itv.prune_comp
6 years ago
Mehdi Bouaziz 2824056af5 [inferbo] Normalize intervals after substitution
6 years ago
Nikos Gorogiannis 342bfb418a [racerd] fix NSObject.init treatment of ownership
6 years ago
Nikos Gorogiannis b0b8459c3a [racerd] detect ObjC "private" methods
6 years ago
Jeremy Dubreil bb5518b221 [infer] no need to store the procedure attributes for the Java methods
6 years ago
Nikos Gorogiannis 105b772cff [racerd] iOS first steps
6 years ago
Mehdi Bouaziz 33872ff0e9 [buck] Disable C++ modules
6 years ago
Mehdi Bouaziz 148664a7d4 Fix objc tests
6 years ago
Mehdi Bouaziz 139f02449a [inferbo] Remove useless opens
6 years ago
Mehdi Bouaziz ce34dcb695 Format everything
6 years ago
Mehdi Bouaziz ecedb27d77 Add missing FB copyrights
6 years ago
Sungkeun Cho fd3f298156 [inferbo] Add narrowing
6 years ago
Daiva Naudziuniene 5dab665fc2 [pulse] Model placement new
6 years ago
Daiva Naudziuniene 50da07e922 [pulse] Invalidate addresses for destructors
6 years ago
Sungkeun Cho 85ef451701 [infer] Use integer widths on constructing Sizeof exp
6 years ago
Mehdi Bouaziz 3dd97cc40f [inferbo] Use WTO abstract interpreter
6 years ago
Sungkeun Cho f28faad627 [inferbo] Filter integer_overflow_l5 and _u5 by default
6 years ago
Nikos Gorogiannis ea7b185b6b [classloads] add option for specifying root methods and add tests
6 years ago
Jules Villard 497720386e [pulse] join of memory graphs
6 years ago
Jules Villard 3aa712c67a [pulse] define havoc and use in symbolic execution
6 years ago
Jules Villard a295d26f69 [pulse] do not propagate states with errors
6 years ago
Mehdi Bouaziz 2d4e58f57f Mangled.this/is_this
6 years ago
Mehdi Bouaziz e72cd6c00f [inferbo] More precise min/max
6 years ago
Sungkeun Cho 38ab5fda4e [inferbo] Add some tests of imprecise pruning on unsigned int
6 years ago
Mehdi Bouaziz 2bb95e3da6 [AI][debug] Simplify output with phys_equal
6 years ago
Mehdi Bouaziz 592efbf5fa [inferbo] Refine <= for MinMax
6 years ago
Nikos Gorogiannis 4d4f053c62 [classloads] no abstract interpreter
6 years ago
Nikos Gorogiannis 70ed9b146f [classloads] sil version
6 years ago
Nikos Gorogiannis 4334225e67 [class loading] initial commit
6 years ago
Nikos Gorogiannis 7e7913d5ee [racerd] recognize more class member types as concurrency hints for C++
6 years ago
Sungkeun Cho 3f969414fe [inferbo] Check integer overflow when really need
6 years ago
Sungkeun Cho 5d9f11c68e [inferbo] Do not raise integer overflow when multiplying 1
6 years ago
Sungkeun Cho cd1981a567 [inferbo] Change pp of BinaryOperationCondition
6 years ago
Jules Villard 47867a8fdc [pulse] rename `Location` -> `Address` and better reporting
6 years ago
Jules Villard dd220a0fb4 [pulse] vector models
6 years ago
Jules Villard ad98ffa22b [pulse] more aggressive join
6 years ago
Mehdi Bouaziz 6d9943f2aa Uninit: fix test
6 years ago
Martin Trojer 0d4b88ae29 [objc] fixing false positive for weak pointers inside c++ structs
6 years ago
Sungkeun Cho fb4086c6f6 [inferbo] Add integer overflow issue type
6 years ago
Sungkeun Cho 1ae393dc76 [infer] Get widths of build-in integer types
6 years ago
Mehdi Bouaziz 5e2d5c6f6b [Uninit][10/13] Other non-functional changes
6 years ago
Jules Villard 8360465284 [cfg] always store specialized proc desc CFGs
6 years ago
Mehdi Bouaziz 81f31068e2 [Uninit][9/13] Check rhs using prestate
6 years ago
Mehdi Bouaziz d8ecfbfc4b Do not compare types of array elements in access paths and access expressions
6 years ago
Mehdi Bouaziz b3cef556b7 [debug] Print types in access paths/expressions in verbose mode
6 years ago
Mehdi Bouaziz 5ee9ea9e48 Fix warning
6 years ago
Dino Distefano 3d07754275 Giving cost 1 to procedure with empty body
6 years ago
Jules Villard 7bd4aaa819 [pulse] pulse models
6 years ago
Jules Villard 3821be4b7f [pulse] fix compilation error in test
6 years ago
Mehdi Bouaziz dffdd9c2ad [cost] Print constraints in HTML debug
6 years ago
Jules Villard d28d0528d1 [pulse] initial commit
6 years ago
Jules Villard 98f65298c5 [log] do not crash when logging errors
6 years ago
Mehdi Bouaziz a2230bca9d [debug] Print nodes using weak topological order
6 years ago
Mehdi Bouaziz 8ef9bf7641 Expose WTO in ProcCfg
6 years ago
Mehdi Bouaziz b324dbd8dd Use WTO to get loop heads
6 years ago
Mehdi Bouaziz 0d4c06efc5 WTO: use a partial ProcCfg
6 years ago
Jules Villard dd2b9675d6 [log] print only innermost source file context of crash
6 years ago
Jules Villard bee7649048 [perf] fix capture traces and record clang events
6 years ago
Sungkeun Cho fd660f42f5 [inferbo] Suppress exception on placement new
6 years ago
Dino Distefano 2e64566a6c Finding stateless CKComponents
6 years ago
Mehdi Bouaziz 371e1267d9 [debug] Get rid of proof_cover/isproof
6 years ago
Mehdi Bouaziz b71af05f00 Stats: merge visited_fp and visited_re
6 years ago
Mehdi Bouaziz f873debc96 [inferbo] Debug latest prune abstract value
6 years ago
Ezgi Çiçek 78a865b14e [hosting] Disable purity and cost callbacks temporarily
6 years ago
Ezgi Çiçek 99c2a6da8d [hoisting] Hoist only expensive pure functions
6 years ago
Josh Berdine e1d4aad487 [ocamlformat] upgrade ocamlformat to 0.8
6 years ago
Nikos Gorogiannis 9eecd1bb9b [racerd] reconcile java and clang report corellation code
6 years ago
Dino Distefano 08a26d4ba1 First approximation of stateless
6 years ago
Mehdi Bouaziz c3f2fbc8c6 [inferbo] Do not alias values representing multiple values (Java, C partially)
6 years ago
Sungkeun Cho d94ba863c6 [infer] Add type in binary operator
6 years ago
Mehdi Bouaziz eca0b491d6 Weak Topological Order and Abstract Interpreter using it
6 years ago
Mehdi Bouaziz c9b89b54dd Preparing for WeakTopologicalOrder-based abstract interpreter
6 years ago
Mehdi Bouaziz 2be4710811 [AI] Enable debugging only based on --write-html
6 years ago
Mehdi Bouaziz 62b1f39540 [Uninit][8/13] Rename UninitVars to MaybeUninitVars
6 years ago
Mehdi Bouaziz 5679105c15 [Uninit][7/13] Add new tests
6 years ago
Mehdi Bouaziz 01f3f39760 [Uninit][6/13] Move some operations to the domain
6 years ago
Mehdi Bouaziz 6ca6de80c3 [Uninit][5/13] Use callee_formals directly
6 years ago
Mehdi Bouaziz fcf2ce1e8f [Uninit][4/13] extras
6 years ago
Mehdi Bouaziz 6fd02b272f [Uninit][3/13] Modules Models and Initial
6 years ago
Dino Distefano 89700a7d95 Added new predicated for captured values
6 years ago
Mehdi Bouaziz f639906496 [Uninit][2/13] Move summary type
6 years ago
Mehdi Bouaziz 8cac7df447 [Uninit][1/13] Move interproc tests
6 years ago
Mehdi Bouaziz b90c2f3bfc [debug] Print proc attributes on the procedure page
6 years ago
Mehdi Bouaziz 15839539a7 Annot.Method: record rather than pair
6 years ago
Nikos Gorogiannis 0b4beda1cd [starvation] also consider subclasses of Future
6 years ago
Sungkeun Cho 1330475032 [infer] Fix placement_new translation
6 years ago
Sungkeun Cho f4ee2a0234 [inferbo] Revise placement new model
6 years ago
Mehdi Bouaziz aa6f5b2ed5 Uninit nits
6 years ago
Mehdi Bouaziz ded6bd8ba4 Uninit: do not use the one-instr-per-node CFG
6 years ago
Mehdi Bouaziz 3ff9a3127c [uninit] Use LowerHIL-AI directly
6 years ago
Jeremy Dubreil 56709b4ccb [infer] the bug hash should also consider the anonymous classes in the qualifier
6 years ago
Jules Villard 8c7bff0210 [proc-cfg][5/5] remove file-wide cfgs from the db
6 years ago
Jules Villard 2b30dec50a [proc-cfg][4/5] kill Cfg.load
6 years ago
Jules Villard 31e01a9aa0 [proc-cfg][3/5] stop caching whole-file cfgs in exe_env
6 years ago
Jules Villard 7615963bf4 [proc-cfg][2/5] fix duplicate symbols detection
6 years ago
Jules Villard 7e20c8d380 [proc-cfg][1/5] add per-procedure cfgs to the procedures table
6 years ago
Jules Villard b8240eadc1 [cfgs] only analyse *defined* procedures
6 years ago
Jules Villard 2a51bdabaf [cfgs] move specialize_* functions to another module to avoid circular dependencies
6 years ago
Sungkeun Cho 67d14d692e [infer] Avoid twice of xml escaping
6 years ago
Nikos Gorogiannis 41e43b5c1e [starvation] fix typo in reporting
6 years ago
Nikos Gorogiannis 309ce2d362 [racerd] folly spinlock models
6 years ago
Jeremy Dubreil 78505af836 [infer] fix typo in the computation of the bug hash
6 years ago
Jeremy Dubreil fd29aff3a7 [infer] remove the special case to always create summaries for the Java methods
6 years ago
Nikos Gorogiannis 8521d7590a [starvation] allow propagation of order constraints to any class
6 years ago
Jules Villard e3efc0e465 [sql] batch write of attributes
6 years ago
Sungkeun Cho 96cbdb15c7 [inferbo] Use big_int in interval domain
6 years ago
Jules Villard cd49a0c72d [cfg] store the same version of the attributes as the attributes table
6 years ago
Nikos Gorogiannis 1644e99499 [starvation] add issue type STRICT_MODE and make distinct reports on it
6 years ago
Nikos Gorogiannis cbe4d9b0fd [concurrency] drop option type from method matcher records
6 years ago
Nikos Gorogiannis 2989b339a1 [starvation] streamline and enable strict mode
6 years ago
Jules Villard 116ec5ae55 [clang] changes to accomodate the new version of clang
6 years ago
Ezgi Çiçek b54307f5d0 [Hoisting] Add test for FP due to no purity check
6 years ago
Ezgi Çiçek aca0b8e130 [Hoisting] Fix hoisting of void functions
6 years ago
Jeremy Dubreil 2f7e4563c6 [eradicate] also lookup the procedure attributes in the super class
6 years ago
Nikos Gorogiannis 9b02c497f8 [starvation] extract explicit traces
6 years ago
Mehdi Bouaziz e11ec33289 arc: add Java formatter
6 years ago
Jeremy Dubreil ae1861ca42 [eradicate] match the number of parameters when iterating over the list of overridden methods
6 years ago
Jules Villard a3f428e90f [sql] make busy timeout configurable
6 years ago
Mehdi Bouaziz 7c89d92851 [RFC] Format all java files
6 years ago
Ezgi Çiçek d4f943e953 [purity] Don't report on access methods
6 years ago
Sungkeun Cho 86d1560984 [inferbo] Add tests of integer overflow and unsafe casting
6 years ago
Jeremy Dubreil 1989ef7e28 [eradicate] add example false positive caused by not finding the attributes
6 years ago
Ezgi Çiçek 43b3f80de5 Add simple purity analysis
6 years ago
Julian Sutherland 93690dfa0e Check that the end the traces of inferBO and quandary issues match before matching them to form an quandaryBO issue
6 years ago
Jules Villard bb037c39ee [kill -a][4/4] kill `Config.analyzer`, deprecate `--analyzer`
6 years ago
Jules Villard 16dd1ddfaf [kill -a][3/4] remove dead python constants
6 years ago
Jules Villard ea463ce960 [kill -a][2/4] always register checkers in `InferAnalyze`
6 years ago
Jules Villard a29e769b61 [kill -a][1/4] stop using `-a foo` in the infer repo
6 years ago
Jules Villard c257f68226 [kill -a][0/4] do not rely on `Config.analyzer`
6 years ago
Jeremy Dubreil 878add3fad [eradicate] no longer report Field Not Nullable warnings on the Fragment onDestroy method
6 years ago
Julian Sutherland ae924d35ac changes missed in commit "[starvation] refactor method matching ; kill dev-android-strict-mode option"
6 years ago
Nikos Gorogiannis 631959ced0 [starvation] refactor method matching ; kill dev-android-strict-mode option
6 years ago
Mehdi Bouaziz 90fd5ec4a4 Optimize generate_key_stmt/decl
6 years ago
Jules Villard 515d9f6769 [man] check in manual pages
6 years ago
Nikos Gorogiannis 0c7a8556dc [concurrency] treat @MainThread annotation
6 years ago
Jules Villard a2adde8948 try harder not to print empty option names on error
6 years ago
Martin Trojer 6d17ba7044 make tests work in xcode10
6 years ago
Mehdi Bouaziz 82a7f14f90 QuandaryBO issue filtering: fix --no-filtering behavior
6 years ago
Vincent Siles 69f8ebaef6 have infer automatically figure out when `--merge` is needed
6 years ago
Nikos Gorogiannis 66392db8d5 [starvation] allow specifying method patterns for skipping analysis via cmdline and inferconfig
6 years ago
Julian Sutherland 0e9d8380c2 filter issues correctly
6 years ago
Dino Distefano 3c04f32709 hadoc const version
6 years ago
Julian Sutherland b838b7bc46 limited widening to 10 steps
6 years ago
Jules Villard 590f1faac5 [perf] trace pipe operations
6 years ago
Jules Villard 5a894df3af [perf] trace serialization functions
6 years ago
Jules Villard d5c59743b7 [callbacks] trace each checker's execution time
6 years ago
Jules Villard 6837629654 [perf] emit Trace Event json
6 years ago
Jeremy Dubreil eccfb4de10 [nullsafe][Objective C] more models of methods asserting the paramters to be different from nil
6 years ago
Jeremy Dubreil f2282a8277 [infer][buck] use a unique name for the Infer Javac wrapper
6 years ago
Mehdi Bouaziz 88bdf7a797 Fix IList.inter
6 years ago
Julian Sutherland 60784ad045 Updated QuandaryBO issue matching.
6 years ago
Martin Trojer f1353ec3da Turn --buck-blacklist into a string list
6 years ago
Thomas M. DuBuisson 75e4226ea3 [infer][PR] Fix getcwd model to allow NULL argument
6 years ago
Jules Villard 5478f3be64 [log] source location info when dying in the backend
6 years ago
Jules Villard 86f8f3e949 [log] log dying message and backtrace to log file
6 years ago
dWiGhT 704c7cf680 [infer][PR] added `<version>` tag for `maven-compiler-plugin`
6 years ago
Julian Sutherland f6afe3a092 quandaryBO now filters out quandary and inferBO errors if they are not enabled.
6 years ago
Julian Sutherland 5cf66f6da8 InferBO strncpy model
6 years ago
Julian Sutherland 949aae560b Added traces to QuandaryBO errors
6 years ago
Nikos Gorogiannis bca942c694 [python] kill python frontend
6 years ago
Julian Sutherland a5d3203ce8 inferBO calloc model
6 years ago
Martin Trojer 5dff755691 Lock objc_missing_fld to one thread.
6 years ago
Martin Trojer f94e760c7e Adding model and tests for NSString_stringByAppendingString
6 years ago
Jeremy Dubreil 48f03f06f4 [eradicate] skip the analysis of the method in external methods
6 years ago
Mehdi Bouaziz bd8d2eb941 ProcAttributes: simplify var_attribute
6 years ago
Jeremy Dubreil ff851040fc [eradicate] read the procedure attributes directly
6 years ago
Julian Sutherland e24ce31744 Added inferBO model for the C memset function.
6 years ago
Mehdi Bouaziz d9fb7b3004 ProcAttributes: removed unused by_vals
6 years ago
Mehdi Bouaziz 9608c4d340 PrintfArgs: removed unused fixed_pos
6 years ago
Jeremy Dubreil 3442ce1999 [eradicate] no longer report Inconsistent Subclass Return Annotation when overriding external methods
6 years ago
Mehdi Bouaziz f57e7028a8 ProcAttributes: removed unused proc_flags
6 years ago
Julian Sutherland 16c70d1c23 Fixed a bug that caused the stride of symbolic arrays to not be set.
6 years ago
Dino Distefano 21145c75c9 Added new predicate is_const_expr()
6 years ago
Jeremy Dubreil 0d4007e6be [nullsafe] translate the more attributes
6 years ago
Nikos Gorogiannis 52eef069b2 [concurrency] fix UI thread models
6 years ago
Sungkeun Cho b86b6b44f3 [inferbo] Substitute free symbols to Itv.top
6 years ago
Jeremy Dubreil c38163a83a [eradicate] the Java map put method does not accept nullable parameters
6 years ago
Jeremy Dubreil 30bec802aa [infer] more terminal colors for the Infer reports
6 years ago
Daiva Naudziuniene 0bbeb85295 [ownership] Stack reference wrapper example
6 years ago
Martino Luca b0cfd73b19 [Perf] Emit traces alongside cost issues
6 years ago
Julian Sutherland e2150d1579 Wired up model for memmove which is identical to memcopy
6 years ago
Martino Luca aea1b4095e [Perf][CI] Disable threshold based cost reports
6 years ago
Martino Luca c078bf5a12 [Perf][CI] Differential of costs, based on degree variation
6 years ago
Andrey Epin 77744eda97 [infer][java] add support for Buck compilation commands with no source files
6 years ago
Nikos Gorogiannis d48e22be8b [starvation] prefer shorter UI-thread traces
6 years ago
Mehdi Bouaziz ddbb7e05d3 Reporting cleanup 22: log_error/warning -> use IssueType rather than exception
6 years ago
Mehdi Bouaziz 051c9d5e1f [inferbo] Report Unreachable_code_after with Checkers exception
6 years ago
Mehdi Bouaziz 0a9606b2b4 [inferbo] Report conditions always true/false using Checkers exception
6 years ago
Jeremy Dubreil 3c220f7dbb [eradicate] remove the unused code to do the nullability inferrence
6 years ago
Jules Villard 817f83972c [epilogues] do not rely on `at_exit`
6 years ago
Jules Villard 4ddbc714ba [SIL] remove dead `Typ substitution
6 years ago
Nikos Gorogiannis 888a169dce [starvation] make a trace out of our explanation as to why a method runs on the UI thread
6 years ago
Nikos Gorogiannis a6e5ab7fdb [starvation][strict mode] disable strict mode violation reporting and analysis by default
6 years ago
Nikos Gorogiannis 96e698a458 [starvation] strict mode meta-analyzer for Android
6 years ago
Sungkeun Cho 3aab371b1f [inferbo] Detach Summary from Domain module
6 years ago
Sungkeun Cho 6759763a98 [inferbo] Simplify instantiate_ret_alias
6 years ago
Julian Sutherland b7353c961c Added model for memcpy C function to inferBO
6 years ago
Martino Luca dcdc5ec168 [Perf] Add hash to costs report
6 years ago
Julian Sutherland e715d48c12 QuandaryBO
6 years ago
Julian Sutherland 3afec7f2f9 Re-enabling noisy inferBO issues to have better QuandaryBO coverage
6 years ago
Mehdi Bouaziz bc737851b1 Move biabduction config/state to its own module
6 years ago
Mehdi Bouaziz 247e785ae4 Reporting cleanup 21: do not keep in-re-execution issues
6 years ago
Mehdi Bouaziz 9318a22b29 Update plugin
6 years ago
Mehdi Bouaziz 4c0e217410 Remove dead Config.pp_simple
6 years ago
Mehdi Bouaziz 348d0a0326 Remove Config.forcing_delayed_prints
6 years ago
Mehdi Bouaziz 636da5954b Remove dead Config.arc_mode
6 years ago
Martino Luca 37bf7a5039 Emit human-readable cost info when in developer-mode
6 years ago
Ezgi Çiçek 15bdcca119 [Loop-hoisting] Add a new model for Javax's Provider.get() and make it invariant only
6 years ago
Daiva Naudziuniene e5b38a42d8 [ownership] More examples
6 years ago
Martin Trojer e2c08e4085 Decouple objc tests from xcode-select
6 years ago
Mehdi Bouaziz 1141c8c5a8 Linters: remove def_file
6 years ago
Mehdi Bouaziz 7964dd76ca Reporting cleanup 19: use IssueType for CIssue.issue_desc
6 years ago
Jeremy Dubreil 5e2fcd62d4 [infer][java] translate the name of the field when the class is not found
6 years ago
Julian Sutherland a3753885bb Reordered elements of severity array to make compare more meaningful. This will be helpful in merging inferBO and Quandary commits in QuandaryBO
6 years ago
Martino Luca e46bf6a3d9 [Perf] Perform comparisons of costs-reports by using costs-report.json files
6 years ago
Mehdi Bouaziz d331a7ad19 Start/Exit_node don't need the procname
6 years ago
Martino Luca 11f12648ef [Perf] Move EXPENSIVE_EXECUTION_TIME_CALL among filtered issue types
6 years ago
Jeremy Dubreil 22157739b8 [infer] fix dead code
6 years ago
Mehdi Bouaziz e8d8caeecd CFrontend_errors: avoid exposing a global reference
6 years ago
Jeremy Dubreil 35eba40452 [infer] remove the "kind" field from the analysis report
6 years ago
Mehdi Bouaziz 56612796e6 Node.pname_opt doesn't have to be an option
6 years ago
Mehdi Bouaziz 3b96912f64 Reporting cleanup 20: only log_issue_external uses access
6 years ago
Mehdi Bouaziz 539addf1de Biabduction state: option for last_node
6 years ago
Julian Sutherland 7baac52788 Refactored Issue for QuandaryBO integration
6 years ago
Mehdi Bouaziz 0cb31a8057 Reporting cleanup 18: move linters_def_file from reporting to issue type
6 years ago
Mehdi Bouaziz 46cd49df8d PrintfArgs is not an Eradicate checker
6 years ago
Mehdi Bouaziz 249ef9d75b Reporting cleanup 17: move doc_url from reporting to issue type
6 years ago
Martino Luca b5efc56afb [Perf] Add more fields to the perf profiler json parser
6 years ago
Mehdi Bouaziz 911a2e1906 Reporting cleanup 16: UnknownNode -> no node key
6 years ago
Mehdi Bouaziz 98f29bceb4 Reporting cleanup 15: simplify log_issue_deprecated_using_state
6 years ago
Mehdi Bouaziz b8426be310 Dummy_exception: use IssueType.analysis_stops
6 years ago
Daiva Naudziuniene 2a35d6579b [dead store] Removed special case for constexpr in lambda captures
6 years ago
Julian Sutherland 34b0a6165c Added new issues to differentiate tainted buffer accesses and heap allocations
6 years ago
Sungkeun Cho 0cffc52b3b [inferbo] Simplify memory instantiation of function call
6 years ago
Mehdi Bouaziz 39a146a56a Reporting cleanup 14: log error using state
6 years ago
Mehdi Bouaziz ec9f4c2c6a node_key: option type
6 years ago
Mehdi Bouaziz 1c24102e45 DifferentialFilters: simplify relative_complements
6 years ago
Ezgi Çiçek 50e6d491ca [java] Add support for blacklisting in capture mode for Javac
6 years ago
Mehdi Bouaziz 882285a44e Simplify linters_doc_url
6 years ago
Nikos Gorogiannis 365ebd8873 [concurrency] split RacerD+starvation models into three modules
6 years ago
Mehdi Bouaziz 6597d701a1 DifferentialFilters: simplify find_previous
6 years ago
Mehdi Bouaziz f7fe76e043 Renamings: list -> map
6 years ago
Julian Sutherland 7fc29b3248 Added unit tests for function pointers
6 years ago
Ezgi Çiçek b2e7a785ba [Loop-hoisting] Add more models for invariant analysis
6 years ago
Daiva Naudziuniene bfab195d08 [dead store] Do not report dead stores on constexpr
6 years ago
Sungkeun Cho da51a736ec [inferbo] Add a test showing empty fields of structure
6 years ago
Mehdi Bouaziz 87d2f67c91 DifferentialFilters: removed two dead types
6 years ago
Sungkeun Cho d261f94624 [inferbo] Use algebraic data type for allocsite
6 years ago
Jeremy Dubreil bdc1ad751d [eradicate] fix the shaddowing between the annotated signature of the caller and the one of the callee
6 years ago
Jeremy Dubreil 19c7f0497f [eradicate] remove commented out code
6 years ago
Jeremy Dubreil 9349f0d6e2 [eradicate] remove the constant flags remove_temps
6 years ago
Martino Luca 808dd8ee91 [Perf] Merge costs report files coming from buck-based analyses
6 years ago
Jules Villard 5894258f43 [ownership] do not warn on returning ref to outer local
6 years ago
Daiva Naudziuniene 8e753c2b74 [deadstore] Do not report on __tmp
6 years ago
Josh Berdine 40ab73037e [ocamlformat] upgrade to ocamlformat 0.7
6 years ago
Mehdi Bouaziz 060924adff [inferbo] Get rid of condition trace for proof obligations in summary
6 years ago
Mehdi Bouaziz b4b54025bf Remove C++ mutex DOUBLE_LOCK checker
6 years ago
Jeremy Dubreil 066204fcf0 [eradicate] always allow to refine nullable types using repeated calls
6 years ago
Jeremy Dubreil 93e42a5a25 [eradicate] fix the Ambiguous or-pattern variables under guard warning
6 years ago
Sungkeun Cho 1bf8ed95b8 [inferbo] Simplify stack/heap memory domain
6 years ago
Ezgi Çiçek 49e582fa49 [Loop-hoisting] Add a new checker for hoisting invariant function calls
6 years ago
Jeremy Dubreil 66ef5f5c15 [eradicate] always check that non-nullable fields are initialized
6 years ago
Mehdi Bouaziz f8380f9480 Trying to fix comments on Localise.ml
6 years ago
Nikos Gorogiannis 14556f52b4 [starvation] whitelist @WorkerThread methods
6 years ago
Mehdi Bouaziz a06685c517 [inferbo] Add mli for proof obligations
6 years ago
Jeremy Dubreil 426ddb5e1c [nullable] make the Eradicate flag use_models to be the default mode
6 years ago
Sungkeun Cho 524ae3a7e2 [inferbo] Return unknown value on non-const function calls
6 years ago
Jules Villard a3d5f0283d [clang] only pass `--Xclang` args to driver commands
6 years ago
Sungkeun Cho 76bf31bc17 [inferbo] Add a test case of global constant
6 years ago
Jeremy Dubreil ed638de189 [eradicate] remove the check extension flag which was always false
6 years ago
Mehdi Bouaziz 277fd06782 [inferbo] Simplify condition trace
6 years ago
Mehdi Bouaziz 5817ff6adc [inferbo] Do not re-report issues if the precision hasn't improved
6 years ago
Jeremy Dubreil 735b28f359 [infer] remove the bug_class from the Infer report
6 years ago
Jeremy Dubreil 3cffdb9745 [infer] remove the field procedure_id in the analysis report
6 years ago
Mehdi Bouaziz 5a4d4f0882 [inferbo] Fail if trying to substitute non-symbolic conditions
6 years ago
Mehdi Bouaziz 6bb429ef63 Reporting cleanup 13: log_issue_external
6 years ago
Mehdi Bouaziz 9dad4c3648 Reporting cleanup 12: node_id_key -> node
6 years ago
Mehdi Bouaziz 3986a823f8 Reporting cleanup 11: node_id
6 years ago
Mehdi Bouaziz 1a75fa9ebd [inferbo] Propagate INFERBO_ALLOC_MAY_BE_ even when the bound is infinity
6 years ago
Mehdi Bouaziz 693089ab08 [inferbo] Alloc site in the trace for INFERBO_ALLOC_xx issues
6 years ago
Mehdi Bouaziz 364099530e [inferbo] Retrieve callee_pdesc and payload at the same time
6 years ago
Jeremy Dubreil 1938c4b758 [eradicate] remove TypeState extensions
6 years ago
Dino Distefano 370f33c8dc Added predicate for CXX11ConstantExpr
6 years ago
Nikos Gorogiannis af14da6a13 [starvation] stop considering View.get... as blocking.
6 years ago
Ezgi Çiçek 527fb90bbe [Cost] Add a Java model for functions to be considered invariant
6 years ago
Jeremy Dubreil 070f541226 [infer][nullsafe] cleanup of the Eradicate code 1
6 years ago
Jeremy Dubreil 98c596c546 [infer][biabduction] generate the Objective C and C++ models in single core mode
6 years ago
Mehdi Bouaziz 07f22daada [inferbo] Report calls without ()
6 years ago
Mehdi Bouaziz 34a6a487c5 Reporting cleanup 10: log_frontend_issue
6 years ago
Ezgi Çiçek cc18f9883d [Cost] Fix invariant variable analysis to be based on all reaching defns
6 years ago
Mehdi Bouaziz eb282797ab Reporting cleanup 9: move NodeKey to Procdesc
6 years ago
Jules Villard d9e12850b9 [biabd] do not try to bypass `Ondemand` to get proc desc of models
6 years ago
Martino Luca 55c2188615 [Perf] Emit costs to a separate file named costs-report.json
6 years ago
Mehdi Bouaziz 04af716fba Reporting cleanup 8: move errlog to summary
6 years ago
Mehdi Bouaziz ac5633bf58 Reporting cleanup 7: session
6 years ago
Mehdi Bouaziz fbe1e853f4 Reporting cleanup 6: mandatory loc for reporting errors
6 years ago
Mehdi Bouaziz 7024543dc9 Reporting cleanup 5: log_warning/error node_id_key
6 years ago
Mehdi Bouaziz 2ee4b5da18 Reporting cleanup 4: clang_method_kind
6 years ago
Martin Trojer 451f8f1efa Add --Xbuck-no-inline and --Xclang flags to enable jackalope/ios builds.
6 years ago
Mehdi Bouaziz 919d05b5ef Reporting cleanup 3: NodeKey
6 years ago
Julian Sutherland dd4ee55d5a fixed error in java expected test results
6 years ago
Mehdi Bouaziz 114c4e436d Reporting cleanup 2: Errlog.log_issue
6 years ago
Julian Sutherland b7c90c3fe0 Fixed incorrect reporting of tainted index in function call by quandary
6 years ago
Martino Luca 90a3315042 [InferPrint] Refactor common aspects to emit json reports
6 years ago
Mehdi Bouaziz f08ba1c016 Reporting cleanup 1: log_issue_deprecated
6 years ago
Mehdi Bouaziz e3e521afca Kill MinTree
6 years ago
Mehdi Bouaziz add478d97d Remove Errlog.equal
6 years ago
Jeremy Dubreil 54946ce08e [infer] use the procedure name to match Java methods instead of the procedure id
6 years ago
Jeremy Dubreil d000a27bd4 [infer] use a fully qualified name for the procedure field in the final report
6 years ago
Mehdi Bouaziz 6d134762b6 Remove dead print_key
6 years ago
Mehdi Bouaziz 35848a5284 Move 4 eradicate files
6 years ago
Mehdi Bouaziz 96d1f00687 Minor simplifications
6 years ago
Ezgi Çiçek bedf32bed5 [Cost, InferBo] generalize ArrayLists to Collections and Iterators
6 years ago
Ezgi Çiçek 9022228804 add support for hasNext() and iterator() for Java
6 years ago
Daiva Naudziuniene e8c5a84acd [Ownership] Add ownership to return param
6 years ago
Jules Villard 47fdee6000 add tips about debugging infer
6 years ago
Ezgi Çiçek 65491b79ff [Java] Do not generate the same intermediate variable in java translation
6 years ago
Mehdi Bouaziz ad986dffde Get rid of Declare_locals
6 years ago
Jules Villard 59f09ef697 [opam] upgrade atdgen to version 2
6 years ago
Ezgi Çiçek 832e0130cd [Inferbo] Fix the way pointers to arrays are handled in Java
6 years ago
Jeremy Dubreil df34917342 [infer] print all the severities in the debug html
6 years ago
Jeremy Dubreil 802d67ab64 [infer] fix the dependencies for the Buck javac_jar test
6 years ago
Jeremy Dubreil 59b7915177 [infer] rename the severity variants
6 years ago
Jules Villard b8c5dc84ba [absint] escape for xml when dumping info to html debug
6 years ago
Jules Villard e5a5d64760 [caml] do not use `let _ =`
6 years ago
Mehdi Bouaziz 12c0e245c6 [Inferbo] Simplify interval pretty-print
6 years ago
Sungkeun Cho fec87c8b95 [inferbo] Move functions constructing array values
6 years ago
Mehdi Bouaziz 427bb440d6 Inferbo: use Procdesc.get_locals rather than the Declare_locals instruction
6 years ago
Sungkeun Cho 65997b6a44 [inferbo] Remove sizeof function
6 years ago
Mehdi Bouaziz 66d37a496a Tabulation.log_call_trace: do nothing if footprint is false
6 years ago
Jeremy Dubreil 8a6aa4b1fd [infer] fix the internal confusion between the issue kind and the severity
6 years ago
Jeremy Dubreil 3767716c86 [infer][scheduler] simplify the callbacks API
6 years ago
Martino Luca 632cb0e513 [Perf] Emit ZERO_EXECUTION_TIME_CALL issue-type, when zero-costing functions are met
6 years ago
Dino Distefano 4065b76663 Fixed has_type for iterator type
6 years ago
Jules Villard 9ea6d4723f [toplevel] install infertop in infer/bin/ to get models and stuff
6 years ago
Jules Villard 69142ccad4 [biabd] do not get summary of pname to then get pname from summary
6 years ago
Jules Villard cc53c99ad4 [biabd] get rid of `Summary.get` in retain cycle detection
6 years ago
Jules Villard d3a36947bd [specs] do not expose specs cache
6 years ago
Sungkeun Cho c50b28480b [inferbo] Add trace on make_sym
6 years ago
Jeremy Dubreil bdbb8242cf [infer][java] no longer fail on Buck Java project using a custom javac_jar compiler
6 years ago
Jules Villard 987ef9ef67 [biabd] ondemand analysis for `pthread_create` builtin
6 years ago
Julian Sutherland 70ab21d33c Finished splitting itv.ml
6 years ago
Ezgi Çiçek 0a668c2161 [DEAD_STORE] Capture `constexpr`s in lambdas
6 years ago
Jeremy Dubreil 797eedba8b [infer][scheduler] remove one use of Summary.get
6 years ago
Jules Villard ae8632b0be [test determinator] clean up options help
6 years ago
Mehdi Bouaziz 96323b68e6 ProcnameDispatcher: allow matching to depend on a context
6 years ago
Jeremy Dubreil d5a5e7da10 [infer] remove ad hoc treatment of anonymous class renaming
6 years ago
Martino Luca 974e134061 [Perf] Count polynomials costs when computing differential
6 years ago
Sungkeun Cho df80ccda08 [inferbo] Use SymbolPath map in summary instead of entry memory
6 years ago
Daiva Naudziuniene ba4f33089e [stack variable address escape] Do not report on temporary variables
6 years ago
Sungkeun Cho b5ba9a74d1 [Inferbo] Fix trace print condition
6 years ago
Jules Villard f00d73b574 [taskbar] more informative non-interactive mode
6 years ago
Dino Distefano 1efc44c27f Fix has_type when used in the context of namespace
6 years ago
Nikos Gorogiannis 3870ebb747 [starvation] catch calls to Thread.sleep
6 years ago
Nikos Gorogiannis 332bd365e8 [starvation] fix report string when class is annotated @UIThread
6 years ago
Martin Trojer 562f9d1c7c Add guard against triggering static self logic when we have nested class calls
6 years ago
Sungkeun Cho 9eca72d405 [Inferbo] Add relational domains
6 years ago
Mehdi Bouaziz d90a87d743 [inferbo] Remove temporary fix for Java path
6 years ago
Julian Sutherland 66e737a3b4 refactoring itv, moved Ints and NonZeroInt module to seperate file
6 years ago
Jeremy Dubreil ad8c5d68a2 [infer][java] make sure the type definition of the class always exists in the type environment when translating one of its method
6 years ago
Ezgi Çiçek 396caca5d6 Fix array size for Java in `get_malloc_info`
6 years ago
Nikos Gorogiannis 4cc8563212 [starvation] catch Object.wait calls on main thread
6 years ago
Martin Trojer 4ba7218133 Added test to verify a NSArray nil insert case.
6 years ago
Jeremy Dubreil 3539388ea6 [infer][tests] fix the expected test output
6 years ago
Daiva Naudziuniene a8d80a590b [cfg] Add variant type for statement node
6 years ago
Nikos Gorogiannis 14aa1edbf5 [starvation] Avoid FPs in guava Futures
6 years ago
Martino Luca 9e048c11f8 [Perf] Emit cost polynomial and their degree as part of the report
6 years ago
Martino Luca c50b250576 [Perf] Compute the degree of polynomials
6 years ago
Martin Trojer 46e2c153f1 Add std::string as container-method for objc, and change string matching to regexes.
6 years ago
Jules Villard 6e44cae7cd [c] record complex sizeof() and leak from #86
6 years ago
Katie Ots d86737946c Validate buck linters used with compilation database
6 years ago
Ezgi Çiçek 2d889791e2 Fix Java's handling of pointer parameters in Inferbo
6 years ago
Ezgi Çiçek 9ed18e958a Add support for ArrayList.remove
6 years ago
Jules Villard 2761a62e94 [java] record HashMap get from `KeySet()` FP from #128
6 years ago
Jules Villard b23449a7d2 [c] record C lists FP from #120
6 years ago
Jules Villard 398e97183f [java] record Closeable example from #49
6 years ago
Ezgi Çiçek f540aa47a3 Add support for Java's ArrayList.set and ArrayList.get
6 years ago
Ezgi Çiçek 0c6eacc902 Add support for Java's ArrayLists.add*
6 years ago
Martino Luca cccef6261d Revert "[Perf] Add cost information to the hashing function"
6 years ago
Martino Luca ac64be761f [Perf] Add cost information to the hashing function
6 years ago
Nikos Gorogiannis 6b156f71fe [racerd] special-case for Litho's getThis
6 years ago
Martin Trojer ee7f07a1a9 Add missing case to block instruction converter
6 years ago
Jules Villard 83a4a8fa5b [dune] jbuilder -> dune
6 years ago
Jules Villard 0bf9666639 [taskbar] less flicker and garbage
6 years ago
Jules Villard 8977011737 [taskbar] display on-demand nesting
6 years ago
Daiva Naudziuniene 84cfd0a450 [frontend] Do not create exceptional successors for return nodes
6 years ago
Jules Villard c53f35fcf2 [taskbar] migrate compilation db jobs from `Parmap` to `Tasks`
6 years ago
Martin Trojer 4b69087ad5 Adding OBJCPP models to avoid SKIPs of models from .mm
6 years ago
Ezgi Çiçek 34c2899a69 Fix printing of fields in Java
6 years ago
Nikos Gorogiannis c2416defed Fix IntLit.to_int interface and uses.
6 years ago
Katie Ots 9670d3c700 [Lint] Remove misleading error when running linters only
6 years ago
Daiva Naudziuniene 4d1abb0eeb [ownership] Do not report on temporary variables.
6 years ago
Dino Distefano b215cdbff4 Fixed problem with expasion of %name% placeholder
6 years ago
Mehdi Bouaziz 36b581cecd Add cost.mli
6 years ago
Nikos Gorogiannis b0ba6b3e1e [racerd] don't replicate existing logic in `propagate_return`
6 years ago
Nikos Gorogiannis c5ad94d825 [starvation] Adjust blocking call severities to better reflect practice
6 years ago
Martino Luca ae9ee41f78 [TD] Change JSON format for test-determinator
6 years ago
Sungkeun Cho 06a04ca9f5 Revert "[Inferbo] Add relational domain"
6 years ago