4067 Commits (462c2e2b2ef05137be0a877e3de81eae5ea8998e)

Author SHA1 Message Date
Dino Distefano d83a9445f1 First extension to uninit inter-procedural analysis
7 years ago
Jeremy Dubreil 4795139459 [infer][java] skip the transformation to JBir when skipping the translation of the implementation
7 years ago
Sam Blackshear ab3da5b1d1 [cleanup] remove unused dynamic dispatch modes
7 years ago
Jeremy Dubreil 5ce859c774 [infer][java] compute the start and exit node location from the bytecode instead of from the JBir representation
7 years ago
Jeremy Dubreil 3fb25e2a74 [infer][java] removing dead code
7 years ago
Martino Luca e950103428 Add the --log-events flag to turn on events logging
7 years ago
Mehdi Bouaziz d8bd7b7deb [inferbo] Only use inferbo models when biabduction is off
7 years ago
Jeremy Dubreil 93b9f2c488 [infer][java] catch Invalid_argument exception when translating the bytecode to the Sawja JBir representation
7 years ago
Sam Blackshear 8732c7d7a1 [quandary] add curl_easy_setop with CURLOPT_POSTFIELDS as sink
7 years ago
Martino Luca 7d78588f49 Emit log identifier in stderr, when Infer is launched
7 years ago
Mehdi Bouaziz 3fc41af811 [inferbo] Model for folly::split
7 years ago
Dino Distefano e3e2fb22a1 Change pattern-matching order
7 years ago
Sam Blackshear 82a3b2649e [quandary] only warn on shell/sql injection from stringy gflag sources
7 years ago
Sam Blackshear afb04cf459 [thread-safety][experimental] switch access path may-alias condition to syntactic equality
7 years ago
Jeremy Dubreil 71cf1760c5 [infer][nullable checker] find the nullable violation involving annotated protocol methods
7 years ago
Martino Luca 67142e7478 Log events in machine-readable format, and dump them via `infer events` command
7 years ago
Mehdi Bouaziz 96face188a [dispatcher] Uncouple function argument matching and capturing
7 years ago
Jeremy Dubreil 32deab86bd [infer][nullable checker] avoid reporting the nullable violations that are already reported by the biabduction analysis
7 years ago
Sam Blackshear d6ed9e3bbe [liveness] remove special-casing for destructor reads
7 years ago
Sam Blackshear f37344358b [experimental] interprocedural should_update analysis
7 years ago
Jules Villard 303b79b6ae [sqlite] create `SQLite` serialization/deserialization modules where needed
7 years ago
Jules Villard a91e7dda50 [cfg] move cfgs to sqlite
7 years ago
Dulma Churchill 4db780d364 [retain cycles] Enable retain cycles, quality and message are better now
7 years ago
Martino Luca cd49acc1cf Refactor directory traversal into its own utility function
7 years ago
Jeremy Dubreil f283416fa1 [infer] no longer print the list of Eradicate warnings to standard output
7 years ago
Jeremy Dubreil 1f6d73269e [infer] simplify the API to report errors
7 years ago
Jeremy Dubreil c62dd2a0c2 [infer][nullable checker] add models for mutations of mutable dictionaries and mutable arrays
7 years ago
Sam Blackshear b23e967f1b [liveness] print type of unused var
7 years ago
Sam Blackshear 41129087e4 [quandary] only Intents created from Uris should be sources
7 years ago
Sam Blackshear 32675a7b02 [quandary] improve curl_easy_setopt sink
7 years ago
Sam Blackshear 156ea2f759 [racerd] use a record instead of ginormous tuple in reporting code
7 years ago
Dulma Churchill 5b5b72f983 [retain cycles] Improve the message by adding info about when each of the objects involved was last updated.
7 years ago
Jules Villard 5ce024bf6e [clang] do not error on bogus arguments to `fsanitize`
7 years ago
Dulma Churchill d7dc9b38f7 [retain cycles] Refactoring of computing cycles using dedicated data structure
7 years ago
Mehdi Bouaziz cf11590800 [clang] Ignore -fsanitize=builtin
7 years ago
Jeremy Dubreil 83118865aa [infer] add arrayByAddingObject: to the list of methods asserting the parameters
7 years ago
Sam Blackshear d3f4043bc0 [quandary] curl function for setting URL as sink
7 years ago
Jules Villard 1f3cae9fa4 [make] some missing dependencies
7 years ago
Daiva Naudziuniene d8a004f0cc [LockConsistency] Adding conditional ownership to the rest of the formal parameters of constructors.
7 years ago
Josh Berdine 22ec29fabc [racerd] Report only once per unique pair of final trace locations
7 years ago
Sam Blackshear 7e8739de0a [quandary] more fine-grained issue types for Java
7 years ago
Sam Blackshear d81faea3b3 [de-duplication] fix bug causing under-aggregation
7 years ago
Sam Blackshear 647e1cd62d [dead stores] config file for custom scope guard types
7 years ago
Sam Blackshear 432fa4913c [quandary] report all Intents constructed from URIs
7 years ago
Sam Blackshear 6abbe66ee6 [quandary] file creation as sink
7 years ago
Sam Blackshear 19824aa27b [quandary] don't taint this var of endpoints
7 years ago
Sam Blackshear a32903bcea [racerd] print just one conflict in error message to avoid formatting issues
7 years ago
Josh Berdine 972b9eb488 [lock-consistency] Suppress folly::fbstring_core
7 years ago
Josh Berdine 5e3cd22a1f [lock-consistency] Suppress folly::futures
7 years ago
Peter O'Hearn 700adc2d44 [racerd] deep ownership
7 years ago
Sam Blackshear 735b0b2ef7 [quandary] include source/sink caller in error message
7 years ago
Jeremy Dubreil 75de2006dd [infer] make sure adding or removing parameters does not affect the bug hash on Objective C methods
7 years ago
Sam Blackshear 6799e7a7fb [dead stores] whitelist more RAII guard types
7 years ago
Daiva Naudziuniene f0f1e97ae2 [LockConsistency] Do not report lock consistency violation if an access path starts with a logical variable or a temporary variable.
7 years ago
Mehdi Bouaziz 78120bc9e2 Fix tests
7 years ago
Mehdi Bouaziz 1a117d7e09 Fix unique_ptr model
7 years ago
Sam Blackshear 3c28e0308a [quandary] clean up source type in report
7 years ago
Sam Blackshear 0ebdd369b0 [liveness] don't warn on dead stores of type CKComponentScope
7 years ago
Dulma Churchill ed740600de [cleanup] Remove hidden field and related code that is not used anymore.
7 years ago
Jeremy Dubreil 4aaa39fdd1 [infer][nullable checker] propagate object nullablilty when calling an Objective C instance method on a nullable receiver
7 years ago
Jeremy Dubreil d4c81a7798 [infer][nullable checker] model NSDictionary initialization as crashing on nil keys or nil values
7 years ago
Jeremy Dubreil e622e7b431 [infer][ondemand] cache the results of the on-demand analysis
7 years ago
Dulma Churchill 1d0b6050a6 [retain cycle] Move the code about retain cycle detection to a dedicated module
7 years ago
Dulma Churchill d25754597d [memory leaks] Adding model for CVPixelBufferRelease
7 years ago
Mehdi Bouaziz 0ed1a51944 [inferbo] Prepare for type models
7 years ago
Jeremy Dubreil 3e94c868f4 [infer] use the classname without the package name to compute the bug hash
7 years ago
Jeremy Dubreil 297195bb3c [infer] move the AccessPath module under the IR subdirectory
7 years ago
Sam Blackshear 8ef346acbe [logging] less logging from interproc module
7 years ago
Jeremy Dubreil ea29749671 [infer] simpler bug hash
7 years ago
Jeremy Dubreil 7dd78f4135 [infer][eradicate] example where the non-nullability is not correctly propagated
7 years ago
Jeremy Dubreil 10eef3bb1f [infer][java] add model for ImmutableList$Builder.add which crashes when given a null value
7 years ago
Jeremy Dubreil bff96f1d75 [infer] remove the use of the deprecated --stats option
7 years ago
Sam Blackshear 51cce869b3 [logging] no longer log a summary when we add it to the specs table
7 years ago
Sam Blackshear adde940be4 [cleanup] kill stats_mode option
7 years ago
Dulma Churchill 306a0a9182 [liveness] Do not report on variables with block attribute
7 years ago
Dulma Churchill 71fde88950 [IR] Adding support for variable attributes, adding __block for ObjC variables
7 years ago
Daiva Naudziuniene 9e2ecac204 [LockConsistency] Add ownership to container accesses for cpp
7 years ago
Sam Blackshear 74670cb0ba [dead stores] don't warn on dead stores of ScopeGuard's
7 years ago
Martino Luca 6b363ef063 [SQLite] Set the synchronous flag to OFF
7 years ago
Jeremy Dubreil 7b8a5a1a2b [infer] always run all the pre-analysis passes independently form the checkers that are being run
7 years ago
Sam Blackshear ca3f71a8b3 [experimental] report call chains reachable from onCreateLayout
7 years ago
Josh Berdine 63183f94f1 [racerd] Delay issue deduplication to differential reporting
7 years ago
Sam Blackshear 8d0f141974 [dead stores] identify dead stores involving struct values
7 years ago
Sam Blackshear 427dad5aa6 [racerd] keep adding accesses after prefix of a path is owned
7 years ago
Mehdi Bouaziz cd35b2f0a3 [inferbo] Moving Inferbo utils functions
7 years ago
Mehdi Bouaziz 73906d537d [dispatcher] Typename dispatcher
7 years ago
Mehdi Bouaziz 43758e9fd7 SourceFile: random stuff
7 years ago
Peter Goldsborough 5a06a187f2 Added is_outside_codebase check for FIELD_SHOULD_BE_NULLABLE
7 years ago
Sam Blackshear 087ff08b82 [quandary] eliminate spammy soft error for bad return summary
7 years ago
Jeremy Dubreil f08a9a3a71 [infer] fix the printing of analysis summaries to standard output
7 years ago
Dino Distefano dfb8b421ac Extending uninit to struct
7 years ago
Dulma Churchill 68beca1523 [objc] Refactor modeling of CoreFoundation and CoreGraphics libraries
7 years ago
Martino Luca 5588f5e1ea Invoke getconf correctly to extract the right number of cores
7 years ago
Martino Luca 09a807fe0a Add `late_epilogue` callback that gets invoked at the end of infer's lifecycle
7 years ago
Jeremy Dubreil 8ce15caffb [infer][java] model org.assertj.core.util.Preconditions
7 years ago
Sam Blackshear 164fa457e9 [quandary] treat any non-primitive endpoint formal as a source
7 years ago
Mehdi Bouaziz 168ce5a6bb [inferbo] Add alloc size safety condition
7 years ago
Mehdi Bouaziz d12371c6c3 [inferbo] Prepare for several kinds of safety conditions
7 years ago
Mehdi Bouaziz cb363d8dcb [inferbo] Modeled functions may also generate proof obligations
7 years ago
Jeremy Dubreil 1a4316065a [infer] no longer create the CSV report
7 years ago
Dulma Churchill c0f250c45e [liveness] Change the model of assert functions to include the handle failure function to avoid dead store fps
7 years ago
Josh Berdine a7c657da56 [lock-consistency] Only suppress truncated traces in Java
7 years ago
Jeremy Dubreil c195e67dfe [infer] remove the utility functions to export debug information in LaTeX
7 years ago
Jeremy Dubreil 85ab063983 [infer] remove the field `nodes` in the summary definition
7 years ago
Jeremy Dubreil 97927f6f46 [infer][checkers] remove the `-a biabduction` option and the related code
7 years ago
Jeremy Dubreil 716ff9b3d5 [infer] make `-a infer` an alias for `-a checkers`
7 years ago
Jeremy Dubreil a991b98d02 [infer][nullable checker] also report a null dereference error when adding nil key or value to NSDictionary
7 years ago
Sam Blackshear ceb0062cdd [cleanup] kill constant propagation pass in bi-abduction
7 years ago
Dulma Churchill 16689e6f22 [linters] Disable DISCOURAGED_WEAK_PROPERTY_CUSTOM_SETTER because of low fixrate
7 years ago
Dulma Churchill c90bcf1320 [objc] Model dispatch functions
7 years ago
Dino Distefano ba422a8ad8 Remove FPs for struct in ObjC
7 years ago
Dulma Churchill 45df254a99 [infer][PR] [C/C++] Encode filename into the Procname of global initializers
7 years ago
Sungkeun Cho 9deec6ffde [inferbo] Fix evaluation of Lindex
7 years ago
Jules Villard 82c9201bfc [reactive] keep specs around in reactive mode
7 years ago
Mehdi Bouaziz a73162d8e4 [dispatcher] + Capture function argument
7 years ago
Mehdi Bouaziz 7f3467b01d [dispatcher] Exact number of args
7 years ago
Jules Villard e993a4867d [debug] kill `Interproc.print_stats`
7 years ago
Jules Villard 6a8d71ad81 [style] s/_foo/foo_/ when `foo_` is not unused
7 years ago
Jeremy Dubreil 354b46f8ca [infer][nullable checker] no report for objects created by URLWithString:
7 years ago
Jeremy Dubreil a4428a4cae [infer][nullable checker] report an error when a nullable value is stored into an NSArray without being checked for null
7 years ago
Sam Blackshear 33450ab58b [cleanup] remove language from ProcAttributes
7 years ago
Sam Blackshear dbfbf9cf01 [racerd] make nontrivial domain types private
7 years ago
Sam Blackshear 181959216b [cleanup] remove harness-related code
7 years ago
Mehdi Bouaziz d26e227267 [c++] Procname dispatcher
7 years ago
Mehdi Bouaziz 55ff444a74 [inferbo] Sem.eval do not need a location
7 years ago
Jeremy Dubreil 956d6d0a1d [infer][nullable checker] better error messages for nullable violations involving Clang materialized variables
7 years ago
Sam Blackshear 8665386b8a [quandary] report USER_CONTROLLED_SQL_RISK on flows from endpoint -> SQL
7 years ago
Sam Blackshear eb0a457b02 [clang] translate TypeAliasDecl
7 years ago
Peter O'Hearn e7d9223597 [racerd] specialized error message for races involving litho components
7 years ago
Sam Blackshear d90bc24657 [clang] translate UsingDecl
7 years ago
Jules Villard 2ff05385dc [driver] do not run the analysis in Buck flavors sub-processes
7 years ago
Mehdi Bouaziz cdd3208cd6 [buck] Automatically filter target kinds on target patterns and aliases
7 years ago
Mehdi Bouaziz 262bb4171d [buck] Non compilation-database do not support _test targets
7 years ago
vsilyaev@broadcom.com f63f48a52e [infer][PR] Use SQLite in a way that is compatible with current state of WSL
7 years ago
Dulma Churchill 3382b1b88a [iOS] Make xcpretty integration not default anymore, given that it has problems
7 years ago
Sam Blackshear 97f3af15f3 [quandary] support multiple sanitizer kinds in C++
7 years ago
Jeremy Dubreil 1709db4089 [infer] always store the procedure description in the summary
7 years ago
Jeremy Dubreil 52dca67de9 [infer][eradicate] no longer modify the attributes in the summary
7 years ago
Sam Blackshear 2b0335f32b [quandary] track sanitizers applied in trace domain
7 years ago
Sam Blackshear faef207d62 [quandary] propagate taint across unary/binary operators
7 years ago
Sam Blackshear e2f38423e5 [cleanup] delete repeated calls checker
7 years ago
Dulma Churchill a1010fb9fc [linters] Ading predicate is_in_objc_class_named and make a verbose rule more targeted
7 years ago
Vivek Dhiman d8be5e0874 Added 'is_method_called_by_superclass'. A new predicate that checks if the caller name is super class in a 'method call'.
7 years ago
Sam Blackshear 7428f36fbd [quandary] turn off dynamic dispatch handling in Java
7 years ago
Sam Blackshear 758048078b [quandary] move sanitizer specifications from TaintSpec -> Trace
7 years ago
Sam Blackshear d392ed12a8 [quandary] remove detection of likely resource id's as sources
7 years ago
Jules Villard 5867c598f4 [cfg] unbox the type
7 years ago
Jules Villard 45d5d878cf [cfg] minor renamings
7 years ago
Daiva Naudziuniene e07a20ea6d [reporting] Report access path from the initial sink rather than the final sink.
7 years ago
Dulma Churchill b9a56a6c52 [clang] Specialize also c functions with blocks as parameters
7 years ago
Jeremy Dubreil 23101f4e57 [infer][eradicate] Use the summary of callee returned by the on-demand analysis call instead of the one in the specs cache
7 years ago
Dino Distefano aa54b1b035 Extending uninit analysis to struct
7 years ago
Philip Cohn-Cort 54eb75cb63 [infer][PR] Fix typo in RacerD.ml
7 years ago
Angel (scout387) 15f664eab3 [infer][PR] Fix Spelling Error
7 years ago
Sam Blackshear 890afe3094 [HIL] make it easier to customize-specialized abstract interpreter
7 years ago
Jeremy Dubreil adf5bb4a41 [infer][clang] the option `--cxx` no longer forces the option `--cxx-infer-headers`
7 years ago
Daiva Naudziuniene 6e31e691c0 [HIL] Do not drop right-hand HIL expression in the translation for SIL.
7 years ago
Josh Berdine f62ab09e61 [ocamlformat] Upgrade ocamlformat to v0.2 from opam
7 years ago
Dulma Churchill 794c8677fd [clang] Executing methods with blocks as parameters by instantiating the parameters with current blocks
7 years ago
Jeremy Dubreil 4a1eae048a [infer][clang] fix unitialized value false positive for values not initialized in the throw branch
7 years ago
Dulma Churchill 18782be7c9 [linters] Adding a new predicate for in an ObjC class that is subclass of some class
7 years ago
Martino Luca a57a6078bc Never close db connection
7 years ago
Stephan Walters b07269ab71 [infer][PR] Fixed type
7 years ago
anuolu 2ba4d7b0f1 [infer][PR] fixed spelling
7 years ago
Josh Berdine 2defebe9e7 [lock-consistency] Skip prefixes of blacklist entries
7 years ago
Dino Distefano 979c476fa3 Do not report when defining an array
7 years ago
Dulma Churchill acd68a00d1 [IR] Refactor away a function for converting cfg nodes given a function for converting instructions
7 years ago
Dulma Churchill 718747e39c [clang] Add new procname type for specializing methods with block parameters
7 years ago
Dulma Churchill 5902f6363b [objc] Add a new call flag for calls with objc blocks as parameters
7 years ago
Dominic Cooney c542b65a42 Add a lint rule warning about ObjC custom setters for weak properties
7 years ago
Daiva Naudziuniene ff475e43e4 [LockConsistency] Do not merge read/write with container read/write
7 years ago
Jeremy Dubreil b2a3f3b8e4 [infer] better error messages for the nullable checker
7 years ago
Jeremy Dubreil ebea2a6ba1 [infer][clang] the nullable checker should not warn on pointer re-assignment
7 years ago
Sam Blackshear 29fe7d1689 [quandary] thrift services as sources + remote code execution risk issue type
7 years ago
Jules Villard ed55fc63f2 [clang] use a more efficient `var_decl_info`
7 years ago
Jules Villard 525a94e470 [siof] do not generate dummy derefs in initializer code
7 years ago
Jules Villard 0f1bdf664d [clang] static data members are external globals unless defined in the file
7 years ago
Jeremy Dubreil 4283bf2602 [infer][java] re-use the Eradicate models for Preconditions.checkNotNull and the like
7 years ago
Jeremy Dubreil b3f75da37e [infer][nullable checker] only report once when the return of a nullable method is derferenced several times
7 years ago
Daiva Naudziuniene bb90c94939 [LockConsistency] Checking for both type ObjC_Cpp and C to include c-style functions.
7 years ago
Dulma Churchill f739d73ed5 [utils] Move function for appending lists without duplicates to the IList method
7 years ago
Sam Blackshear d221a0ae42 [racerd] don't report INTERFACE_NOT_THREAD_SAFE on thread-confined interfaces
7 years ago
Josh Berdine 150bcff04b [config] Add separate option for limit on number of filtered issues
7 years ago
Josh Berdine ec281799d5 [lock-consistency] Skip more, and in should_analyze_proc instead of get_summary
7 years ago
Dino Distefano ce711d7e8a [uninit] Reporting parameters calls which are not passed by reference
7 years ago
Daiva Naudziuniene 2e89bfb4f4 [LockConsistency] Do not analyze/report on destructors
7 years ago
Mehdi Bouaziz 15ffac4e02 [inferbo] Move models to their own module
7 years ago
Mehdi Bouaziz eb33fb7a97 [inferbo] Use a dispatcher for models
7 years ago
Jeremy Dubreil 8274453277 [infer][clang] the nullable checker should not warn on Objective C method call when the receiver is nullable
7 years ago
Jeremy Dubreil d85d185402 [infer][java] Enable the @Nullable checker on Java
7 years ago
Jeremy Dubreil 5e1b7faf97 [infer][clang] the nullable checker should not report on methods that have already been checked for null
7 years ago
Jeremy Dubreil 2ea11de8b6 [infer][clang] consider the symetrical case for the null check
7 years ago
Sam Blackshear ad522a8b19 [dead stores] don't warn on likely-harmless dead stores to default values
7 years ago
Jeremy Dubreil 0a1971a08d [infer][biabduction] keep the files in the trace even when the exact location of the method is not known
7 years ago
Jeremy Dubreil b594cbdc5a [infer][nullable] no longer fail hard when the nullable suggestion checker cannot compute the post of a procedure
7 years ago
Sam Blackshear e2a75f2b46 [hil] always run liveness analysis before HIL lowering
7 years ago
Jeremy Dubreil 183cefdad4 [infer][java] merge identical bugs in the Buck integration for Java
7 years ago
Jules Villard 37847cc10a [clang] add infer C++ #include models when siof is enabled
7 years ago
Sam Blackshear 4ee4ebb42a [hil] don't move any accesses across lock acquisition/release
7 years ago
Josh Berdine 15d09ccac8 [config] Add first step of generalized filtering system
7 years ago
Daiva Naudziuniene ccd2c76344 [LockConsistency] Adding ownership of locals for c-style functions
7 years ago
Martino Luca 259beab26a [Infer] Refactor sqlite-related code into its own module
7 years ago
Dino Distefano c98570f899 do not report on captured vars in objc blocks
7 years ago
Mehdi Bouaziz 6047264e4a [bug hash] Attempt for a better hash
7 years ago
Sungkeun Cho 042dd7d9cb [inferbo] revise semantics of vector::data
7 years ago
Sam Blackshear 5e910929be [quandary] handle taint propagation in copying of structs/via derefs of pointers to structs
7 years ago
Jules Villard 185e7f7131 [java] support Java9
7 years ago
Daiva Naudziuniene 535ba01a25 [LockConsistency] Model std::unique_lock::try_lock
7 years ago
Josh Berdine bb0a42d25d [thread-safety][c++] Skip destructors
7 years ago
Josh Berdine c2a67bb300 [thread-safety][c++] Do not record accesses to static locals
7 years ago
Josh Berdine 149deb97ed [thread-safety][c++] Model std::unique_lock::owns_lock
7 years ago
Josh Berdine 3bab37b261 [thread-safety][c++] Change to LOCK_CONSISTENCY_VIOLATION issue type
7 years ago
Sam Blackshear 67c45bed78 [quandary] fix invariant 1: "sink(s) with only non-footprint source" violations
7 years ago
Dulma Churchill 3a3e1893d6 [objc] Fix bad footprint caused by incorrect translation of blocks as arguments
7 years ago
Jules Villard 38804101d9 [buck] newer Buck passes tests in STRICT_MODE
7 years ago
Dino Distefano a75073907c Fix uninit for temp variables
7 years ago
Sam Blackshear 47ab1a2e67 [thread-safety] skip reporting on truncated traces
7 years ago
Sam Blackshear 386a6d718d [labs] update the lab text to reflect new CLI
7 years ago
Sam Blackshear 5f6d3a0d7f [quandary] new issue type for untrusted variable length array creation
7 years ago
Sam Blackshear 6ea6c74a5c [quandary] add new issue types for sql injection and shell injection
7 years ago
Jules Villard fc20d8a6cb [dev] fix merlin
7 years ago
Dulma Churchill 3799dfa4bb [dead store objc] Do not report dead store in a captured variable of an objc block
7 years ago
Dulma Churchill b95c4e34d6 [dead store objc] Whitelisting macro variables in dead stored checker for Objective-C
7 years ago
Mehdi Bouaziz a2f69050ac [buck] Unify buck command line arguments recognition, buck query invocation, and support target patterns and aliases
7 years ago
Jules Villard 6c9cee700b [clang] do not use C++ header models unless biabduction or inferbo is active
7 years ago
Jules Villard 61b2c9105b [cli] crash if capture happens with conflicting C++ header models
7 years ago
Sam Blackshear 0a5c10c8ef [hil] don't let clients pass `debug:true`
7 years ago
Sam Blackshear fe89c5688c [build] add missing `Typ.void_star` type
7 years ago
Dino Distefano 0117539dd9 Fix debug flag in uninit
7 years ago
Sam Blackshear 9bafbe0e1e [hil] don't move reads/writes outside of a critical section
7 years ago
Sam Blackshear 5e9e96a342 [hil] don't crash on deref of magic address
7 years ago
Jules Villard 71ed554c57 [cli] introduce `--linters` and `--capture`
7 years ago
Dulma Churchill e7907032bf [clang] Remove allocating blocks
7 years ago
Sam Blackshear b67a82636c [cleanup] delete unused lock builtins
7 years ago
Sam Blackshear 2d29b47855 [traces] allow reported traces to return an issue type
7 years ago
Jeremy Dubreil c4949f372e [infer][clang] the nullability checker was not reporting when dereferencing a field of a nullable object
7 years ago
Jeremy Dubreil 55c585e1e0 [infer][biabduction] remove the bi-abduction based check for uninitialized values
7 years ago
Jeremy Dubreil a671307363 [infer][clang] fix test failures caused by unused code compiler warnings
7 years ago
Anders Papitto a92ba5a2a9 Eradicate: model get and remove as nullable for stdlib Map variants
7 years ago
Sam Blackshear d2433476a5 [quandary] fix heuristic for recognizing buffer access
7 years ago
Sam Blackshear 3d6168cd0d [hil] add HIL wrapper for abstract interpreter
7 years ago
Josh Berdine 6f8f7140bb [frontend][tests] Record test form ptr_mem.cpp
7 years ago
Dulma Churchill 08c4c33e7d [clang] Remove the translation of enumerateWithBlocks that causes FPs dead store.
7 years ago
Josh Berdine c1e742536d [frontend][c++] Translate pointer-to-member expressions
7 years ago
Jules Villard df0491272c [compilation db] add support for commands with `"arguments" and no `"command"` field
7 years ago
Dulma Churchill 2f8b749045 [objc] Better names for the block translation and using temp variables
7 years ago
Jeremy Dubreil ef556e048e [infer][java] for the Buck integration, simply concatenate the lists of bugs found on every target
7 years ago
Jeremy Dubreil 8b7208df62 [infer][eradicate] fix the position of the comments in the list of models
7 years ago
Sam Blackshear c65569a868 [quandary] sanity checks for preventing oversized summaries
7 years ago
Dulma Churchill 01219a0298 [cleanup] Remove the retain count implementation from ObjC that is unused.
7 years ago
Jules Villard 1b4a5729ed [buck] filter out incompatible options for the `targets` subcommand
7 years ago
Sam Blackshear 12d73e67dc [quandary] don't create dummy global reads for Drawable IDs in C++
7 years ago
Martino Luca 3df1e52928 [Buck][compilation-database] Do not run clang command that cannot be attached to the frontend
7 years ago
Josh Berdine f89e687efa [ocamlformat] Use ocamlformat from github
7 years ago
Sam Blackshear 13a02122ac [traces] fix printing of sinks
7 years ago
Dulma Churchill a969b5d188 [cleanup] Remove unused code for finding correct fields in Objective-C
7 years ago
Sam Blackshear b826b16a6f [uninit] convert to HIL
7 years ago
Dulma Churchill 3c48a3f38a [objc] Do not fail in the bi-abduction with missing fields in ObjC
7 years ago
Mehdi Bouaziz 624cc5e536 [uninit] Do not crash if failed to compute post
7 years ago
Sam Blackshear ddda04c92b [cleanup] alphabetize checker names
7 years ago
Sam Blackshear bc02bee737 [cleanup] rename thread-safety analysis
7 years ago
Jules Villard 664616faab [cli] print version on stdout
7 years ago
Jules Villard 69b136d7b8 [checkers] disable UNINITIALIZED_VALUE by default
7 years ago
Sam Blackshear 3a89a7a84b [quandary] log soft errors instead of dying
7 years ago
Dulma Churchill e23153c1d9 [clang] Refactor the translation of allocation functions
7 years ago
Jules Villard bd74512c1a [cli] support all the analyzer forms in the filtering options
7 years ago
Jules Villard 06dec8177a [cli] make checkers the default when no analyzer is specified
7 years ago
Jules Villard b1841c6699 [checkers] make all models and tests use checkers
7 years ago
Jules Villard 588142c908 [checkers] enable biabduction by default + docs and logs improvements
7 years ago
Dulma Churchill 1bc62212ba [tests] Fix test broken in master
7 years ago
Dino Distefano f87447ba52 Uninitialized value/variable checker
7 years ago
Sam Blackshear 169df0fe80 [thread-safety] infer accesses that need to be safe from lock usage
7 years ago
Sam Blackshear 2d22b631c3 [quandary] track flow of `Drawable` resource id's to methods that inflate them
7 years ago
Sungkeun Cho eb0c727fdf [inferbo] Add symbol for unsigned int
7 years ago
Jules Villard e56af27b38 [driver] add a way to force infer to use a particular integration
7 years ago
Jules Villard 93de989b4a [build] take advantage of latest jbuilder+beta14
7 years ago
Jeremy Dubreil 171145603e [infer][checkers] specify the dynamic dispatch handling policy on a per-checker basis.
7 years ago
Jeremy Dubreil 1a3942a903 [infer][biabduction] clear the error log when creating a specialized clone of a method
7 years ago
Sam Blackshear 0e7542a18f [thread-safety] fix bug in expanding callee access paths in caller
7 years ago
Jeremy Dubreil 171ee61df0 [infer][checkers] fix the filtering mechanism based on the analyzer name
7 years ago
Sam Blackshear 2b08bc4e74 [cleanup] make it possible to print FormalMap's
7 years ago
Sam Blackshear 3a5a0413bb [thread-safety] remove special treatment for immutable collections
7 years ago
Jules Villard 9a21404ace [cli] introduce `-a biabduction` and make `-a infer` an alias to it
7 years ago
Jules Villard 3790ca5487 [checkers] declare --resource-leak with the other checkers
7 years ago
Sam Blackshear 06a51869df [thread-safety] better error message for unannotated interfaces
7 years ago
Jules Villard b95f29c8d1 various minor improvements
7 years ago
Sam Blackshear c2c1679a5f [inferprint] fix template deduplication
7 years ago
Jeremy Dubreil 9282e30d72 [infer][checkers] move the tests for the lab in it own directory
7 years ago
Jeremy Dubreil 03cb052ad9 [infer][checkers] run the Java biabduction tests using the checkers framework
7 years ago
Jeremy Dubreil 514968bf36 [infer][checkers] simplify the lookup of the procedure description when executing callbacks
7 years ago
Sungkeun Cho a9a430876c [inferbo] Remove Symbol.get_new (not used)
7 years ago
Josh Berdine 2cb2963641 [thread-safety][c++] Optimize access list map quotienting
7 years ago
Daiva Naudziuniene 3001cb6323 [threadsafety] Add ownership on stack-allocated variables in cpp
7 years ago
Sam Blackshear b57084902d [thread-safety] better error messages for write-write races that are distinct, but conflicting writes rather than self-races
7 years ago
Jeremy Dubreil 923a15fa60 [infer][clang] initial version of a nullable checker for Clang languages
7 years ago
Sam Blackshear 4255d918ad [thread-safety][cleanup] clean up error messages/comments
7 years ago
Jeremy Dubreil 5741dbf2a5 [infer][java] remove unused list of dynamic dispatch policies
7 years ago
Dulma Churchill 3304160790 [tests] Remove frontend test that depends on header macro.
7 years ago
Jules Villard 485ece7ef1 [sql] bump busy timeout from 1s to 10s
7 years ago
Jeremy Dubreil f81aafc9cf Fix ObjC frontend tests
7 years ago
Dino Distefano 86bfe674ff Fix ObjC frontend tests
7 years ago
Dulma Churchill 21c7b7dda3 [linters] Do not lint implicit declarations
7 years ago
Jeremy Dubreil 6f0c4cda4a [infer][java] disable the cache of specs files used to speed up the analysis of Buck Java projects
7 years ago
Mehdi Bouaziz 3b2e9c78de [clang trans] Simplify translation of if(not expr)
7 years ago
Mehdi Bouaziz 093bf285cc [inferbo] Do not report subsumed issues
7 years ago
Sungkeun Cho 54de59919e [inferbo] Prune vector's size by vector::empty() condition check
7 years ago
Mehdi Bouaziz a1451c5a3a pp_instr_list should end with ;
7 years ago
Kyriakos Nikolaos Gkorogiannis d179c4ccb5 [threadsafety] Address issue arising from actuals and formals having different lengths at call sites (this time for ObjC).
7 years ago
Dulma Churchill 4769c481ad [linters] Add a linter for checking const pointers to Objective-C classes
7 years ago
Kyriakos Nikolaos Gkorogiannis 9e1d96c1f2 [threadsafety] Fix exception thrown by list of actuals and formals not having the same length in some cases (C++?)
7 years ago
Kyriakos Nikolaos Gkorogiannis a64034fbf9 [threadsafety] Fix make-excluder uses which potentially incorrectly assume a lock is held.
7 years ago
Dulma Churchill 3924d25a25 [clang] Remove two more cases of assert false cases that happen in the apps
7 years ago
Mehdi Bouaziz 6c39c2ccd3 Fix pp_instr_list nontailrecursiveness
7 years ago
Josh Berdine 7b891e45eb [thread-safety] Remove some dead code
7 years ago
Josh Berdine e9cd0872ed [thread-safety][c++] Do not quotient by may_alias when analyzing non-Java code
7 years ago
Josh Berdine c081cef5a5 [thread-safety][c++] Skip folly::detail::SingletonHolder::createInstance
7 years ago
Josh Berdine b92909fe71 [thread-safety][c++] Add models for several synchronization operations
7 years ago
Kyriakos Nikolaos Gkorogiannis 5c1fab6ceb [thread-safety] Rebase accesses in callees onto variables of the caller, where possible.
7 years ago
Jules Villard da8333718a [biabduction] catch exceptions more broadly
7 years ago
Jules Villard 810d756f79 [clang] split StringLiterals into chunks
7 years ago
Jules Villard e5ee17e8aa [buck] do not bin the contents of buck-out if --continue is passed
7 years ago
Jules Villard 2d644b36af [clang] do not translate dependent types
7 years ago
Mehdi Bouaziz eff7bb5bdf [inferbo] Replace buckets with issue types
7 years ago
Mehdi Bouaziz 4873e78440 Buckets comments and cosmetics
7 years ago
Martino Luca 929c9c07a1 Use Spawn.spawn instead of Unix.fork_exec to avoid swallowing exceptions while invoking execve
7 years ago
Sam Blackshear c3564c94be [cleanup] Remove L.progress printing of creating results database
7 years ago
Sam Blackshear 32583aa876 [thread-safety] Change meaning of @ThreadSafe to "can run in parallel with any thread including itself"
7 years ago
Josh Berdine 96af301910 [thread-safety] More informative printing of access paths
7 years ago
Sam Blackshear 983bcbbae7 [traces] add matches function for extra flexibility in expanding traces
7 years ago
Dulma Churchill ca23ed5f5f [linters] Do not report MUTABLE_LOCAL_VARIABLE_IN_COMPONENT_FILE when the variable has __block attribute
7 years ago
Dulma Churchill bb3201a8e8 [linters] Do not report MUTABLE_LOCAL_VARIABLE_IN_COMPONENT_FILE for variables of type std:vector
7 years ago
Dulma Churchill e5007cf2e0 [linters] Do not report MUTABLE_LOCAL_VARIABLE_IN_COMPONENT_FILE for the loop indices
7 years ago
Dulma Churchill 85e4707d00 [backend] When adding a new field to the tenv, sort the list of fields
7 years ago
Mehdi Bouaziz 22c0520b46 [inferbo] Do not report duplicate issues
7 years ago
Mehdi Bouaziz d5c08ee752 [inferbo] Move proof obligations to their own module and split them
7 years ago
Sam Blackshear 76bf0a7819 [thread-safety][cleanup] get rid of thumbs_up
7 years ago
Sam Blackshear 768d6e4f3d [thread-safety] better error message for actuals/formals mismatch
7 years ago
Martino Luca 7bd2cedb1d [fcp] Add ooti_ prefix to objc_object_type_info type
7 years ago
Dulma Churchill c9be3c9f94 [integration] Support buck integration with compilation db when passing @mode/... arguments
7 years ago
Jules Villard b54c44e5a0 [cli] enable --fail-on-issue for commands other than run
7 years ago
Jules Villard 65a53a0c63 [cli] do not regenerate report.json when printing specs to stdout
7 years ago
Jules Villard f3d98eb807 [time] do not rely on gettimeofday for measuring time
7 years ago
Jules Villard 97efcd426f [sql] clean up temp files after running
7 years ago
Jules Villard 1b6c77b624 [clang] mark crash sites as `unimplemented` or `incorrect_assumption`
7 years ago
Jules Villard 22aca7494b [siof] understand that <iostream> initialises streams
7 years ago
Sam Blackshear d70babb871 [thread-safety] eliminate escape analysis
7 years ago
Jules Villard 94e7a7b141 [siof] one access per sink, better report deduplication
7 years ago
Jules Villard b8a4147744 [term] do not apply terminal colour codes if the output is not a tty
7 years ago
Dulma Churchill 67b08f666f [objc] Translate ObjCAvailabilityExpr
7 years ago
Mehdi Bouaziz ea4d97ecf8 [inferbo] No bottom bound
7 years ago
Mehdi Bouaziz 26f847f381 [inferbo] Conditions should not have bottom intervals
7 years ago
Mehdi Bouaziz 39ff045569 [ai] No need to create a domain for a bottom_lifted type
7 years ago
Jules Villard 8012d61b0f [sql] do not generate the source file for attribute store if they are no-op
7 years ago
Jules Villard ee1b688e6d [sql] let sqlite handle the attributes update logic
7 years ago
Jules Villard b00451d23e [sql] Cache key blobs
7 years ago
Jules Villard 40c44b0378 [sql] reuse prepared statements
7 years ago
Jules Villard 993ee56fa1 [sql] disable compaction while merge results
7 years ago
Mehdi Bouaziz cfd6148dab [inferbo] Better pp
7 years ago
Jules Villard 2adf654950 [sql] add proc attributes DB
7 years ago
Martino Luca 03a727143a Remove previous_decl field from ast_expressions.ml
7 years ago
Mehdi Bouaziz f37339bd38 Use SymOp.try_finally to avoid swallowing timeouts
7 years ago
Mehdi Bouaziz e8ca44c808 Ensures retry is tailrec
7 years ago
Josh Berdine 959665f5bd [backend] Fix and cleanup uses of sorted lists in substitution operations
7 years ago
Dulma Churchill 870c636e41 [objc] Adding missing fields to env when executing generated getters and setters.
7 years ago
Jeremy Dubreil 37bdf46967 [infer][objc] example of HIL translation using Objective C closure
7 years ago
Sam Blackshear 14d0e2a786 [thread-safety] remove custom compare for AccessListMap
7 years ago
Jeremy Dubreil 3c09ae953d [infer][objc] Run the biabduction test using the checkers analyzer
7 years ago
Dulma Churchill de162c86ab [cleanup] Do not create captured folders when only linting
7 years ago
Dulma Churchill 652af47da7 [linters] Add transition to parameters by position in the parameters list
7 years ago
Dino Distefano d694038abd New test for the tableaux method.
7 years ago
Dulma Churchill 0212aaf81f [stats] Emit the stats only in developer mode
7 years ago
Jeremy Dubreil ba6ef4f5b2 [infer][clang] run the C++ tests using the checkers analyzer
7 years ago
Jeremy Dubreil 5e18a19bfd [infer][test] the ThreadSafety cpp tests should not run in debug mode
7 years ago
Jeremy Dubreil a7e6ba7b2b [infer][java] add support for @Nonnull on skipped functions
7 years ago
Jeremy Dubreil e17e157ae1 [infer][java] no longer combine the type environment with the type environment of the models
7 years ago
Sam Blackshear dfc15372c4 [checkers] make get_proc_desc usable from cluster checkers
7 years ago
Jeremy Dubreil 243fd57eb7 [infer] Add an option to specify the name of the nullable annotation
7 years ago
Mehdi Bouaziz bb15aba766 [log] Even better exception reraising
7 years ago
Jeremy Dubreil f05cc6385c [infer][cleanup] remove old Eclipse project files
7 years ago
Jeremy Dubreil 14d01620d2 [infer][objc] example of nullable annotation suggestion on Objective C
7 years ago
Sungkeun Cho 9f9dbdb914 [Inferbo] Extend abstract domain for vector::empty
7 years ago
Dulma Churchill 234d3627b6 [clang] Support the new @available expression in ObjC in the unavailable API check
7 years ago
Jules Villard abee644b91 [clang] update clang plugin to hash mangled names
7 years ago
Jules Villard cb8e75be85 [clang] do without unstructured type strings
7 years ago
Sam Blackshear ece8678417 [cleanup] remove some needless language checks in checkers callbacks
7 years ago
Sam Blackshear 39a71d607c [cleanup] remove some needless language checks in checkers callbacks
7 years ago
Sam Blackshear 18a9e52752 [cleanup] remove Idenv from checkers callbacks
7 years ago
Sam Blackshear 6a76bc6c7a [checkers] move aggregation by class out of cluster checker callbacks
7 years ago
Jules Villard f1b97d5a89 [make] do not accidentally build the -O3 infer when running `make test_build`
7 years ago
Jules Villard e02f6ab39f [exceptions] make more efforts to preserve backtraces
7 years ago
Jeremy Dubreil 4c88e986b7 [infer][java] transfer the resource ownership to the container when sorting a Closeable into a HashMap
7 years ago
Jeremy Dubreil 8740e8a11a [infer][java] no longer report the resource leaks when using the tracing mode
7 years ago
Jeremy Dubreil 2f0068d180 [infer][java] modeling more methods for HashMap
7 years ago
Jeremy Dubreil 7b8c46a04e [infer][biabduction] remove the flag to trigger on/off the angelic mode in the backend
7 years ago
Sam Blackshear 45dbb42705 [absint] make InvertedSet/InvertedMap functors consistent non-inverted versions
7 years ago
Sam Blackshear ca51c72f3a [thread-safety] support assertOnBackgroundThread and similar
7 years ago
Sam Blackshear 1e605bdd94 [thread-safety] new threads domain
7 years ago
Sam Blackshear b3e8e972d6 [thread-safety] separate warning type for interfaces called in non-threadsafe context
7 years ago
Sam Blackshear f93e500232 [thread-safety] gate de-duplication with Config.filtering
7 years ago
Jeremy Dubreil 41451743f7 [infer][biabduction] Minor simplification of the load symbolic execution code
7 years ago