583 Commits (f22edd95c7e47157588239319e87ab70b00ec7c5)

Author SHA1 Message Date
Jeremy Dubreil a03f765d8f [infer][biabduction] no longer drop the atoms that are referring to footprint variables
8 years ago
Daiva Naudziuniene 19d1b25919 Adding changes to objc issues to fix tests.
8 years ago
Roy Li 76bc7d686c Add predicate for enum constants of a particular enum
8 years ago
Dulma Churchill 30d2822846 [linters] Restrict the remove observer check to when target ios sdk version is greater or equal than 9.0
8 years ago
Dulma Churchill 673f2b6917 [linters] Add option to specify iphone sdk version by path
8 years ago
Dulma Churchill a6f8850617 [linters] Provide predicate for checking the current method in the context
8 years ago
Dulma Churchill 3da5908728 [linters] Remove unavailable api class false positives and turn it on
8 years ago
Meng Zhang cdc54563d4 [Infer] Write a has_visibility_attribute predicate for AL
8 years ago
Andrzej Kotulski 88b74d524d [C++] Rewrite initListExpr_trans
8 years ago
Jeremy Dubreil 2a8e192280 [infer][biabduction] disable the reporting of return value ignored
8 years ago
Dulma Churchill 00c1b354e1 [linters] Improve to_string method for boxed values
8 years ago
Dulma Churchill d0858c7770 [linters] Improve the to_string method for string constants
8 years ago
Jules Villard fe01f47e41 [clang] correct sizeof info
8 years ago
Jeremy Dubreil bf11a27158 [infer] merge --failures-allowed and --keep-going
8 years ago
Jeremy Dubreil ff30afac8b [infer][al] fix the linters test output
8 years ago
Dino Distefano a386ef5e83 Adding predicate for identify a selector with a particular name
8 years ago
Jeremy Dubreil f49d292c3b [infer][backend] remove the bi-abduction based code for taint analysis
8 years ago
Jia Chen a8897c2412 Properly model the copy semantics of NSString.stringWithUTF8String and NSString.stringWithString.
8 years ago
Jia Chen acb0650e96 Preserve the name of abduced by-ref logical variables in re-execution phase
8 years ago
Dulma Churchill 416478d453 [linters] Predicate for checking enum constants
8 years ago
Andrzej Kotulski e366b0d9b5 [clang] Fix expression statement with conditional inside
8 years ago
Jia Chen 0b641edaac Do not assign the hidden field when processing init list initialization for objective c
8 years ago
Dulma Churchill 7c384669eb [linters] Add a new linter UNAVAILABLE_CLASS_IN_SUPPORTED_IOS_SDK for checking unavailable classes in supported ios sdk
8 years ago
Dulma Churchill 144e062684 [linters] Take instancesRespondToSelector into account to avoid FPs
8 years ago
Jia Chen 7c41d3ee48 [infer][backend] Invalidate by-ref parameters for logical variables as well as program variables when calling undefined functions
8 years ago
Jia Chen 89de9504bb Fixed a (supposed) typo in objc test
8 years ago
Dulma Churchill 431b5c6ede [linters] Disable filtering by path in debug or no-filtering mode
8 years ago
Dino Distefano 4a5d0e0b55 Adding ability to express properties on the hierachy of protocols
8 years ago
Dulma Churchill 7d680b3b0c [linters] Add an optional doc_url field to linters to specify the url to some documentation online.
8 years ago
Dulma Churchill 72802024b3 [linters] Fix unavailable api check to take the avaiability attribute into account when it's not the first one in the list.
8 years ago
Jia Chen a6757be036 Force emitting prune node for C++ comparison expressions
8 years ago
Dulma Churchill 47f1c6ffac [linters] Global paths
8 years ago
Dulma Churchill 99a0f894b6 [linters] Add option to blacklist the unavailable api check for some files
8 years ago
Dulma Churchill dfca0cdcf7 [linters] Introduce whitelist and blacklist path, also multiple paths
8 years ago
Don Stewart 35ac57c378 Typo in message.
8 years ago
Dulma Churchill 57dd45dd82 [linters] Improve the error message in implicit cast error
8 years ago
Dino Distefano 55da0055c9 Predicate for `using namespace`
8 years ago
Dulma Churchill 03bdf0fe2c [linters] Cast from pointer to integer
8 years ago
Martino Luca 2e8e5733f6 [AL] Load AL files from a directory
8 years ago
Dino Distefano 0809279b3b Extending type parser to deal with typedefs
8 years ago
Dulma Churchill 46a539df82 [linters] Specify path in linters
8 years ago
Dulma Churchill f5d3870485 [linters] Adding a new error type like
8 years ago
Dino Distefano 4e7c7f30c1 Extended transitions to universal quantified operators
8 years ago
Dino Distefano e77ca182a5 Added a lint for namespace
8 years ago
Dino Distefano bdd2395be6 Adding ability to get type of paramters.
8 years ago
Dino Distefano cfd0a9b038 Extending type parser to parse ObjC classes.
8 years ago
Jules Villard 93ec47a5f4 [IR] add stride to array type
8 years ago
Jules Villard 801c605c26 [CLI] switch to infer-<command> (symlinks) executables
8 years ago
Dino Distefano 99552edd7b Extending type parser to parse pointer types.
8 years ago
Dulma Churchill c9670d215d [linters] Add new predicate has_type and check for implicit cast
8 years ago
Dino Distefano c6a29e5e8a Adding more builtin type to parser
8 years ago
Dulma Churchill 1a141eddca [ObjC capture] Model functions related to dispatch sources
8 years ago
Dulma Churchill 6097c05d88 [clang] Add a preanalysis to compute nullability annotations
8 years ago
Dino Distefano 5bb41cc18c Removing predicates _strict
8 years ago
Dino Distefano 3c6f53c896 Adding predicate to get return type of a method and start a new parser for types
8 years ago
Andrzej Kotulski 462220ce3e [typ] Print type qualifiers in Typ.pp_full
8 years ago
Jules Villard 1b0ee6fbc3 [clang] add sizeof static value to translation
8 years ago
Dino Distefano 7cef8ae3b5 Making AL distinguish class methods from instance methods
8 years ago
Andrzej Kotulski 62d1d74d74 [Typ] Change Typ.pp_full to not include class keywords
8 years ago
Dino Distefano 3ebf8c3277 Added the capability to import macros files in AL
8 years ago
Paco Estevez Garcia 5482f110c1 Add type path_exec to represent an skipped path of execution. Add logic to symExec to report skipped paths
8 years ago
Jules Villard 3ab6c43fb6 [tests] awesomize make output
8 years ago
Jules Villard cd421b4a5f [make] print @ commands when passed VERBOSE=1
8 years ago
Andrzej Kotulski fbddeba8a7 [clang] Don't inline global var initializers
8 years ago
Dino Distefano 40e63aa42c Added the capability to define macros in AL
8 years ago
Andrzej Kotulski d4e9f0de64 [Makefile] Print duplicate symbols to separate file, not stderr
8 years ago
Dulma Churchill 565ce2166d [ios] Translate nonnull annotations and take them into account in parameter not null checked issues.
8 years ago
Dino Distefano df543b900b Making easier to specify subclassing
8 years ago
Jules Villard dac8906d86 [make] make sure makefile uses config-time values
8 years ago
Andrzej Kotulski 6a02568982 [clang] Change procname file naming scheme
8 years ago
Andrzej Kotulski e08d9341c8 [clang] Run direct tests with --no-failures-allowed flag
8 years ago
Dulma Churchill 612e501dfc [ios] Model NSData initWithBytesNoCopy:data length:dataLength
8 years ago
Dulma Churchill 15a0662149 [clang] Adding annotations for ObjC instance variables
8 years ago
Dulma Churchill f549d58625 [ios] Capture the signature of getters and setters from headers.
8 years ago
Dulma Churchill 461bd691ce [clang] Translate nullable annotations of return types of methods
8 years ago
Dulma Churchill d81b1644de [ios] Enable npes for self in initializers
8 years ago
Dulma Churchill 6c82e82444 [linters] Fix one more unavailable api false positive
8 years ago
Dulma Churchill 3fb6e4dea7 [tests] Fixing the renaming issue with the lint tests
8 years ago
Dulma Churchill 9ac65a7b1d [linters] Take current os version into account in the unavailable api check
8 years ago
Dulma Churchill dbcb871988 [linters] Add extra case of respondsToSelector block
8 years ago
Dulma Churchill 269ea5ffe5 [linters] Take into account the respondsToSelector block in the unavailable api check
8 years ago
Jules Villard a229595856 [tests] run objc frontend tests...
8 years ago
Sam Blackshear 685f205dda [quandary] skeleton for ObjC traces
8 years ago
Josh Berdine 1a5ac9e62b Use natural order on hpred, optionally ignoring instrumentation
8 years ago
Dulma Churchill 9f153dbafa [linters] Add linter for checking api compatibility
8 years ago
Jules Villard a6be58848b [make] make frontend tests more functional
8 years ago
Jules Villard bce1a1ff2e [make] make infer/src/Makefile less phony
8 years ago
Dulma Churchill 5b39b3e323 [ObjC] Model methods from NSArray
8 years ago
Dulma Churchill 826accc21b [clang] Adding model for NSNumber boxing functions
8 years ago
Cristiano Calcagno 827d7c3d9c [backend][perf] Address top performance bottleneck from profiling the backend.
8 years ago
Josh Berdine 0cf71c74ef Sort nodes when printing cfg to dot file
8 years ago
Andrzej Kotulski 6192cb98b4 [DB] Use realpath when calling source_file_from_abs_path
8 years ago
Andrzej Kotulski b0a0fbcc35 [tests] fix tests for open source
8 years ago
Andrzej Kotulski 2810740377 [tests] Make project root infer/test/ for clang tests
8 years ago
Dulma Churchill 8415b6c38b [backend] do not log analysis_stops in debug_exceptions mode
8 years ago
Dulma Churchill 616ee9276b [clang] Adding model for NSString length to avoid false positive npes.
8 years ago
Sam Blackshear 708c0bf1f8 [backend] eliminate phantom spaces in printing of types
8 years ago
Jules Villard b34e8fe192 [tests] fix clean targets
8 years ago
Jules Villard 15d80e04df [tests] record summary of bug traces
8 years ago
Jules Villard ac47d115f5 [tests] include clang.make a bit later to fix compile target
8 years ago
Jules Villard 281d5b49fe [tests] sort bugs in InferPrint
8 years ago
Andrzej Kotulski 6b083af4f3 [tests] small refactor of frontend makefiles
8 years ago
Dino Distefano 6ffaded4be Modified the hardcoded CTL formulas in preparation to dispatcher removal
8 years ago
Jules Villard d5e7ee0d82 [tests] run tests using report.json and record all bugs + exceptions
8 years ago
Jules Villard c9bac51b81 [tests] make clang tests Makefile more functional
8 years ago
Cristiano Calcagno a71902355f [debug][dotty] Fix issue in dotty output where overloaded functions were conflated
8 years ago
Dino Distefano 622366269d Simplified semantics of ET and EH
8 years ago
Cristiano Calcagno 3fb8801b6c [IR] Change cfg representation so the node number is per-procedure and not per-cfg
8 years ago
Josh Berdine f45cf115e6 [test] Do not use infer from PATH
8 years ago
Jules Villard 62bfde8b5a [clang] translate global var initializers
8 years ago
Dulma Churchill 98afe25b54 [linters] Take the attributed types into account when finding pointer types
8 years ago
Josh Berdine 6697ed781f [tests] Rerun test without swallowing output on failure
9 years ago
Dulma Churchill 561f4fdfad [linters] Adding a new type of procname that is used for lint bugs that are not in any method
9 years ago
Cristiano Calcagno 717b61192e [tests] Convert java harness and crashcontext tests to new direct format.
9 years ago
Dulma Churchill a2ee69975a [clang] Remove support for logging lint issues in procdescs
9 years ago
Cristiano Calcagno 847c141912 [tests] Clean up test files shared between frontend and endtoend tests
9 years ago
Cristiano Calcagno c134eac91e [tests] Convert objective-c frontend tests to new direct format
9 years ago
Cristiano Calcagno fe21442d47 [tests] Convert the linter tests to the new direct format
9 years ago
Cristiano Calcagno afebcdad60 [tests] Prepare objective-c tests for conversion to the new direct testing format
9 years ago
Dulma Churchill 6ad78e7d9c Add case for blocks when building a procname
9 years ago
Dulma Churchill b7ec110ea3 Adding new mode linters
9 years ago
Martino Luca 40b176fd01 Translate global const vars locally to a procedure
9 years ago
Martino Luca b7d70ff178 Add support for extra cases of BAD_POINTER_COMPARISON warning
9 years ago
Martino Luca e3132152cb Check for the presence of removeObserver into class hierarchy
9 years ago
Martino Luca bed9b31c62 Add general context to linters framework to implement smarter checks
9 years ago
Martino Luca da2717ff2a Migrate BAD_POINTER_COMPARISON check from backend to linters infra
9 years ago
Dulma Churchill ff597a6c03 Model init method in NSData and understand the field bytes
9 years ago
Daiva Naudziuniene ac9cabe677 Fixing Memory leak false positives in C++/ObjC
9 years ago
Jules Villard 10f10a90c6 diverge on `throw`
9 years ago
Dulma Churchill 7fd1149f85 Add NPE check for weak variables captured in blocks
9 years ago
Dulma Churchill 8b0b485921 Refactoring of tests, separating the tests for linters
9 years ago
Dulma Churchill 41d93dd889 Model numberWithUnsignedInteger, skipping it was creating a false positive NPE
9 years ago
Dulma Churchill 0253608fab Separate the flow of the frontend checks form the translation
9 years ago
Sam Blackshear 7b58c71475 centralize creation and detection of clang tmp vars, fix errdesc/bucketing
9 years ago
Dulma Churchill cf72de9460 Make ObjC virtual functions return nil if they are called with nil, even if they are going to be skipped.
9 years ago
Dulma Churchill c06795e631 Fixing the treatment of annotations in the clang frontend
9 years ago
Dulma Churchill 5adab3cb61 Fix StmtExpr
9 years ago
Dulma Churchill a68c45c2a9 Fix dyspatch_async calls
9 years ago
Sam Blackshear fd8a864c15 doing preanalysis on-demand
9 years ago
Andrzej Kotulski 617ffab0ac Add @generated comment to icfg.dot files
9 years ago
Dino Distefano f37ed66888 Added new taint source/sink for iOS
9 years ago
Dulma Churchill 9b1bd712b5 Marking getters/setters as builtins only inside the definition of the class
9 years ago
Sam Blackshear 3f49f3a1d4 using liveness to add removetemps instructions
9 years ago
Sam Blackshear 20925df57c removing unused deallocate param in nullify instr
9 years ago
Sam Blackshear 4fd2f52fe8 new analysis for adding nullify's
9 years ago
Sam Blackshear 6f6da12b2c don't nullify params/locals at beginning of procedure
9 years ago
Dulma Churchill 54a3bdd455 Load the attribute file to get the getter/setter info from the procdesc
9 years ago
Andrzej Kotulski 05c218d84f Declare local variable for conditional in procdesc
9 years ago
Dulma Rodriguez be91fb5429 Fix toll free bridging
9 years ago
Andrzej Kotulski 66d3d492f8 Fix translation of BinaryConditionalOperator
9 years ago
Dulma Rodriguez 8a1288860b Make alloc save a given procanem in the path
9 years ago
Cristiano Calcagno 054ad223a8 Fix control-flow graph shape when conditional is last instruction.
9 years ago
Dulma Rodriguez d366bb970b Create the procdescs for frontend checks only when needed
9 years ago
Andrzej Kotulski 64bb3b62b3 Use variable stmt location info in init_res_trans
9 years ago
Dulma Rodriguez bc3134dd32 Translate initializing arrays of C++ classes
9 years ago
Dulma Rodriguez 44491679cf Fix broken tests in master
9 years ago
Josh Berdine 6278dc7200 Additional modeling of NS collections
9 years ago
Sam Blackshear e9cb9f4352 assign pointer type checker
9 years ago
Dino Distefano 1b21869108 Disabling the NSNotification center error from the backend
9 years ago
Dulma Rodriguez cb45e38f7f Fix broken frontend test in master
9 years ago
Sam Blackshear 7166a4856c nullifying vars captured in blocks
9 years ago
Sam Blackshear c03f39f20c Fixing some issues with Obj-C blocks
9 years ago
Dino Distefano b7e93737df This diff exclude names containing queue from the strong delegate warning
9 years ago
Jules Villard 037c257c4f Fix base results for the Objective C frontend tests
9 years ago
Dino Distefano fc5d4897a5 Registered Observer check done by front-end
9 years ago
Sam Blackshear 2991bd3fc3 using address-taken analysis for nullify placement rather than alias analysis
9 years ago
Josh Berdine 97cb854e5c Model NSArray::arrayWithObject
9 years ago
Dulma Rodriguez ef3e516f6f Translate ImplicitValueInitExpr
9 years ago
Dino Distefano c868f51b2d Introducing checker for observer of notification centers
9 years ago
Dulma Rodriguez 379d185d74 Sort the fields in the tenv at the end of translation as some translations need the original order
9 years ago
Dino Distefano be8f25c90b Improved/simplified framework for frontend checkers.
9 years ago
Andrzej Kotulski 4584f7f6fc [clang-format] Reformat all c/cpp/objc sources with clang-format
9 years ago
Dulma Rodriguez 7721743f46 Model ObjC method isKindOfClass
9 years ago
Dino Distefano c41cba92ea Fixed test for taint analysis
9 years ago
Dulma Rodriguez ac7959f2df Adding subtyping to ObjC
9 years ago
Andrzej Kotulski a317ac38f2 Use init_exp in InitListExpr and CompoundLiteralExpr
9 years ago
Dulma Rodriguez 7855d6ecfa Fix the order of the translated stmts inside compound stmt
9 years ago
Dino Distefano 377893637a Direct property access should not fire on dealloc methods
9 years ago
Dino Distefano 4feb93e91c Fixed FP for blocks used in loops generated by join operator
9 years ago
Sam Blackshear 6b9e1fc9d7 Stop reporting false alarms due to __nullable on Obj-C property getters and setters
9 years ago
Dulma Rodriguez 96a5cf58e5 Nullify variables with objc flags if they appear in conditions
9 years ago
Josh Berdine 63b57790f9 Fix indentation of multiline copyright comment
9 years ago
Dino Distefano c8b80f2435 Extended framework for taint analysis
9 years ago
Dulma Rodriguez 1e5b8aeee7 Adding builtin setters and using them by skip
9 years ago
Dulma Rodriguez c02b3ca034 Add correct ivar name to the getters and save the ivar to the tenv if not available
9 years ago
Andrzej Kotulski 6d7521809b Update fcp to get automatic location visitor
9 years ago
Andrzej Kotulski eeb7c33230 Update fcp
9 years ago
Dulma Rodriguez 9c9504ba51 Using the link from method decl to property to determine whether the method is accessor
9 years ago
Dino Distefano dd5b3dfd83 Making the checker not report on init methods
9 years ago
Andrzej Kotulski a1c1b10862 Use priority node for branches inside coditional operator
9 years ago
Sam Blackshear 4dc9dac9e9 getting started on a Nullable annotation checker for obj-c
9 years ago
Andrzej Kotulski 71482fb472 Refactor CompoundBinaryOperator to use same code as BinaryOperator
9 years ago
Dino Distefano 99c491e8c7 Introducing the DIRECT_ATOMIC_PROPERTY_ACCESS
9 years ago
Dulma Rodriguez 12d21c73dd Adding builtins for getters and calling them by skip
9 years ago
Andrzej Kotulski 35bb8a9a26 Change order in which ids get generated for objcMessageExpr_trans
9 years ago
Andrzej Kotulski 3f9a08f99c Defer cfg node creation for returnStmt and init_expr_trans
9 years ago
Dulma Rodriguez 0441919a42 Using clang's method resolution if possible
9 years ago
Andrzej Kotulski 47f973660e Turn off compiler all warnings to avoid compilation failures
9 years ago
Andrzej Kotulski 04e4546a91 Major update of facebook-clang-plugins
9 years ago
Dulma Rodriguez 369de5880e Add variable to locals in dispatch functions as usual
9 years ago
Dino Distefano 761e4acc08 Adding models of CADisplayLink for catching retain cycles.
9 years ago
Dulma Rodriguez 87a3d693e1 Adding static variables to blocks class to get retain cycles
9 years ago
Dino Distefano 316ad95659 Fixing Bad pointer comparison checker in fast iteration
9 years ago
Andrzej Kotulski 3262640214 Move translation of init_expr to general function
9 years ago
Dino Distefano ae49cacee8 Framework to emit warning from frontend
9 years ago
Dulma Rodriguez 982616148e Adding endtoend test that shows that dispatch once works well
9 years ago
Dulma Rodriguez 1371ca96e9 Added endtoend test that shows that we can release objects inside a block
9 years ago
Dulma Rodriguez f1716988ec Adding endtoend test that shows the correct use of self inside a block
9 years ago
Dulma Rodriguez 042bcaf3e6 Adding endtoend test for blocks that shows proper handling of global variables and captured variables.
9 years ago
Jules Villard 2af1687cd4 add builtin for dictionary literals
10 years ago
Dulma Rodriguez ba00f08f00 Remove variable resolution and use pointers to declarations instead
10 years ago
Dulma Rodriguez 79df8d2b3c [clang] Fix tests so that they pass with xcode 7
10 years ago
Andrzej Kotulski 6606df245c [CFrontend] Upgrade frontend tests to xcode 7
10 years ago
Dulma Rodriguez a4cbf94de5 [clang] Replacing type void by type void star . Fixing bug in commit 41e0128cf71a399ddc183a7d12fd43dfdc493985
10 years ago
Dulma Rodriguez 65f4280d6e [clang] [3 of 3] Changes to the translation of record, classes and enums
10 years ago
Sam Blackshear 2e2673df66 [Infer][ios] Reporting error when NSNumber * is coerced to boolean in a comparison
10 years ago
Cristiano Calcagno 1e6247c872 [frontend] generate fresh ids separately for different procedures in the cfg
10 years ago
martinoluca 721cc1957c Specify to clang to use x86_64 to build models and tests for ObjectiveCxx
10 years ago
Andrzej Kotulski 394a3b4c29 [CFrontend] Sizeof should have ulong type
10 years ago
Dulma Rodriguez 732d23ce4d [clang] Add is_instance as part of the type of objc methods
10 years ago
Jules Villard ca613a77ff [copyrightor] format start and end of copyright comments
10 years ago
Dulma Rodriguez d7655a087e [clang] Adding getters and setters for all the methods
10 years ago
Dino Distefano 35b7011f81 Treating blocks iterators for NSArray
10 years ago
Jules Villard f07c7f9093 [infer] handle sentinel arguments in symb exec
10 years ago
Cristiano Calcagno 3e199467f4 Complete copyright messages.
10 years ago
jrm 1356fd331f [infer][clang] test reporting of assertion failures
10 years ago
Dulma Rodriguez ea3e614cce [clang] Adding support for NSMakeCollectable and CFMakeCollectable
10 years ago
Dulma Rodriguez d15e60ffbf [clang] Translating nonnull attributes as assertions
10 years ago
Dulma Rodriguez d3f20dcaca [clang] Fix translation of fast loops
10 years ago
Dulma Rodriguez 510fc4ed25 [clang] Sorting the fields in structs and classes. Was needed in the backend and forgotten.
10 years ago
Dino Distefano 9a93c2ed46 Dealing with __weak/__unsafe_unretained modifier for ivars
10 years ago
Cristiano Calcagno 10970c4f51 [clang frontend] Pre-process AST locations to make them explicit and easier to deal with. Don't dive into include files.
10 years ago
Open Source Synchronization b8982270f2 initial synchronization
10 years ago