3184 Commits (17cc5ec7bec1ef0d10fc3461f089384ee7e51c7f)

Author SHA1 Message Date
Martino Luca a15d868fb0 Upgrading Infer to Clang 5.0
7 years ago
Jules Villard fb2fa5c5ce [python] return more errors when external commands fail
7 years ago
Jia Chen c4f153947b Removed unused option `allow_missing_index_in_proc_call`
7 years ago
Sam Blackshear 2dcde3a812 [thread-safety] make a distinguished access kind for container writes
7 years ago
Jeremy Dubreil f49d292c3b [infer][backend] remove the bi-abduction based code for taint analysis
7 years ago
Jeremy Dubreil fd4fbe163c [infer] make sure we never swallow the failures when analyzing the models
7 years ago
Sam Blackshear 9246d1357c [thread-safety] temporarily disable non-threadsafe interface checks
7 years ago
Jia Chen a8897c2412 Properly model the copy semantics of NSString.stringWithUTF8String and NSString.stringWithString.
7 years ago
Jia Chen bd90e80859 Added model for std::shared_ptr's aliasing constructor
7 years ago
Sam Blackshear 853d476f13 [liveness] fix bug in usage of OneInstrPerNode CFG
7 years ago
Sam Blackshear ecf9c1b402 [quandary] expose actuals to Source.get
7 years ago
Jules Villard 845114f570 [al] precompute regexps
7 years ago
Sam Blackshear 73f3eee9cd [checkers] use liveness analysis to create dead store checker
7 years ago
Sam Blackshear 1fb9fb48f5 [thread-safety] warning when interface method is called from thread-safe context without annotation
7 years ago
Jules Villard 54fdab889a [driver] do not complain if results directory is empty
7 years ago
Jules Villard fb9cad4ea7 [utils] `Utils.dir_is_empty` was always returning `false`
7 years ago
Jules Villard a6632d8039 [make] restore incrementality of builds
7 years ago
Sam Blackshear 58a7cc48c1 [java integration] use argfile when trying to store a lot of data in the environment
7 years ago
Sam Blackshear 03120a337e [thread-safety] refactor ThreadSafetyDomain.Access to make it easier to add new access kinds
7 years ago
Mehdi Bouaziz 30e1f4295b [c++] weak_ptr model
7 years ago
Sam Blackshear 5784357322 [thread-safety] make Pool subclasses return ownership
7 years ago
Jia Chen acb0650e96 Preserve the name of abduced by-ref logical variables in re-execution phase
7 years ago
Jia Chen 217363f5d6 Whitelist comparison operators and their equivalent functors in <functional>
7 years ago
Jia Chen 6c874957d0 Turn the analysis on for std::pair
7 years ago
Jia Chen 3bacba762a Whitelist the constructors+conversion operators+destructors for classes listed on whitelisted_cpp_classes
7 years ago
Jia Chen c80812453f Fix a corner case in Normalize.normalize where it could drop useful information during normalization
7 years ago
Sam Blackshear 72e778d094 [thread-safety] tests for escape analysis
7 years ago
Jules Villard 4d7742fd68 [javac][wrapper] specify which infer binary to use
7 years ago
Mehdi Bouaziz e828b0bf8a [pp] hv box for printing collections
7 years ago
Sungkeun Cho 2091a529b1 [inferbo] Avoid precision loss on pruning
7 years ago
Sam Blackshear 52577c0a69 [CLI] don't allow the Java buck integration to store too much data in an environment var
7 years ago
Kyriakos Nikolaos Gkorogiannis 410728d18f [thread-safety] Interprocedural escape analysis for formals/locals (essentially step (3) in Sam's list).
7 years ago
Andrzej Kotulski d4c728913a [clang] Ignore all -mllvm args passed to clang -cc1
7 years ago
Dulma Churchill 416478d453 [linters] Predicate for checking enum constants
7 years ago
Mehdi Bouaziz be0c53ddf3 [cpp] Fix failure with c++14 init-capture
7 years ago
Sam Blackshear 29f686d245 [buck] include hash of .inferconfig in cache key
7 years ago
Jeremy Dubreil bafd1cf412 [infer][java] Infer should not suggest @Nullable on captured parameters
7 years ago
Jules Villard 297254d15e [buck] create log files erase at the end of the run
7 years ago
Jules Villard 5dd4b1c870 [build] avoid race condition, and do not run atdgen twice, add ocaml_clean
7 years ago
Jules Villard d07c8a0403 introduce new "diff" command
7 years ago
Jules Villard b0c2cfd7d4 [config] kill --bugs-json option
7 years ago
Jules Villard 9a2746c143 [make] fix javac capture
7 years ago
Josh Berdine 6bbb186ce2 [format] Attach docstrings to be warning 50 clean, other doc fixes
7 years ago
Josh Berdine 8c6615963f Revert "[infer][PR] Fixed the gradle capture for the projects with spaces in their path."
7 years ago
Andrzej Kotulski e366b0d9b5 [clang] Fix expression statement with conditional inside
7 years ago
Jules Villard 36b6ab1779 [log] die in a proper fashion
7 years ago
Jeremy Dubreil ad54126dab [infer][ondemand] add a `--keep-going` command line option to specify when to catch the exceptions raised during the analysis
7 years ago
Jia Chen 0b641edaac Do not assign the hidden field when processing init list initialization for objective c
7 years ago
Sungkeun Cho 1531a3d538 [inferbo] Pruning return value of function call
7 years ago
Pavel Grafov 82f7104ff7 [infer][PR] Fix javac wrapper
7 years ago
Dulma Churchill 4a6652faef [linters] Do not report mutable local variable in components advice on static locals
7 years ago
azhdar 34d6a43cdb [infer][PR] add cursorClosedCheckNullCheckClosed test
7 years ago
Dulma Churchill 7c384669eb [linters] Add a new linter UNAVAILABLE_CLASS_IN_SUPPORTED_IOS_SDK for checking unavailable classes in supported ios sdk
7 years ago
Josh Berdine bab3d81cb0 Convert Reason to OCaml, and auto-format OCaml
7 years ago
Josh Berdine bf2a0cfc53 Prepare to format OCaml and convert Reason code
7 years ago
Jeremy Dubreil 927a6cfbb6 [infer][quandary] add the tests from the bi-abduction based taint analysis to the Quandary tests
7 years ago
Mehdi Bouaziz 7411298def [cleanup] Killed Const.Cptr_to_fld and Binop.PtrFld
7 years ago
Josh Berdine f07de2d9c9 Replace long structured string literals with 'quoted strings'
7 years ago
Dulma Churchill 8e078c33d7 [linters] Print active linters to the stdout when --print-active-checkers is passed
7 years ago
Jules Villard e79f3837c3 [CLOpt] allow to override the subcommand in infer sub-processes
8 years ago
Jia Chen c1905b87b1 Making the report blacklist configurable through command line
8 years ago
Andrzej Kotulski b8e679dfeb [generic models] Implement sample generic models, add code to handle them
8 years ago
Jules Villard 3ed48e3196 [mvn] handle weird xml
8 years ago
Jules Villard 50dc0bcad4 [driver] refuse to nuke suspicious results directories
8 years ago
Dulma Churchill 144e062684 [linters] Take instancesRespondToSelector into account to avoid FPs
8 years ago
Dulma Churchill 3aa68e23d9 [linters] Be able to specify human readable bug type in the rules
8 years ago
Jia Chen 7c41d3ee48 [infer][backend] Invalidate by-ref parameters for logical variables as well as program variables when calling undefined functions
8 years ago
Jia Chen 89de9504bb Fixed a (supposed) typo in objc test
8 years ago
Andrzej Kotulski e5556949d3 [backend] Introduce type substitution to expressions and instructions
8 years ago
Andrzej Kotulski 621ace48af [backend] Make Sil.subst type variant to allow more types of substitution
8 years ago
Dulma Churchill 431b5c6ede [linters] Disable filtering by path in debug or no-filtering mode
8 years ago
Josh Berdine a5c999db1e [threadsafety] Limited support for more access path forms
8 years ago
Mehdi Bouaziz 2ee8321456 [cpp][model] Do not define _LIBCPP_VECTOR or _GLIBCXX_VECTOR
8 years ago
Jules Villard 8b9a1f2582 add clang deps to a test
8 years ago
Jia Chen 89ef9356d0 Useful but insignificant changes in Prover
8 years ago
Mehdi Bouaziz d1bc510cd5 [biabduction][test] Repro of issue 680
8 years ago
Mehdi Bouaziz 42c224c224 [cpp][bufferoverrun] Regression test for folly/memory/UninitializedMemoryHacks.cpp
8 years ago
Mehdi Bouaziz d9b3b4d9ff [inferbo] Do not report location in model
8 years ago
Jules Villard 7e2b5dd161 [inferbo] printing every state of symbolic execution is verbose
8 years ago
Jia Chen 28b691d9fd [infer][backend] Perform deep match in Sil.exp_replace_exp
8 years ago
Josh Berdine 3161206534 [quandary] Continue past unbindable return values
8 years ago
Josh Berdine 926c6fee97 [threadsafety] Skip indirect calls in C++
8 years ago
Jia Chen 77c56de7a9 [infer][backend] Do not create abduced var for addresses of local variables that are marked as Aundef
8 years ago
Jia Chen 10f1969bcf [infer][cpp] Fixed the error message for dangling pointer dereference when the dereference comes from C++ `delete` operator
8 years ago
Jia Chen afc8c1b762 [infer][backend] Deallocate local variables before formal parameters
8 years ago
Josh Berdine a98f5ab244 unbreak build
8 years ago
Josh Berdine b83ab88b65 [multilinks] do not warn when the multilink does not exist
8 years ago
Josh Berdine 8ce531b3de [threadsafety] Fix divergence due to indexing string literal in loop
8 years ago
Kihong Heo 94d6efb83a [Inferbo] Add traces for buffer overrun bug report
8 years ago
Jia Chen 257e684392 [infer][checker] Put AnnotationSpec.sink_predicate and AnnotationSpec.sanitizer_predicate into actual use for annotation reachability checker
8 years ago
Martino Luca bfb8ca78a8 Fix the test command that checks the interesting_paths_filter feature
8 years ago
Jeremy Dubreil 987347ceca [infer][java] Infer should not suggest to add @Nullable for the field nullified on Fragement onDestroyView
8 years ago
Jia Chen f9e03681f8 Fix test
8 years ago
Jia Chen b5b9c28a02 Add --write-html-regex-whitelist option that prints out debugging html only for selected source files
8 years ago
Daiva Naudziuniene 8e91932be2 [ThreadSafety] Do not report on private C++ methods
8 years ago
Alexander Slesarev c2f7ee9337 [infer][PR] Fixed the gradle capture for the projects with spaces in their path.
8 years ago
Radu Grigore 8c98bee660 [infer][PR] Make --java-jar-compiler visible in `infer capture --help`.
8 years ago
Daiva Naudziuniene 250449e08a [ThreadSafety] Treating unique_lock.
8 years ago
Sungkeun Cho c45c9c745f [inferbo] Instantiate pointer parameters to structures
8 years ago
Daiva Naudziuniene 77e3110adc Propagating access of Decl from clang plugin to ProcAttributes.
8 years ago
Josh Berdine e04dd37df3 update opam deps
8 years ago
Jia Chen 301ebd4cd5 Teach do_imply additional aliasing rules
8 years ago
Jules Villard 068622ce1b [-notest] goodnight, sweet prince
8 years ago
Jules Villard b9c59b2b1d [vector] model beginPtr and endPtr separately
8 years ago
Jules Villard 2f569e2b97 [driver] move things around
8 years ago
Jules Villard 83148a71aa [rundiff] thread the changed files list through the code instead of using the Config-time value
8 years ago
Jules Villard 6388910b96 [inferbo] vector::get() returns an allocated value
8 years ago
Andrzej Kotulski a864b4068f [clang IR] Change Fieldname.t to store typename
8 years ago
Andrzej Kotulski 61aa7aaae5 Move Fieldname module inside Typ
8 years ago
Jia Chen a8ad84b9d3 Prevent addresses of local vars from appearing in function summary
8 years ago
Kihong Heo 7176fc936a [inferbo] fix the semantics of unknown library calls
8 years ago
Dino Distefano 4a5d0e0b55 Adding ability to express properties on the hierachy of protocols
8 years ago
Jules Villard cd83a24381 [merge] only try to read/create multilink files when --merge is specified
8 years ago
Jia Chen 806585db26 Fix aliasing rules about local variables introduced before
8 years ago
Jeremy Dubreil e200b6cdcc [infer][java] Simplify some of the models
8 years ago
Dulma Churchill 7d680b3b0c [linters] Add an optional doc_url field to linters to specify the url to some documentation online.
8 years ago
Sungkeun Cho f8b8dd1abb [infer] Parse unsigned short (uint16_t) as IUShort
8 years ago
Dulma Churchill 2d1a8f4940 [linters] Remove leftover code related to paths
8 years ago
Jules Villard f38462407e [utils] make `read_file` return a `Result.t`
8 years ago
Jules Villard b158f5cd30 [reportdiff] add filtered out bugs to preexisting
8 years ago
Dulma Churchill 72802024b3 [linters] Fix unavailable api check to take the avaiability attribute into account when it's not the first one in the list.
8 years ago
Jia Chen a6757be036 Force emitting prune node for C++ comparison expressions
8 years ago
Jia Chen f7927cadda Teach the frontend to recognize STL throw wrappers
8 years ago
Jia Chen 62cfd554c7 Teach the Prover additional aliasing rules about local variables
8 years ago
Sam Blackshear cb95bde659 [labs] clean up lab document
8 years ago
Sam Blackshear 4f54fabf4f [absint] move the framework bits/utilities of Infer.AI to a separate directory from the clients (checkers ~= transfer functions + domains)
8 years ago
Mehdi Bouaziz 63fcddb4a7 [inferbo] Do not store dummy idents into stack
8 years ago
Sungkeun Cho 00390d367a [inferbo] Refactor new symbol generation
8 years ago
Sungkeun Cho f45f4cb4c0 [Bufferoverrun] symbolic value for parameter
8 years ago
Sungkeun Cho 52c0caafaf [inferbo] Declare unsigned typed parameters
8 years ago
Sungkeun Cho 1f721d0824 [inferbo] Revise modulo semantics for positive values
8 years ago
Kyriakos Nikolaos Gkorogiannis b4f6308495 [thread-safety] Restrict propagation of attributes in an assignment; treat ownership propagation more strictly.
8 years ago
Daiva Naudziuniene 0a786e9019 [ThreadSafety] Do not report if all accesses are unprotected.
8 years ago
Andrzej Kotulski 4ce997c8f0 [clang] blacklist -profile-guided-section-prefix
8 years ago
Mehdi Bouaziz 7e9f859896 More detailed error message for typ_get_recursive_flds
8 years ago
Mehdi Bouaziz aad66bc6f6 [inferbo] More tests
8 years ago
Jia Chen 108c865b20 [infer][checker] Put AnnotationSpec.report into actual use for annotation reachability checker
8 years ago
Jia Chen 1edcbce35b Whitelist std::swap in C++ analyses
8 years ago
Jeremy Dubreil 0806ac067b [infer][java] use a multi-target Buck project to test the Buck integration for Java
8 years ago
Dulma Churchill 855b87e5d9 [linters] Remove internal error warning that is not really an error
8 years ago
Jules Villard da82d94a12 [report] restore "no issues found" output
8 years ago
Dulma Churchill 45a8e48e00 [linters] Adapt the debugger and linters-developer-mode to the new logs
8 years ago
Martino Luca 04db7b6db2 Simple refactoring of issues.py
8 years ago
Marco Concetto Rudilosso d196c03434 [infer][PR] JMain link is broken
8 years ago
Martino Luca 20a6131ccf Compute differential of certain files only, if desired
8 years ago
Daiva Naudziuniene 336b7182c3 [ThreadSafety] Releasing lock at the end of the procedure if it has a lock_guard field.
8 years ago
Jules Villard e87e2b007d [AI] escape html output
8 years ago
Sam Blackshear 1f153d3e3f [absint] kill `AbstractInterpreter.Interprocedural` module
8 years ago
Dulma Churchill ad7028cb49 [printing] Make sure that error messages end in a dot.
8 years ago
Jules Villard 0554da99e7 [perfstats] do not register the same file twice in the same process
8 years ago