2007 Commits (1121efbe59bb5c16a7c0582ef0a302cfa5c6b50d)

Author SHA1 Message Date
Sam Blackshear ffba5de70c [quandary] distinguish between SQL reads and writes
7 years ago
Dino Distefano c80a2b0940 Test Determinator for MobileLab
7 years ago
Dulma Churchill 69392d4192 [biabduction] Log reasons for skipping also in non Java context
7 years ago
Mehdi Bouaziz 094eb9dcc7 [Cost] Use OneInstrPerNode CFG
7 years ago
Jules Villard 73a47d594c [debug] print procedures in alphabetical order in cfgs
7 years ago
Nikos Gorogiannis 63aafd3381 [starvation] catch calls to View.getVisibleDisplayFrame
7 years ago
Dulma Churchill 28200b87d7 [objc blocks] Specialize store instructions with current closure in methods specialized with blocks as arguments
7 years ago
Nikos Gorogiannis e5265ea85b [starvation] surface caller of blocking calls in reports
7 years ago
Ezgi Çiçek 8f0701a01c Refine dependency analysis to remove vars at prune exit nodes
7 years ago
Nikos Gorogiannis a4a1a9c55e [starvation] Catch java IO blocking calls on UI thread
7 years ago
Nikos Gorogiannis 7a9009e467 [starvation] Catch CountDownLatch.await calls on main thread
7 years ago
Nikos Gorogiannis b6c8766b11 [starvation] report binder calls on ui thread
7 years ago
Ezgi Çiçek 523c2f539b change clang translation to track if_kind (i.e. the type of prune node)
7 years ago
Nikos Gorogiannis 196c0e5544 [starvation] harmonize java formatting in tests
7 years ago
Sam Blackshear 670ae4a673 [quandary] `WebResourceRequest.getUrl` as source
7 years ago
Sam Blackshear 8084c8fec7 [racerd] treat `@InjectProp` formals as owned
7 years ago
Sam Blackshear ce8f958522 [racerd] don't report INTERFACE_NOT_THREAD_SAFE if the receiver of the interface call is marked `ThreadConfined`
7 years ago
Nikos Gorogiannis 0130c09dfc [starvation] add infrastructure for blocking events other than lock acquisition
7 years ago
Nikos Gorogiannis 269a1a9b93 [starvation] treat locks in (and accessed from) inner classes properly
7 years ago
Daiva Naudziuniene 94aae8713e [biabduction] Fix lookup of abduced expression
7 years ago
Ezgi Çiçek 76300d55c7 Tracks variables that affect control flow for a more precise cost analysis
7 years ago
Ezgi Çiçek af5265f75d "Report infinity as error per function"
7 years ago
Jules Villard f1bcb91542 [make] make sure no command fails
7 years ago
Jules Villard dee7414aa9 [inferbo] do not include location information in the bug description
7 years ago
Dulma Churchill aa578ea586 [retain cycles] Treat missing fields also angelically when it still happens in rare cases
7 years ago
Jeremy Dubreil 4dc3e5f059 [infer] upgrade the version of Guava used for the tests
7 years ago
Jeremy Dubreil 2f1d486aab [eradicate] model com.google.common.base.Strings.isNullOrEmpty(...)
7 years ago
Dino Distefano 3b608695af Improving treatment of default constructor
7 years ago
Jules Villard 9b315d4d08 [tests] some missing dependencies in differential tests
7 years ago
Dulma Churchill 74e16bdb58 [retain cycles] Define custom compare function that is more suited to dedup cycles
7 years ago
Mehdi Bouaziz e9a3913fdb [Inferbo] Do not propagate all safety conditions
7 years ago
Sungkeun Cho 4234288c93 [inferbo] Add a pointer arithmetic test
7 years ago
Sungkeun Cho e12a4a1071 [inferbo] Add traces in lift functions
7 years ago
Sungkeun Cho 1f6feef448 [inferbo] Revise eval_locs for array blocks
7 years ago
Sam Blackshear 94c2cd1d3b [ownership] tests for pointer arithmetic
7 years ago
Sam Blackshear 9180ff56c1 [ownership] handle new kinds of access expressions
7 years ago
Sungkeun Cho a353d69a6e [inferbo] Fix test code
7 years ago
Sungkeun Cho 4aafe8a990 [inferbo][bugfix] Revise gathering safety conditions in sub-exp
7 years ago
Sungkeun Cho b42d66d557 [inferbo][bugfix] Pointer arithmetics on pointers to non-array
7 years ago
Sungkeun Cho 00e1139071 [frontend] Parse binary operator using types of parameters
7 years ago
Jeremy Dubreil 5dea7c55e2 [infer][java] report nullable inconsistencies on library calls
7 years ago
Daiva Naudziuniene 681f2a56ab [HIL] Explicit dereference
7 years ago
Dulma Churchill 436e5340f3 [retain cycles] Move the retain cycle check to sym_exec_wrapper to get the path of the last instruction executed
7 years ago
Nikos Gorogiannis 462c2e2b2e [starvation] fix handling of static synchronized methods and static locks
7 years ago
Nikos Gorogiannis b11dd03fb9 [starvation] ignore local/temp variables as locks
7 years ago
Sungkeun Cho d15894c78a [inferbo] Add tests for relational analysis
7 years ago
Sam Blackshear 33fe8879a5 [quandary] report flows originating from `UserControlledEndpoint` as `_RISK`
7 years ago
Sam Blackshear f621dda0be [infer][clang] models off-by-default
7 years ago
Dulma Churchill 927e2049c3 [backend] Add getter/setter execution to the trace
7 years ago
Ezgi Çiçek 872daf1ba7 Add estimated cost to trace element
7 years ago
Nikos Gorogiannis b335fb9c50 [deadlock] rebrand to starvation
7 years ago
Jules Villard 63e04a55a0 [buck] disable buckd systematically
7 years ago
Sam Blackshear 44e5d0564b [ownership] fix false positives on aggregate locals in loops
7 years ago
Dulma Churchill 46c69cb26f [tests] Fix tests
7 years ago
Jeremy Dubreil 2e14f9c9c3 [infer] model android.app.AlarmManager.cancel(PendingIntent) as not accepting a null parameter
7 years ago
Jeremy Dubreil 8cfbdef7e0 [infer][biabduction] no longer track the resources saved into a container
7 years ago
Sam Blackshear aabf8aec55 [quandary] use `_risk` warning types for endpoint sources in Java
7 years ago
Dino Distefano e54df20eb7 Migrate to Itv.Bound
7 years ago
Sam Blackshear 7efb5cb549 [ownership] allow placement new on non-var expressions
7 years ago
Sam Blackshear 57a8c2f594 [quandary] don't taint dummy Thrift `_return` formals
7 years ago
Sam Blackshear 6b3282f619 [ownership] First parameter to constructor is read, not written
7 years ago
Dulma Churchill 96a2f8d689 [objc] Add missing fields to the tenv also when they are added to the footprint
7 years ago
Dulma Churchill 862bbdb5fc [retain cycles] Take weak pointers into account to avoid false positives
7 years ago
Sam Blackshear f8dfc2305e [ownership] simple 2-step traces
7 years ago
Sam Blackshear ec73adc66d [ownership] support placement new
7 years ago
Jeremy Dubreil 245e49e2da [infer] Eradicate should understand any form of checkNotNull
7 years ago
Jeremy Dubreil e801617488 [infer][java] Eradicate should not report a Return Not Nullable when a method returns the integer 0
7 years ago
Dulma Churchill d04a7aed52 [clang] Removed the mangling part of Clang global variables in the error messages
7 years ago
Sam Blackshear 6d46b0c7be [cleanup] stop printing `&`'s on `Var.t`'s
7 years ago
Sungkeun Cho bd040cf696 [inferbo] Add an issue type for alarms by unknown function call
7 years ago
Sam Blackshear b57aa90d7d [quandary] don't crash if JSON source/sink is invalid procedure name
7 years ago
Sam Blackshear 4952f1ea3b [quandary] tests documenting limitations of sanitizers
7 years ago
Nikos Gorogiannis 484480f72f [deadlock] regression tests
7 years ago
Sam Blackshear 12ad6c11c1 [ownership] return bottom on early exit or thrown exception
7 years ago
Sam Blackshear 3a40afcd22 [ownership] directly assigning any field of an aggregate struct counts as initialization
7 years ago
Dulma Churchill 0bc4df4b42 [retain cycles] Report cycles after assignment and method call
7 years ago
Dulma Churchill 716bb1939c [backend] Add missing fields to the tenv in the bi-abduction
7 years ago
Sam Blackshear 6976181b77 [ownership] special-case frontend-generated inner destructors.
7 years ago
Dulma Churchill 2edc1d8581 [retain cycles] Improve the message of cycles with blocks by adding more info about captured variables
7 years ago
Varun Arora 28b455cbfa [backend] Directly report analysis perf from ProcessPool assigned Task so it works correctly with new parallelism
7 years ago
Daiva Naudziuniene 9d844b707a Use after free false postives due to missing operator++ of hash map iterator
7 years ago
Sungkeun Cho 426af10130 [inferbo][bugfix] Pruning array block (NE case)
7 years ago
Sungkeun Cho 18ea3f99d8 [inferbo][bugfix] Plus semantics of interval domain
7 years ago
Sam Blackshear d720eb52ba [quandary] check for subclassing in externally specified sources/sinks
7 years ago
Sam Blackshear 89a6d7e20d [racerd] don't report races in third-party code
7 years ago
Jeremy Dubreil d74f189dfe [infer] add the report kind to the list of expected output
7 years ago
Dulma Churchill 26697704dc [retain cycles] Example of a cycle that includes a C++ class
7 years ago
Daiva Naudziuniene 5898417fdd [frontend] Getting appropriate type information for exp in sizeof exp
7 years ago
Dino Distefano d2cc5e72f7 Extending analysis to parametric case
7 years ago
Sam Blackshear 1977fefaab [ownership] assume operator= borrows for function types, copies for other types
7 years ago
Mehdi Bouaziz 6f4c08f798 [inferbo][trace] Trace element for Unknown values
7 years ago
Mehdi Bouaziz 72ec9516d4 [inferbo][trace] Show some SymAssigns
7 years ago
Mehdi Bouaziz 55fee73669 [inferbo][traces] Nits
7 years ago
Sungkeun Cho 8fd04d5312 [inferbo][bugfix] Add index to offset at array fields
7 years ago
Sungkeun Cho 469a5f64ed [inferbo] Simplify realloc model
7 years ago
Daiva Naudziuniene 4157ba820a [HIL] Implicit dereference in access expression
7 years ago
Sam Blackshear a0149872ad [ownership] report invocation of lambdas capturing a var whose lifetime is over
7 years ago
Dulma Churchill be53bc80e2 [lieveness] Fix false positive to do with a _Generic expression not being translated properly
7 years ago
Sungkeun Cho 09ae1f96fc [inferbo] Avoid array field is evaluated to the unknown location
7 years ago
Sungkeun Cho d6740e94b2 [inferbo] Collect array accesses from sub expressions
7 years ago
Sungkeun Cho e537f8f383 [inferbo] Revise realloc semantics
7 years ago
Dulma Churchill ae8067ea1a [clang] Set up the objc accessor flags correctly in case property is defined in protocol
7 years ago
Jeremy Dubreil b4b901c725 [infer][scheduler] always return None when the method is already being analyzed
7 years ago
Tony Hu 56872d8126 [java] Add command-line option to specify external Java packages
7 years ago
Dulma Churchill 9f343853ec [clang] Find fields from the properties corresponding to the property implementations.
7 years ago
Sam Blackshear 58adf8dd52 [ownership] implementing borrowing
7 years ago
Sungkeun Cho 6bacdf4a4d [inferbo] Return newly allocated locations in callees
7 years ago
Jeremy Dubreil 79276d26bf [infer][java] avoid conflicts between Eradicate warnings and Biabdduction warnings
7 years ago
Jeremy Dubreil c1d0709fe9 [infer][java] only collect the analysis results on the affected targets
7 years ago
Sam Blackshear e687ef40b3 [dead stores] report on dead stores to values captured by value in a lambda
7 years ago
Sam Blackshear aca9d034a7 [clang] translate capture-by-reference correctly
7 years ago
Jérémie Marguerie 8cfc7f2cad Add function to retrieve the lifetime of an ivar pointer and check if it is strong
7 years ago
Dino Distefano 69bfc0535c [Experimental] First very basic version of performance analysis tool
7 years ago
Sungkeun Cho e304b511fa [inferbo][bugfix] Declare parameter of flexible array member
7 years ago
Jules Villard 098b0700c2 [clang] upgrade internal clang
7 years ago
Sam Blackshear dedabf71e2 [liveness] don't report on dead stores of variables captured by reference in a lambda
7 years ago
Jules Villard c2c9c94d5e [bug] notice we do not support some versions of `assert`
7 years ago
Sungkeun Cho f55f382a78 [inferbo] Support flexible array member
7 years ago
Sungkeun Cho 3ef619ef14 [inferbo] Add a model for "placement new"
7 years ago
Sungkeun Cho 4299848dad [inferbo] Initialize array member in class
7 years ago
Dulma Churchill 3cb56ea3c1 [retain cycles] Fix false positives to do with not finding weak attribute in the tenv
7 years ago
Sungkeun Cho 077d2ae2f5 [infer] Disable sorting fields
7 years ago
Sam Blackshear dbc8a4af50 [fix] rename racerd_path_stability -> stability
7 years ago
Sam Blackshear 4799fb6b82 [racerd] skeleton for testing access path stability
7 years ago
Sam Blackshear 4485e97bee [ownership] report use after destructor
7 years ago
Dulma Churchill 702f8098e7 [retain cycles] Find all the cycles available instead of only one per root analysed
7 years ago
Sungkeun Cho f2b2041baf [inferbo] Precise symbol instantiation
7 years ago
Sam Blackshear 66d03869ab [quandary] don't treat private Java methods as endpoints
7 years ago
Dulma Churchill aae319376d [retain cycles] Fix renaming of closures, finds more retain cycles
7 years ago
Sam Blackshear d76d20a9ca [ownership] prototype of ownership analysis for tracking reads/moves
7 years ago
Daiva Naudziuniene 1401696119 [destructors] Inject destructor calls even if the destructor declaration is empty
7 years ago
Sam Blackshear f191819642 [litho] print name of component with missing prop
7 years ago
Sungkeun Cho ebddb14206 [inferbo] Prune by assert
7 years ago
Sam Blackshear 87de52210c [litho] handle extra setters for resType props
7 years ago
Sam Blackshear 9366e8dbc8 [clang] add id -> pvar bindings to C++ lambda capture
7 years ago
Jeremy Dubreil 89ec1effde [infer][nullable checker] lookup the attributes in the CFG
7 years ago
Sungkeun Cho c514b19786 [inferbo] Add new operator model
7 years ago
Jeremy Dubreil 2288e66063 [infer][nullable checker] treat all aliases as not null when one is checked for null
7 years ago
Sam Blackshear 3d170a82c4 [clang] translate lambdas that capture `this`
7 years ago
Daiva Naudziuniene 14445fad05 [bi-abduction] Do not abduce reference parameters constraints for recursive calls
7 years ago
Jeremy Dubreil b903b2d932 [infer][java] translate the annotations of the callees
7 years ago
Dulma Churchill 4218142a84 [retain cycles] Implement dotty files for retain cycles new
7 years ago
Varun Arora ad10435b58 [IR] combine is_objc_instance_method and is_cpp_instance_method fields in ProcAttributes into method_kind
7 years ago
Jeremy Dubreil 5f3c3ee3f9 [infer][genrule] use Eradicate for the genrule test
7 years ago
Dulma Churchill 91fbe68cc9 [retain cycles] Do not report when the captured variable is weak
7 years ago
Jules Villard 70c2a50b4e [db] record symbolic capture timestamps for source files
7 years ago
Jeremy Dubreil 2228f7448d [infer][nullable checker] add tests for the early return
7 years ago
Sam Blackshear 584b10647d [racerd] new lock domain
7 years ago
Sam Blackshear 71a3843746 Revert occurence counting change
7 years ago
Sam Blackshear 37ab9ec391 [quandary] ProcessBuilder as sink
7 years ago
Sam Blackshear ab77cfe803 [quandary] thrift services as sources in Java
7 years ago
Sam Blackshear 27172f7f8a [quandary] java shell exec as sink
7 years ago
Sam Blackshear 268e0b9b5f [racerd] generalize access preconditions
7 years ago
Dulma Churchill 8a9fcdc43f [retain cycles] Find cycles about blocks
7 years ago
Sam Blackshear 80b3d080ce [cleanup] sunset Context leaks
7 years ago
Sam Blackshear bc8fe4fb97 [java] don't warn on unclosed subclasses of non-resource types
7 years ago
Mehdi Bouaziz 4fdaf257ae [inferbo/unreachable] Fix FPs with exit at end of block/procedure
7 years ago
Jules Villard 586582c311 [buck] delete results dir inside buck-out in infer children processes
7 years ago
Daiva Naudziuniene ec263afe58 [clang frontend] placement new
7 years ago
Jeremy Dubreil 96ca6b6f02 [infer][bug hash] take the number of occurences of a report into account
7 years ago
Sam Blackshear ebfe8d1e72 [litho] move reporting of missing required props out of transfer functions
7 years ago
Dulma Churchill f5e89797a8 [backend] Fix consistency of closures after bi-abduction and other executions.
7 years ago
Jules Villard 6b5390fe79 [cfg] rename iCFG to cfg in dotty files
7 years ago
Sam Blackshear 2c6fb16636 [litho] support optional Prop's
7 years ago
Sam Blackshear 4545f36875 [litho] prototype of required `@Prop` checker
7 years ago
Jules Villard 66ad5c3018 [driver] persist some global state across infer runs
7 years ago
Jules Villard 337fb9bcdd [al] import files relatively to the current al file
7 years ago
Jules Villard 6d908adf14 [al] use "quotes" for user imports
7 years ago
Mehdi Bouaziz 4ed3be9f00 [inferbo] First models for std::array
7 years ago
Sam Blackshear fb7556816f [quandary] report gflags to shell exec, but not file or url creation
7 years ago
Tony Hu d62b046f52 [infer][genrule] create_genrules in DEFS now only creates Buck rule for "checkers" analyzer
7 years ago
Radu Grigore eb91d59e40 [infer][PR] Fixed namespace for Java globals.
7 years ago
Tony Hu 39564905f2 Removed GENERATE_INFER_GENRULES flag
7 years ago
Sam Blackshear f5e7a6e6d7 [quandary] print index(es) of tainted parameters at each call
7 years ago
Jules Villard 3d7878ef25 [make] make sure we always read from the right infer-out/
7 years ago
Dulma Churchill 66b1956e9a [debug] Adding the captured variable to the printing of the closures
7 years ago
Mehdi Bouaziz d71d759344 [inferbo] Fix division by constant
7 years ago
Sam Blackshear 7f62154318 [quandary] separate sanitizers for different kinds of escaping
7 years ago
Jeremy Dubreil b089486b5a [infer][nullable checker] take subtyping into account when detecting pointer assignment
7 years ago
Jeremy Dubreil 73b4409e6f [infer][nullable checker] no longer propagate the nullability when the lhs is not a pointer type
7 years ago
Jeremy Dubreil f50c7b469e [infer][nullable checkers] move the tests for the nullable checker in a dedicated subdirectory
7 years ago
Sam Blackshear a50433f87f [cleanup] remove unused java dependencies
7 years ago
Jules Villard 7032bca1d5 [tests] fix `make clean`
7 years ago
Dino Distefano d83a9445f1 First extension to uninit inter-procedural analysis
7 years ago
Sam Blackshear ab3da5b1d1 [cleanup] remove unused dynamic dispatch modes
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
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
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 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
Jules Villard 5ce024bf6e [clang] do not error on bogus arguments to `fsanitize`
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
Sam Blackshear 7e8739de0a [quandary] more fine-grained issue types for Java
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
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
Mehdi Bouaziz 78120bc9e2 Fix tests
7 years ago
Mehdi Bouaziz 1a117d7e09 Fix unique_ptr model
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
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
Jeremy Dubreil 3e94c868f4 [infer] use the classname without the package name to compute the bug hash
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
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
Jeremy Dubreil 7b8a5a1a2b [infer] always run all the pre-analysis passes independently form the checkers that are being run
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
Sam Blackshear 087ff08b82 [quandary] eliminate spammy soft error for bad return summary
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
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
Dulma Churchill c0f250c45e [liveness] Change the model of assert functions to include the handle failure function to avoid dead store fps
7 years ago
Jeremy Dubreil 97927f6f46 [infer][checkers] remove the `-a biabduction` option and the related code
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
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
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 181959216b [cleanup] remove harness-related code
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
Sam Blackshear d90bc24657 [clang] translate UsingDecl
7 years ago
Sam Blackshear 97f3af15f3 [quandary] support multiple sanitizer kinds in C++
7 years ago
Sam Blackshear faef207d62 [quandary] propagate taint across unary/binary operators
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
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
Dino Distefano aa54b1b035 Extending uninit analysis to struct
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
Dino Distefano 979c476fa3 Do not report when defining an array
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 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 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
Sam Blackshear d221a0ae42 [racerd] don't report INTERFACE_NOT_THREAD_SAFE on thread-confined interfaces
7 years ago
Dino Distefano ce711d7e8a [uninit] Reporting parameters calls which are not passed by reference
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
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
Sam Blackshear 4ee4ebb42a [hil] don't move any accesses across lock acquisition/release
7 years ago
Daiva Naudziuniene ccd2c76344 [LockConsistency] Adding ownership of locals for c-style functions
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
Daiva Naudziuniene 535ba01a25 [LockConsistency] Model std::unique_lock::try_lock
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 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
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
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
Dulma Churchill e7907032bf [clang] Remove allocating blocks
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
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
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
Dulma Churchill 01219a0298 [cleanup] Remove the retain count implementation from ObjC that is unused.
7 years ago
Dulma Churchill 3c48a3f38a [objc] Do not fail in the bi-abduction with missing fields in ObjC
7 years ago
Sam Blackshear bc02bee737 [cleanup] rename thread-safety analysis
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
Sungkeun Cho eb0c727fdf [inferbo] Add symbol for unsigned int
7 years ago
Sam Blackshear 3a5a0413bb [thread-safety] remove special treatment for immutable collections
7 years ago
Jules Villard 3790ca5487 [checkers] declare --resource-leak with the other checkers
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
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
Dulma Churchill 3304160790 [tests] Remove frontend test that depends on header macro.
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
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
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 5c1fab6ceb [thread-safety] Rebase accesses in callees onto variables of the caller, where possible.
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
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
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
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
Jules Villard 22aca7494b [siof] understand that <iostream> initialises streams
7 years ago
Jules Villard 94e7a7b141 [siof] one access per sink, better report deduplication
7 years ago
Dulma Churchill 67b08f666f [objc] Translate ObjCAvailabilityExpr
7 years ago
Jules Villard ee1b688e6d [sql] let sqlite handle the attributes update logic
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 652af47da7 [linters] Add transition to parameters by position in the parameters list
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
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
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
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
Jules Villard d2b4f3c8da [config] add option to force deletion of results dir
7 years ago
Jules Villard 72b1ac4b5a Turn off --keep-going by default
7 years ago
Jeremy Dubreil 2294bfda8f [infer][test] update the shared pointer test names
7 years ago
Dulma Churchill 5569ee751a [linters] Add transitions Fields and FieldName
7 years ago
Jeremy Dubreil b63f5d7c00 [infer][clang] translate the annotations on fields
7 years ago
Dino Distefano f3b158a158 Fix use of SEL in AL
7 years ago
Jeremy Dubreil 4ec5440692 [infer][clang] port the nullable suggestion on fields on C++
7 years ago
Jeremy Dubreil 919b9268d4 [infer][clang] simplify the translation of the prune nodes
7 years ago
Sam Blackshear b61a34007a [thread-safety] re-enable check for calling non-threadsafe interface
7 years ago
Daiva Naudziuniene ac33bf6e66 [destructors] Injecting destructor calls of virtual bases inside destructor bodies
7 years ago
Sam Blackshear 7aa199f707 [clang] fix translation of placement new
7 years ago
Jules Villard c6812df1eb fix infinitely-expanding types in the backend
7 years ago
Sam Blackshear d08bebe563 [reporting] don't report duplicate warnings on different instantiations of the same template
7 years ago
Jeremy Dubreil 42fc24ebfd [infer][biabduction] fix the dynamic resolution of non virtual calls
7 years ago
Sam Blackshear 6533aa65c6 [quandary] deserialization as sink
7 years ago
Dulma Churchill d8765d1d44 [linters] Include only base name of ObjC methods in the linters bug hash
7 years ago
Dulma Churchill b99b653ffa [linters] Fix the computing of the successors of method declarations
7 years ago
Dulma Churchill 5f176f40e3 [linters] Add linters_doc_url flag for custom doc_urls for linters
7 years ago
Daiva Naudziuniene e78dc91f34 [destructors] Destroy fields after continue.
7 years ago
Sam Blackshear 5ff6e2c786 [quandary] EditText.getText() as source
7 years ago
Jeremy Dubreil f7258c2ab4 [infer][java] fix the translation of the finally branch
7 years ago
Daiva Naudziuniene c6c7411e05 [destructors] Destroy fields after break.
7 years ago
Daiva Naudziuniene 822ffc6f62 [frontend] Fix continue inside do while.
7 years ago
Dulma Churchill 7e3298711c [AL] Compute a witness child node when computing formulas to be used for more precise bug hashing
7 years ago
Sungkeun Cho e5ee27af20 [Inferbo] Bugfix: incorrect pruning for unary negation
7 years ago
Jeremy Dubreil 94ff44ed57 [infer][biabduction] add skipped functions to the trace when known
7 years ago
Jeremy Dubreil 20c57ad549 [infer][biabduction] add more context information about the reason to skip a method during the symbolic execution
7 years ago
Jules Villard adca07d815 [make] fix issues with `make clean && make -j test-replace`
7 years ago
Sam Blackshear 14aef012f6 [quandary] allow specifying globals as sources
7 years ago
Dulma Churchill 5f9c020570 [buck integration] Support passing targets by file to buck in both the compilation database integration and the flavors integration
7 years ago
Jeremy Dubreil 9a3ab41371 [infer][java] the translation was no adding the fields from the implemented interfaces
7 years ago
Sam Blackshear 4065b1d120 [dead stores] recognize lambdas with `auto` parameter
7 years ago
Sam Blackshear 14fa4aa7d9 [clang][dead stores] translate init-capture expressions
7 years ago
Daiva Naudziuniene 879891a3af [destructors] Injecting destructor calls of base classes
7 years ago
Dulma Churchill d5be23f1b6 [backend] Do not add return annotations to parameters of functions that are skipped
7 years ago
Sam Blackshear 9772b2299d [clang] translate user-defined literals
7 years ago
Sam Blackshear de9d8f45ff [clang] partial translation of vector instructions
7 years ago
Dulma Churchill 47221ab273 [linters] Add support for Cxx structs when querying types
7 years ago
Dulma Churchill ecd79a56d3 [linters] Support transition Parameters also by ObjC method calls
7 years ago
Jeremy Dubreil 32d462b778 [infer][java] add an option to only translate the signature of the methods and skip the body
7 years ago
Jeremy Dubreil 1a221e798c [infer][java] make the translation and analysis of abstract methods and native methods consistent
7 years ago
Jeremy Dubreil a03f765d8f [infer][biabduction] no longer drop the atoms that are referring to footprint variables
7 years ago
Daiva Naudziuniene 3e660b05ee [destructors] Injecting destructors of fields to destructor bodies.
7 years ago
Daiva Naudziuniene 19d1b25919 Adding changes to objc issues to fix tests.
7 years ago
Jeremy Dubreil d4565107f6 [infer][biabduction] add the name of the skipped methods to the trace to make them more readable
7 years ago
Jeremy Dubreil f814eb40b8 [infer][java] add more example of inter-target NPEs for the Buck integration
7 years ago
Dulma Churchill 5ead13a225 Fixing crash that happened when reporting a lint issue in a templated method.
7 years ago
Dulma Churchill 9f19f12a1b [linters] Fix incorrect assert false in Component linters
7 years ago
Daiva Naudziuniene a2c67afe6c [threadsafety] Testing if a race that happened in a private method is reported in a caller public method.
7 years ago
Dulma Churchill acbf6c90fe [linters] Add example of checking whether a parameter passed to a function is initialized with a selector only
7 years ago
Dulma Churchill 0b5c992a93 [linters] Add an example of checking for an empty map in the argument of a method call
7 years ago
Roy Li 76bc7d686c Add predicate for enum constants of a particular enum
7 years ago
Sam Blackshear 5d578cf196 [quandary] make it possible to report taint errors on footprint sources again
7 years ago
Jules Villard c16884b97f [jbuilder] turn I{Std,List} and atd-generated files into libraries
7 years ago
Sam Blackshear f821d8948f [quandary] add memcpy, memset, and similar as sinks
7 years ago
Sam Blackshear 3b56b93ae5 [quandary] apply summary for sinks
7 years ago
Sam Blackshear 94ceebfef8 [quandary] represent footprint as unified set of access path rather than conjunction of special sources
7 years ago
Sam Blackshear 3e6e76a2b2 [quandary] fix widening bug
7 years ago
Dulma Churchill df1063b9eb [linters] Adding example of checking a parameter for empty struct
7 years ago
Dulma Churchill 30d2822846 [linters] Restrict the remove observer check to when target ios sdk version is greater or equal than 9.0
7 years ago
Dulma Churchill a3309926b3 [linters] Add transition parameter with label for ObjC method declarations or method calls
7 years ago
Daiva Naudziuniene 29aea2d61d Do not show internal SIL variable name in the error message of temporary address escape
7 years ago
Dulma Churchill 673f2b6917 [linters] Add option to specify iphone sdk version by path
7 years ago
Dulma Churchill a6f8850617 [linters] Provide predicate for checking the current method in the context
7 years ago
Dulma Churchill 3da5908728 [linters] Remove unavailable api class false positives and turn it on
7 years ago
Greg Nisbet 7fc5cb7930 exinferbo] check end of procedure for unreachability
7 years ago
Sam Blackshear 2876f50703 [quandary] popen as sink
7 years ago
Dulma Churchill 336f6f8dff [linters] Support reference types in the linters type parser
7 years ago
Jeremy Dubreil 54eaaa9573 [infer][biabduction] remove the check for null test after dereference on Java
7 years ago
Jules Villard 69299ba675 [filtering] improve issue type filtering CLI
7 years ago
Martino Luca 17cc5ec7be Remove unsupported `index-store-path` argument from clang commands
7 years ago
Jia Chen 674068996b Add model for <atomic>
7 years ago
Jia Chen 3e82890d6d Teach the prover and the normalizer aliasing rules between pointers and integers
7 years ago
Sam Blackshear 3a7d50e15b [thread-safety] more precise ownership domain
7 years ago
Sam Blackshear 41fb45f388 [thread-safety] add OwnedIf attribute to all formals at the beginning
7 years ago
Sam Blackshear f738a7186a [quandary] fix assertion failure due to unexpected operator=
7 years ago
Jules Villard 52746fd9eb [checkers] add --<checker>-only options
7 years ago
Meng Zhang cdc54563d4 [Infer] Write a has_visibility_attribute predicate for AL
7 years ago