Commit Graph

1091 Commits (8c6615963f79f03a644ae9087eb160da89a09a1a)

Author SHA1 Message Date
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
Sam Blackshear a02b37a03c [quandary] allow custom sources/sinks in C++ 8 years ago
Mehdi Bouaziz 3131660ede [inferbo] Model-like test for vector 8 years ago
Andrzej Kotulski c1147710ba [C++] Store class template name without its template arguments 8 years ago
Sam Blackshear 7b44236874 [thread-safety] remove hacky special case for Builder's 8 years ago
Andrzej Kotulski 462220ce3e [typ] Print type qualifiers in Typ.pp_full 8 years ago
Andrzej Kotulski aefbbe8680 [clang] Translate type qualifiers into Sil 8 years ago
Jules Villard 1b0ee6fbc3 [clang] add sizeof static value to translation 8 years ago
Peter O'Hearn 3db1f9e94c [threadsafety] Treat clone() as aquiring ownership 8 years ago
Mehdi Bouaziz 2dbde13335 [inferbo] Use Logging for logging 8 years ago
Martino Luca 233d6a53c0 [Infer] Emit potential exception lines into qualifier's message 8 years ago
Jeremy Dubreil c0c813c657 [infer][java] only report one annotation reachability issue per end of call stack 8 years ago
Sam Blackshear 3c0cf115b3 [quandary] add option for parsing endpoints from inferconfig 8 years ago
Sungkeun Cho 7212890846 [Bufferoverrun] More prune to make some nodes unreachable 8 years ago
Sungkeun Cho b4b32f8d3e [Bufferoverrun] set uninitialized values in array as top 8 years ago
Sam Blackshear a4f2d99be9 [quandary] a few more ContentProvider sinks 8 years ago
Jules Villard f3d2bd7c08 [subcommands] support subcommands without leading -- 8 years ago
Jules Villard 31a6aba3c2 [siof] enable SIOF checker only when new --siof option is passed 8 years ago
Mehdi Bouaziz d20d71da50 [bufferoverrun][tests] Move bufferoverrun cpp tests to their own directory 8 years ago
Sam Blackshear 20aff78b36 [quandary] ContentProvider Uri's as sources/files as sinks 8 years ago
Kihong Heo 9cad51d00a [Bufferoverrun] add vector test for cpp 8 years ago
Sam Blackshear 3024d9aed2 [quandary] more IPC sources 8 years ago
Sam Blackshear bcbb032052 [quandary] WebView.postUrl is a sink 8 years ago
Sam Blackshear 3c7361a83d [thread-safety] assume findViewById returns ownership 8 years ago
Sam Blackshear b0216035f4 [frontend] don't treat Sawja-generated ternary operator vars as SSA tmps 8 years ago
Sam Blackshear 1f9c2cde85 [thread-safety] clean up error message printing 8 years ago
Peter O'Hearn 4c2ef788a1 [infer][threadsafety] Use disjunction in the join for threaded 8 years ago
Jules Villard 724a592c34 [toplevel] do not read inferconfig location from the command line 8 years ago
Jules Villard 652cf81dab disable flaky generic model test 8 years ago
Sam Blackshear 00f948e924 [quandary] don't add callee-local state to the caller 8 years ago
Sam Blackshear 92011790c2 [quandary] optimize handling of unknown code by adding notion of 'taintable types' 8 years ago
Sam Blackshear d7f39970d1 [thread-safety] report both a read and write stack trace in R/W race reports 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
Andrzej Kotulski fc7b427126 update fcp 8 years ago
Andrzej Kotulski 5503487704 [C++] Introduce mechanism to write generic models 8 years ago
Sam Blackshear 899cfadfbd [access paths] don't compare types of bases 8 years ago
Sam Blackshear 52dbd129cd [quandary] don't complain about transferring extras between intents 8 years ago
Sam Blackshear 417ddb1bc0 [quandary] make params of WebViewClient methods sources where appropriate 8 years ago
Sam Blackshear 8c5b15f65b [thread-safety] report more warnings by inferring when state is accessed by methods marked `@ThreadSafe` and other methods. 8 years ago
Andrzej Kotulski 21af28619f [C++] Use annotate attribute instead of deprecated 8 years ago
Sam Blackshear 88430c3e51 [quandary] make index field optional for custom sinks specified in JSON 8 years ago
Sam Blackshear 615489a619 [thread-safety] don't report on protected reads 8 years ago
Dino Distefano 3ebf8c3277 Added the capability to import macros files in AL 8 years ago
Sam Blackshear c255823673 [quandary] clean up `Intent` sinks 8 years ago
Sam Blackshear ff3159953d [thread-safety] don't report read-write races when the write is in a private or autogenerated proc 8 years ago
Jeremy Dubreil f5adab59ec [infer][checkers] Prevent the race conditions between the summaries passed as parameter to the checkers and the summaries from the specs table 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 41d615c351 [lint] copyright linter lints Makefiles 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
Sam Blackshear a5ee1f155c [thread-safety] tests for thread-safe methods 8 years ago
Sam Blackshear a800908797 [thread-safety] fix de-duplication logic 8 years ago
Sam Blackshear eccc3a8e4e [thread-safety] move reporting of unprotected reads into aggregation function 8 years ago
Sam Blackshear 5130952ee8 [thread-safety] move reporting of unprotected writes into aggregation function 8 years ago
Sam Blackshear 0f6439cf3c [thread-safety] report on write outside sync, read inside sync races 8 years ago
Sam Blackshear d5ed44994f [thread-safety] new SynchronizedCollection annotation 8 years ago
Dino Distefano 40e63aa42c Added the capability to define macros in AL 8 years ago
Andrzej Kotulski 5cfde325fd [C++] Fix matching of qualified cpp names 8 years ago
Jeremy Dubreil 0f70ca02e3 [infer][java] Simplify the abstract domain for the annotation reachability checker 8 years ago
Sam Blackshear 6a39585999 [thread-safety] treat non-interface methods with no summary as angelic 8 years ago
Sam Blackshear 31069dd1a7 [quandary] remove assignments to formals from summaries 8 years ago
Jules Villard 4ec3690413 [tests] add a `replace` target to all tests 8 years ago
Andrzej Kotulski 4da4949049 [clang][AST] Fix wrong type in translation of NoOp cast and MaterializeExpr 8 years ago
Peter O'Hearn c52054d3d1 [threadsafety] More races with main thread 8 years ago
Jules Villard 22c3c26359 unprout 8 years ago
Sam Blackshear 08a7f57731 [thread-safety] warn on private methods marked ThreadSafe 8 years ago
Sam Blackshear 68af2afb77 [quandary] more tests 8 years ago
Mehdi Bouaziz f65ac4f094 [infer] std::mutex model to detect simple double lock 8 years ago
Jeremy Dubreil 707d514386 [infer][java] do not report `return not nullable` on lambdas 8 years ago
Andrzej Kotulski d4e9f0de64 [Makefile] Print duplicate symbols to separate file, not stderr 8 years ago
Jules Villard 86656b2db0 [tests] make sure buck-clang-db test doesn't use the Buck cache 8 years ago
Sam Blackshear e7e32b038b [thread-safety] classify protected-if reads/writes in callees as protected when a lock is held in the caller 8 years ago
Martino Luca a7b947f971 Add support to format reports natively 8 years ago
Dulma Churchill 565ce2166d [ios] Translate nonnull annotations and take them into account in parameter not null checked issues. 8 years ago
Andrzej Kotulski c695616eff [Makefile][C++] Run c++ tests with native libs 8 years ago
Peter O'Hearn 089600bdcd [threadsafety] unsynched reading from main thread 8 years ago
Cristiano Calcagno 434cfbfb15 [eradicate] Add support for new annotation @PropagatesNullable 8 years ago
Sam Blackshear 779ec1f0ad [thread-safety] give full traces for read/write races 8 years ago
Sam Blackshear 9066e5bd08 [thread-safety] account for ownership via reflective allocation 8 years ago
Peter O'Hearn e023dddba2 [threadsafety] Races and non-races involving assertMainThread(). 8 years ago
Sam Blackshear 9e293eaa64 [thread-safety] add choice variables to support partial path-sensitivity 8 years ago
Jules Villard 0548b7bd5e [buck-db] add flavour more robustly 8 years ago
Dino Distefano df543b900b Making easier to specify subclassing 8 years ago
Jeremy Dubreil 047bb6796a [infer][threadsafety] Run ThreadSafety as part of the checkers 8 years ago
Jeremy Dubreil e23b04180e [infer][ondemand] run all the registered checkers in sequence 8 years ago
Sam Blackshear 60dac45461 [quandary] don't call read_summary on the current procedure while creating a trace 8 years ago
Cristiano Calcagno 5c9b61877a [Eradicate] Code cleanup and add test cases 8 years ago
Peter O'Hearn 5062ac3173 [thread-safety] Model assertManThread and assertHoldsLock 8 years ago
Jules Villard dac8906d86 [make] make sure makefile uses config-time values 8 years ago
Martino Luca 5448a95ce7 [Infer][Localise] Group all issue types in one place, and provide their human-readable representation 8 years ago
Andrzej Kotulski 24b56de0e9 Populate mangled file only if it's not empty 8 years ago
Andrzej Kotulski 6a02568982 [clang] Change procname file naming scheme 8 years ago
Jules Villard dba740632c [cli] deprecate multiletter short options 8 years ago
Sam Blackshear 56b057acb8 [thread-safety] assume formals of DI constructors are owned 8 years ago
Peter O'Hearn 11937cb076 [infer][threadsafety] model tryLock() for java.util.concurrent.locks.Lock 8 years ago
Andrzej Kotulski 6c67c850d5 [clang capture] Don't attach plugin when clang is invoked in preprocessor mode 8 years ago
Andrzej Kotulski 95a8ca2d3e [tests] Run build system tests with --no-failures-allowed 8 years ago
Peter O'Hearn 2cf3bfeea1 [infer][threadsafety] Stop Unprotected Write and Read/Write races from being reported on the same line 8 years ago
Sam Blackshear bd5eb3c5cf [quandary] don't allow projection of non-footprint idents 8 years ago
Sam Blackshear 0f74016ef5 [thread-safety] add callee write as protected-if if it's conditionally owned in caller 8 years ago
Jules Villard 6125632af3 [subcommands] read subcommand args from .inferconfig and the env 8 years ago
Andrzej Kotulski e08d9341c8 [clang] Run direct tests with --no-failures-allowed flag 8 years ago
Andrzej Kotulski 4b620316d3 Update fcp 8 years ago
Cristiano Calcagno 5aa714b237 [Eradicate] Improve detection of circularities in field initialization 8 years ago
Andrzej Kotulski ef79b20e17 [clang] Inline namespaces disappear, simplify infer's code 8 years ago
Sam Blackshear 5134ea36ed [thread-safety] enable defining aliases of @ThreadSafe in .inferconfig 8 years ago
Sam Blackshear 1ef7c253b2 [thread-safety] report on protected write/unprotected read races 8 years ago
Sam Blackshear ea8826599f [thread-safety] track protected writes 8 years ago
Jeremy Dubreil 08980b57e5 [infer][ondemand] make the Procname API more robust by using Typename.t for the class name part of a method name 8 years ago
Dulma Churchill 612e501dfc [ios] Model NSData initWithBytesNoCopy:data length:dataLength 8 years ago
Martino Luca f8a65e698c Add differential and filtering functionalities to Infer, to compare two analyses 8 years ago
Jules Villard ee9a2aa38c [python] more UTF-8 fun 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
Peter O'Hearn f7f30045cb [infer][threadsafety] Dedup, chapter 2. 8 years ago
Martino Luca 3eecb243e6 Customize tests output via InferPrint's command-line 8 years ago
Juergen Hoetzel fbaa1988b3 [infer][PR] [mvn] Handle recursive modules 8 years ago
Jeremy Dubreil b63a656dc4 [infer][tests] cleanup of the Cursor NPE test file 8 years ago
Sam Blackshear 69df171632 [thread-safety] unify @AssumeThreadSafe and @ThreadSafeMethod into @ThreadSafe(enableChecks = ...) 8 years ago
Jules Villard 9c61a4a035 Revert "[infer][tests] use Buck target output instead of hard copies of the paths under buck-out" 8 years ago
Peter O'Hearn 1580e5b3bb [infer][thread-safety] Better error message for container writes 8 years ago
Dulma Churchill 461bd691ce [clang] Translate nullable annotations of return types of methods 8 years ago
Peter O'Hearn c080cbb60f [threadsafety] De-duplicate the reports 8 years ago
Sam Blackshear 040140ba52 [thread-safety] model SynchronizedPool.acquire as acquiring ownership 8 years ago
Peter O'Hearn df154b4135 [threadsafety] read/write races 8 years ago
Sam Blackshear 5c2ee8d85f [thread-safety] model ThreadLocal.get() as acquiring ownership 8 years ago
Jules Villard a79096efa8 [siof] generic model of std::ios_base::Init that prevents SIOF 8 years ago
Dulma Churchill d81b1644de [ios] Enable npes for self in initializers 8 years ago
Jules Villard a469e97987 [siof] add --siof-safe-methods whitelisting option 8 years ago
Dulma Churchill 6c82e82444 [linters] Fix one more unavailable api false positive 8 years ago
Jules Villard a8be4f1f4f [clang] options rename: --compilation-database -> --buck-compilation-database, --clang-compilation-db-files -> --compilation-database 8 years ago
Dulma Churchill e7fc96148a [ios] Fix xcodebuild integration with xcpretty, add test. 8 years ago
Jeremy Dubreil 4ed185e557 [infer][java] for the buck integration, remove the files that are invalidating the Buck cache 8 years ago
Sam Blackshear b229b39a1b [thread-safety] Add @ReturnsOwnership annotation for methods and handle it in the thread-safety analysis 8 years ago
Jules Villard cfd3770a8b [clangdb] support shell-escaped compilation databases 8 years ago
Jules Villard 08aad39050 [clangdb] support relative paths in compilation databases 8 years ago
Dulma Churchill 3fb6e4dea7 [tests] Fixing the renaming issue with the lint tests 8 years ago
Sam Blackshear 919b35f50a [quandary] better taint propagation for Intent's 8 years ago
Sam Blackshear e15121c928 [thread-safety] model DI via Provider.get as acquiring ownership 8 years ago
Sam Blackshear 5cdee51ed5 [checkers] allow custom sources and sinks in annotation reachability 8 years ago
Sam Blackshear 61e4e6e1ed [thread-safety] propagate attributes across binary/unary expressions 8 years ago
Jules Villard 105b8f83d3 [tests] disregard traces in Java harness test 8 years ago
Sam Blackshear f085023aff [thread-safety] model certain methods of Resources as @Functional 8 years ago
Sam Blackshear b8f9c774f3 [thread-safety] support conditional writes to containers 8 years ago
Jeremy Dubreil 61b49553b5 [infer][java] Add @SuppressLint as part of the Infer annotations 8 years ago
Jeremy Dubreil 2ded1d7a0c [infer][java] Simplify some of the models of Java resources [3/n] 8 years ago
Jeremy Dubreil 266686457a [infer][java] Simplify some of the models of Java resources [2/n] 8 years ago
Dulma Churchill 9ac65a7b1d [linters] Take current os version into account in the unavailable api check 8 years ago
Jeremy Dubreil 574d640af0 [infer][java] Simplify some of the models of Java resources [1/n] 8 years ago
Sam Blackshear c67de3e827 [thread-safety] add string parameter to @ThreadConfined 8 years ago
Sam Blackshear a3e3fdb781 [quandary] fix bug in summary application 8 years ago
Dulma Churchill dbcb871988 [linters] Add extra case of respondsToSelector block 8 years ago
Jeremy Dubreil 0139ca211b [infer][java] Add an example of dynamic dispatch handling on fields 8 years ago
Sam Blackshear c4fbf4e3fb [thread-safety] propagate attributes across casts 8 years ago
Sam Blackshear 42188eb105 [thread-safety] add understanding of conditional ownership 8 years ago
Jeremy Dubreil 13cdff1532 [infer][java] Dynamic dispatch: fix wrong level of indirection on pointers when specialzing methods 8 years ago
Cristiano Calcagno 319e3ed271 [Eradicate] Change Eradicate's join to forget values not present on both paths 8 years ago
Sam Blackshear 9ed282b28b [thread-safety] handle constructors by understanding that a constructor owns `this` 8 years ago
Jeremy Dubreil a416b7c90d [infer][java] Add a model for Process.destroyForcibly() 8 years ago
Sam Blackshear 0e77e36235 [thread-safety] propagate @Functional attribute across boxing of primitive types 8 years ago
Sam Blackshear 6338997cf5 [quandary] don't clobber existing taint on receiver when propagating taint from unknown call 8 years ago
Sam Blackshear d41b500659 [thread-safety] treat constants as owned 8 years ago
Andrzej Kotulski 40c84077d9 [C++] Fix model of std::vector 8 years ago
Jeremy Dubreil c2b967d27b [infer] Dynamic dispatch: use the OCaml type system to implement the invariant that the method specialization should only happen on object types 8 years ago
Sam Blackshear 6c0c3b44b4 [annotations] make override_exists recursive 8 years ago
Sam Blackshear f6e8bf0f3f [thread-safety] don't warn on external accesses to fields of ThreadConfined classes 8 years ago
Kihong Heo cef2f0e055 Inferbo 8 years ago
Jeremy Dubreil c5e962e231 [infer][test] The buck integration BUCK file for the integration test was refering to a file built by make 8 years ago
Jeremy Dubreil 4e02b3c525 [infer][tests] rescue ghost file for Cursor NPE test 8 years ago
Jeremy Dubreil b6fae5cd46 [infer][eradicate] Consider junit.framework.TestCase.setUp as an initializer 8 years ago
Jeremy Dubreil 90f4c83ef2 [infer][java] Add some more test cases for dynamic dispatch 8 years ago
Andrzej Kotulski f697739b21 [C++ translation] Use correct type when generating dereference 8 years ago
Dulma Churchill 269ea5ffe5 [linters] Take into account the respondsToSelector block in the unavailable api check 8 years ago
Sam Blackshear f9280b682f [thread-safety] don't warn on accesses to fields assigned to @Functional calls 8 years ago
Sam Blackshear 70df06a596 [thread-safety] don't consider VisibleForTesting methods as public 8 years ago
Sam Blackshear cc8ffd9d1e [quandary] allow regexes in defining quandary sources/sinks in inferconfig 8 years ago
Sam Blackshear 3ee349ee23 [thread-safety] warn on unsafe accesses to lists 8 years ago
Andrzej Kotulski dd3de5b011 [clang frontend] Create nodes for dangling instructions 8 years ago
Jules Villard a229595856 [tests] run objc frontend tests... 8 years ago
Jeremy Dubreil 5322c71063 [infer][backend] find a better trade-off for the value of the SymOps timeout 8 years ago
Sam Blackshear b227ee58a6 [thread-safety] handle some annotations as aliases of ThreadConfined 8 years ago
Sam Blackshear 369feb4149 [thread-safety] allow ownership to be transferred via return 8 years ago
Sam Blackshear f372b6cb2f [quandary] allow sinks to be specified in inferconfig 8 years ago
Sam Blackshear 5bddb1e548 [quandary] allow sources to be specified in inferconfig 8 years ago
Sam Blackshear e132188361 [thread-safety] warn on unsafe accesses in overrides of methods annotated with @ThreadSafeMethod 8 years ago
Cristiano Calcagno 3f8ee7df49 [Eradicate] Fix issue in Eradicate's check for field initialization 8 years ago
Sam Blackshear f79a53e1c8 [thread-safety] add string param to AssumeThreadSafe 8 years ago
Sam Blackshear c19bee7772 [quandary] for instance methods with no return value, propagate the taint to the receiver 8 years ago
Sam Blackshear b9694ef086 [thread-safety] warn on unsafe writes in constructors 8 years ago
Sam Blackshear c4c495fbe5 [thread-safety] propagate conditional writes to callers 8 years ago
Sam Blackshear 4373945e74 [thread-safety] don't warn on writes rooted in a parameter owned by the callee 8 years ago
Sam Blackshear e565010cf3 [thread-safety] don't warn on writes to volatile fields 8 years ago
Jules Villard 2e96caac42 [mvn] new integration 8 years ago
Jules Villard ca784cdb41 [cli] warn about deprecated options, clean up infer repo 8 years ago
Sam Blackshear 618e9c9338 [thread-safety] add @AssumeThreadSafe annotation to assume thread-safety of a method without checking it 8 years ago
Sam Blackshear f4b1af6f91 [thread-safety] allow @ThreadConfined annotation on methods 8 years ago
Sam Blackshear d39d4cfa20 [thread-safety] use jsr-305 versions of ThreadSafe/NotThreadSafe rather than defining custom annotations 8 years ago