613 Commits (6d75961a87e66f5c98e79047016f0bf26ccc6313)

Author SHA1 Message Date
Dulma Churchill 892b16b8c0 [closures preanalysis] [1/n] Adding first step of preanalysis to specialize methods with concrete closures they are called with
4 years ago
Qianyi Shu bb828a92af [cost] refactor cost model and add NSArray.sort cost model.
4 years ago
Qianyi Shu b71521a90a [cost] add iterator support for nsdictionary
4 years ago
Ezgi Çiçek 8447aa3fac [inferbo] Generalize init's model to NSObject
4 years ago
Qianyi Shu debeba5860 [cost] make the size of collection more accurate when modifying in loop
4 years ago
Ezgi Çiçek f02f7b379e [cost] Add FN test for functions that take blocks as arguments
4 years ago
Qianyi Shu 41f2533ff8 [cost] fix enumerator when not used in for-each loop in ObjC
4 years ago
Daiva Naudziuniene 87ff05c9b8 [pulse] Add a new test for npe in objc blocks
4 years ago
Qianyi Shu 9a3bfa67c7 [cost] fix iterator for constant array
4 years ago
Qianyi Shu b4f23ab599 [cost] add NSArray iterator
4 years ago
Daiva Naudziuniene dcc12d0a42 [closuressubstitution] Flip order of captured variables and actual parameters
4 years ago
Qianyi Shu 4683076ea6 [cost] add NSMutableArray's add and remove function model
4 years ago
Qianyi Shu a7ff42069c [cost] write ObjC's NSCollection model separately and refactor
4 years ago
Daiva Naudziuniene 35de604422 [frontend] Record attribute unused in local variable data
4 years ago
Qianyi Shu b66b3d3ea5 [cost] add inferbo model for init function of NSString and NSArray
4 years ago
Qianyi Shu d087de8ad6 [cost] adapt NSCollection to behave like Collection model for java
4 years ago
Qianyi Shu 3d561ca1db [cost] add alloc for NSObject and NSString.init as an example function using alloc
4 years ago
Sungkeun Cho 54c89408c2 [frontend] Fix translation of for-in block in objc
4 years ago
Ezgi Çiçek aa2f420ac8 [inferbo][cost] Check supertype in ObjC models
4 years ago
Qianyi Shu 2547a75b8b [cost] add more inferbo and cost analysis models for NSString
4 years ago
Qianyi Shu 829c5da6b2 [cost] add inferbo model for most common function of NSDictionary
4 years ago
Qianyi Shu 6ec7d578cb [cost] Add NSArray.arrayWithObjects: and array access function
4 years ago
Sungkeun Cho 928137fb34 [frontend] Add translation of arrayWithObjects:count:
4 years ago
Dulma Churchill d2f8028e77 [preanalysis] Adding a preanalysis to resolve local closures
4 years ago
Qianyi Shu 8d648b9c5a [cost] add cost model for most common NSString functions
4 years ago
Ezgi Çiçek e6ed605d67 [cost] Fix unreachable node Top poisoning
4 years ago
Daiva Naudziuniene 50d659b750 Update type of procdesc and closure expression to contain information about capture variable mode
4 years ago
Qianyi Shu dc502676ea [cost] add model for NSString.string_with_utf8_string_linear and NSString.length
4 years ago
Qianyi Shu 75e5e94f2c [cost] add inferbo model for NSNumber
4 years ago
Qianyi Shu 1c39d7768f [cost] add inferbo model for NSArray
4 years ago
Sungkeun Cho 4ef0a787db [cost] Do not print loop line number in trace message
4 years ago
Qianyi Shu 2756189175 [cost] add test for unmodeled inferbo functions that acts as control variable
4 years ago
Qianyi Shu 149e1879ce [cost] add objc test for customized_class and blocks
4 years ago
Dulma Churchill 85ee958bf9 [pulse] Add model for NSObject.init
4 years ago
Dulma Churchill 622f0fb6f2 [linters] Remove the linters UNAVAILABLE_API_IN_SUPPORTED_IOS_SDK and REGISTERED_OBSERVER_BEING_DEALLOCATED
4 years ago
Dulma Churchill fc7437abb0 [biabduction] Delete Core Foundation models for Memory Leaks
5 years ago
Dulma Churchill 61ae2d1e1b [clang] Add implicit implementations for ObjC getters and setters as a preanalysis
5 years ago
Sungkeun Cho 70a432e795 [CCBM] Support Clang target
5 years ago
Dulma Churchill 219cc64cb6 [biabduction] Delete null_test_after_dereference check
5 years ago
Qianyi Shu 9e0d5de91d [cost] add objc test for NSDictionary and NSMutableDictionary
5 years ago
Qianyi Shu fecf954c6e [cost] add objc test for NSArray and NSMutableArray
5 years ago
Qianyi Shu cb805882c2 [cost] add objc test case for NSInteger and NSString
5 years ago
Dulma Churchill 11c6e3e0ee [pulse] Enable pulse memory leaks and disable biabduction one
5 years ago
Qianyi Shu 525bd35370 [cost] import c performance test to objc
5 years ago
Dulma Churchill 61d5fde7c4 [clang] Adding implicit implementation of dealloc methods to ObjC classes
5 years ago
Jules Villard 0bf23c66fd [help] document checkers
5 years ago
Jules Villard 4f79585eb0 record objc tests
5 years ago
Dulma Churchill aa6fe7963c [pulse] Add dealloc calls for ObjC objects that are about to become unreachable
5 years ago
Ezgi Çiçek 289d64260e [cost] Record cost traces in cost-report.json
5 years ago
Ezgi Çiçek 2b40497e88 [cost] Remove cost threshold from tests
5 years ago
Ezgi Çiçek 4858d29147 [cost] Add ability to test costs-report.json
5 years ago
Jules Villard 163f3c687d kill Exceptions.Dummy_exception
5 years ago
Dulma Churchill 3cdb9f322e [IR] Fix the function hashable_name for ObjC methods
5 years ago
Dulma Churchill ef7bc324e3 [pulse] Add a flag to model methods for memory ownership transfer
5 years ago
Dulma Churchill 40143ab01c [pulse] Model CFRelease as removing the Allocated attribute rather than as free
5 years ago
Dulma Churchill 6c044ba2d4 [pulse] Model Core Foundation create and copy functions
5 years ago
Jules Villard b1e35a728d [biabd] rename test directories from {biabduction,errors,infer} to {biabduction}
5 years ago
Dulma Churchill 2b0ff5d160 [pulse] Add interproc tests for CFBridgingRelease model
5 years ago
Dulma Churchill f28d75c910 [pulse] Add model for malloc_no_fail
5 years ago
Dulma Churchill fa13577695 [pulse] Model __bridge_transfer
5 years ago
Dulma Churchill c76d59853b [pulse] Model CFBridgingRelease by removing the Allocated attribute
5 years ago
Dulma Churchill bdba1db6ef [biabduction] Remove the flags for modelling alloc and release functions that are unused
5 years ago
Dulma Churchill 2d168f75a6 [pulse] Add options for modelling alloc models and free models from user-defined regexes.
5 years ago
Dulma Churchill 2382e3d613 [pulse] Model Core Graphics Create and Copy just like malloc
5 years ago
Dulma Churchill 59ea968de8 [pulse] Model the correct CFAutorelease
5 years ago
Dulma Churchill b29d1a2f5f [pulse] Adding new value history for allocations
5 years ago
Dulma Churchill 271946a178 [pulse] Model release functions from Core Graphics and Core Foundation
5 years ago
Dulma Churchill 6f2b52fcc7 [pulse] Model Core Graphics create and copy functions
5 years ago
Jules Villard 339ebe74ec [config] sensible default for --from-json-report
5 years ago
Mitya Lyubarskiy bd83813b3e [tech debt] Remove experimental nullability checkers
5 years ago
Dulma Churchill 634a42b619 [SelfInBlock] Take ns_noescape into account when reporting captured strong self.
5 years ago
Sungkeun Cho 100807ed2a [inferbo] Do not prune values with bottom
5 years ago
Dulma Churchill 58913e6a1c [Infer] Dedup reports of weakSelf in Noescape block
5 years ago
Dulma Churchill 00c52a52c2 [Infer] Dedup the reporting of Captured StrongSelf
5 years ago
Dulma Churchill f6341977fb [Infer] Dedup reports of strongSelf Not checked
5 years ago
Dulma Churchill a864823f38 [SelfInBlock] Fix a bug in exps_of_instr where some expressions were missed.
5 years ago
Dulma Churchill 7631d34f43 [SelfInBlock] Refactor the reporting to run only once over the domain
5 years ago
Ezgi Çiçek b5562f124a [cost] Disable reporting of allocation costs
5 years ago
Nikos Gorogiannis 9648632bd5 [clang] Revert "Translate SynchronizedStmt"
5 years ago
Dulma Churchill 63428e7b69 [SelfInBlock] Check for when weakSelf is used in a no escaping block
5 years ago
Dulma Churchill 9dfd1943e6 [selfInBlock] Remove false positive from mix self weakSelf
5 years ago
Dulma Churchill b1eb969635 [selfInBlock] Add a new check when strongSelf is captured in a (sub)block.
5 years ago
Dulma Churchill edc47d4a96 [selfInBlock] Handle conditionals as well as ifs
5 years ago
Dulma Churchill 430727519b [clang frontend] Translate BinaryOperators in ifs equally whether they are part of a ExprWithCleanups or not
5 years ago
Dulma Churchill 66c6a73cc6 [SelfInBlock] Report strongSelf Not Checked when strongSelf passed to a function as argument
5 years ago
Dulma Churchill 05bd4185e0 [SelfInBlock] Reporting strongSelf Not Checked only in field access
5 years ago
Nikos Gorogiannis 279f1c85ce [racerd] abbreviate procnames in report text
5 years ago
Sungkeun Cho 668969a3c2 [frontend] Do not die when selector is unknown in objc boxed expr
5 years ago
Dulma Churchill d00d8b3597 [AL] Allow to match typedefs and pointers.
5 years ago
Dulma Churchill f69d0992bc [self-in-block] Add new issue type MULTIPLE_WEAKSELF
5 years ago
Dulma Churchill c9c4adebc2 [AL] Improve the predicate for checking visibility attribute and example rule for checking macro for category implementation
5 years ago
Dulma Churchill 48da570aa0 [AL] Introduce a way of binding the two witnesses of an AND formula
5 years ago
Dulma Churchill 766fc2c072 [AL] Adding a new transition to siblings
5 years ago
Jules Villard 78a33acb77 [cfg] run pre-analysis lazily in ondemand
5 years ago
Dulma Churchill e411db6f82 [AL] Make the transition Parameters work with function calls
5 years ago
Dulma Churchill 510a5e2933 [self in block] Adding traces to the Strong_self_not_checked check
5 years ago
Dulma Churchill bf581e0b72 [self in block] Add a check for strongSelf not checked for null
5 years ago
Dulma Churchill f303c9fa87 [self in block] Fix error in choosing variables fmor the domain for reporting
5 years ago
Dulma Churchill 41fffa690c [self in block] Adding traces to the mixed self with weakself check
5 years ago
Dulma Churchill 43823266ec [self in block] Add a new checker to detect correct uses of when ObjC blocks capture self.
5 years ago
Jules Villard 6a738045fd [pulse] interprocedural histories and traces
5 years ago
Dulma Churchill 6cfbd38355 [AL] Take API_AVAILABLE into account in the Unavailable_Api check
5 years ago
Dulma Churchill 86140581d5 [AL] Adding predicate for AL rule to check that a variable of a specific type is being captured in a block
5 years ago
Dulma Churchill ab683af1f1 [objc frontend] Keep the counter for block names local to each procedure
5 years ago
Dulma Churchill 5c58689493 [pulse] Add pulse tests for objective-c (the c part of it)
5 years ago
Ezgi Çiçek 89782dfff9 [cost] Mask min/max symbols when printing big O
5 years ago
Ezgi Çiçek 9c5b704ddd [cost] Record bigO in error trace description
5 years ago
Martin Trojer 0fe30d13c5 add flag for (undefined) functions that should be modelled as mallocs
5 years ago
Jules Villard 937e971849 [objc] fix test so that it looks like it could compile
5 years ago
Ezgi Çiçek 0f43930f40 [cost] Refactor cost issue types and enable detecting allocation complexity increase on cold start
6 years ago
Josh Berdine cfc1c8be36 [copyright] Remove years
6 years ago
Radu Grigore d86e2f0d1c [topl] Generate monitor.
6 years ago
Dino Distefano 24728dc093 New ObjC checker for calls to @optional methods
6 years ago
Jules Villard 1395d5581d [clang] upgrade to 8.0.0
6 years ago
Jules Villard d4e4ed55bc [objc] make quandary test run
6 years ago
Ezgi Çiçek 75cfdf23ea [clang] Fix arc lint
6 years ago
Dino Distefano 2f3b376996 Added is_optional_objc_method predicate
6 years ago
Dino Distefano 10ca0c3269 Fix detection of return type for instancetype when using NS_ASSUME_NONNUL
6 years ago
Dino Distefano 4f982e9f63 Add predicate for Unavailable attr
6 years ago
Dino Distefano df438016f2 Adding SourceExp transition to AL
6 years ago
Ezgi Çiçek c114a4b9f2 [control,cost] Add test for dangling global enum
6 years ago
Jules Villard 686231ec6e [SIL] change `variable_initialization()` builtin to a new auxiliary instruction
6 years ago
David Lively 5d4a27ea54 RFC: stop using _ to separate ObjC/C++ class name from method in Typ.Procname.to_string
6 years ago
Dino Distefano 1172e6de50 Translate SynchronizedStmt
6 years ago
Ezgi Çiçek ba42e3fa46 [inferbo] Add models for CF
6 years ago
Ezgi Çiçek fb8faaf38a [objc] Fix performance Makefile to allow jackalope runs
6 years ago
Dino Distefano 67b42bf021 Added new issue types for Allocation and IO
6 years ago
Dino Distefano 52b72f4bbe Added more allocation primitives
6 years ago
Radu Grigore 86861498a5 Slightly more precise pi_partial_meet
6 years ago
Jules Villard a36db66940 [SIL][2/3] print all the CallFlags
6 years ago
Ezgi Çiçek 274570f499 [objc] Fix test results for linters
6 years ago
Dino Distefano aae5192b79 fix vardecl const
6 years ago
Jeremy Dubreil a3ecfdb8ad [infer][nullsafe] add a NULLSAFE_ prefix to the internal name of the Nullsafe errors
6 years ago
Jules Villard 4d46f8631e [objc] unbreak frontend test
6 years ago
Jeremy Dubreil 87a8ddc8fa [nullsafe] merge the option names
6 years ago
Jeremy Dubreil 61d75d9991 [infer][nullsafe] use the same human readable error message for Eradicate and the new Nullsafe backend
6 years ago
Jeremy Dubreil 69af58506d [infer][nullsafe] rename the option to run the Nullsafe checker
6 years ago
Jules Villard 9510549cf6 [ios] kill flaky linter test
6 years ago
Jules Villard 1c668c4d41 [SIL][preanalysis] add call flag for functions treating first formal as return
6 years ago
Jules Villard 55586b581b [preanalysis] do not delay killing variables taken by reference
6 years ago
Sungkeun Cho 5f925869b6 [infer] Translate more casts (unsigned int)
6 years ago
Sungkeun Cho 1486a5f105 [infer] Translate casting expressions of integer pointers
6 years ago
Jules Villard 646aa30797 [cfg] print dotty *after* pre-analysis
6 years ago
Jules Villard 9aa5582caa [clang] leave markers of variable initialization for pulse
6 years ago
Dino Distefano 5d533bba5c New Infer rule for dispatch_once_t
6 years ago
Mehdi Bouaziz 148664a7d4 Fix objc tests
6 years ago
Mehdi Bouaziz ce34dcb695 Format everything
6 years ago
Jules Villard 7615963bf4 [proc-cfg][2/5] fix duplicate symbols detection
6 years ago
Jules Villard a29e769b61 [kill -a][1/4] stop using `-a foo` in the infer repo
6 years ago
Martin Trojer 6d17ba7044 make tests work in xcode10
6 years ago