Commit Graph

3760 Commits (2f00ccb4344a02be993bc1b6a56c451bb959e97d)

Author SHA1 Message Date
Nikos Gorogiannis 78ad6e6d00 [concurrency] extend notion of ui thread 7 years ago
Nikos Gorogiannis b02a6e9e48 [starvation] catch AsyncTask.get calls on main thread 7 years ago
Mehdi Bouaziz f3cf0ec0f6 [Inferbo/cost][java] Model for __get_array_length 7 years ago
Mehdi Bouaziz 62fa99ad3f Simplified example showing problem with arrays 7 years ago
Dulma Churchill 7bbf349a76 [logs] Add the callee clang_method_kind and the callee source file to the skip logs 7 years ago
Jose Blanco 6ca1b69b6f [infer][PR] fixed typos 7 years ago
Oliver Castillo fb4e7ee4a4 [infer][PR] Fix spelling errors 7 years ago
Jules Villard 3aa6fdf1ce [rename] specs -> summary, Summary -> SummaryPayload 7 years ago
Nikos Gorogiannis ecfa29b083 [starvation] dedup deadlock warnings 7 years ago
Jules Villard d207f29287 [specs] move biabduction-specific stuff to BiabductionSummary.ml 7 years ago
Jules Villard 766a16cd90 [clang] enforce that `instruction` always returns one SIL expression 7 years ago
Jeremy Dubreil ed0c550905 [infer][genrule] add an option to make the genrule integration compatible with the Buck cache 7 years ago
Brandon Kieft cb66e4212b Add predicates for instance and class methods 7 years ago
Jeremy Dubreil 8ce79a0613 [infer][backend] no longer rely on make to drive the Infer internal parallelism 7 years ago
Dulma Churchill afe511b53d [biabduction] Support finding skip reasons from attributes for clang too 7 years ago
Daiva Naudziuniene 63f1a341b5 [cfg] Filter out join*->destructor->exit nodes as being not broken 7 years ago
Jules Villard dfe2ad5229 [camel] call `Format.pp_print_*` directly where appropriate 7 years ago
Jules Villard 1fd11ee3cc [log] add colors to console output 7 years ago
Jeremy Dubreil cbfdacd21c [infer][eradicate] add the name of the class for the method expecting non-null parameters 7 years ago
Jules Villard 9a9d199021 [make] fix toplevel 7 years ago
Mehdi Bouaziz d7024298f9 [cost] Implem-agnostic abstract domain name 7 years ago
Mehdi Bouaziz 131ae4a801 [itv] Prettier print 7 years ago
Nikos Gorogiannis a7bd92de2f [starvation] enable starvation checker 7 years ago
Daiva Naudziuniene 28b696881c [minor] Use List.is_empty instead of List.length equal to 0 7 years ago
Daiva Naudziuniene 5e6c859922 [cfg] Filter out more benign broken cfgs 7 years ago
Dulma Churchill c24ff02bb4 [biabduction] Add to the skip reason when the method comes from a protocol 7 years ago
Jeremy Dubreil bc6afc5d32 [infer][config] remove the per_procedure_parallelism option which was always true 7 years ago
Ezgi Çiçek fcb83a949f implement missing CXXInheritedCtorInitExpr 7 years ago
Nikos Gorogiannis c104ea11dc [racerd] switch to external issue logs 7 years ago
Nikos Gorogiannis 58f37cb9d8 [starvation] do not report deadlocks when both traces on UI thread 7 years ago
Nikos Gorogiannis 538bcd9135 [starvation] store issues to issue-logs like linters do 7 years ago
Dulma Churchill 7533092037 [clang] Make the frontend with compilation database fail with compilation errors 7 years ago
Dulma Churchill 4a2174a322 Revert "[clang] Make the frontend with compilation database fail with compilation errors" 7 years ago
Brandon Kieft 275f4c3a8c Add predicates to check for protocols 7 years ago
Brandon Kieft 439839a9fa Add is_in_(interface/implementation) predicates 7 years ago
Brandon Kieft 7d4bd403df Add is_objc_method_exposed predicate 7 years ago
Dulma Churchill 96e5a976c4 [clang] Make the frontend with compilation database fail with compilation errors 7 years ago
Brandon Kieft 01ee635902 Add is_objc_method_overriding predicate 7 years ago
Nikos Gorogiannis 14ec16da12 [starvation] catch calls to AcccountManager.setUserData 7 years ago
Nikos Gorogiannis bf501e5a7d [starvation] treat Future.get as potentially blocking 7 years ago
Nikos Gorogiannis 9a2c494454 [infer] refactor LintIssues for general use. 7 years ago
Nikos Gorogiannis 96c6ff718b [racerd] add support for folly's synchronized() {} 7 years ago
Nikos Gorogiannis bef38bbf1a [racerd] recognise std::lock calls 7 years ago
Sam Blackshear c99b634655 [quandary] print caller of unexpected operator= expression 7 years ago
Sam Blackshear 7108b348ff [racerd] significantly simplify deep ownership logic 7 years ago
Mehdi Bouaziz c1aac1e089 Cost: Non-negative Bound abstract domain 7 years ago
Mehdi Bouaziz 5fe28785bc Cost: fix min 7 years ago
Mehdi Bouaziz 3ef6cb1c75 Kill generic typevar modelling 7 years ago
Jeremy Dubreil 3a3c871684 [infer][objc] the nullable checker should not report issues involving objectForKeyedSubscript: 7 years ago
Brandon Kieft d7cf002461 Add new ObjC predicates, mostly related to categories 7 years ago
Mehdi Bouaziz eea5b4c97e Cost: separate conditions for reporting 7 years ago
Dulma Churchill 780006097a [clang frontend] Do not crash when finding unexpected declarations when collecting local variables 7 years ago
Sam Blackshear 78521419a9 [racerd] make deep ownership work with OwnedIf 7 years ago
Jules Villard 7595f10346 [clang] return a nondet expression instead of -1 7 years ago
Jules Villard 634e9a3897 [clang] crash on unrecognised method declaration 7 years ago
Jules Villard 902de9d6e3 [sil] make return value and type mandatory 7 years ago
Mehdi Bouaziz 1deaf7bfd6 Cost: instantiate symbolic cost after call 7 years ago
Sam Blackshear bb2ff197b3 [absint] fix handling of exceptions 7 years ago
Daiva Naudziuniene cd511580e0 [frontend] Fix the leaf nodes in the translation of destructors 7 years ago
Daiva Naudziuniene dc567eaa7a [frontend] Preserve leaf nodes in declaration statement translation 7 years ago
Mehdi Bouaziz e8ceedeb82 [Cost] Forces Inferbo 7 years ago
Daiva Naudziuniene f57e62f205 [cfg] Allow between-join-exit nodes in cfg 7 years ago
Mehdi Bouaziz 68129abab8 Cost/inferbo: move range to numerical abstract domain 7 years ago
Mehdi Bouaziz 9c14e9d384 [Cost] Fix multiplication by 1 7 years ago
Dulma Churchill 077d9a534b [objc frontend] Do not assume that the fast enumeration in ObjC always includes a declaration of the loop variable 7 years ago
Jules Villard 1a0ba42a3b [clang] unbreak build, factorise unimplemented constructs 7 years ago
Nikos Gorogiannis de6ee858a8 [clang] translate unimplemented features to skip 7 years ago
Jules Villard 0bbdf63957 [clang] do not attempt to translate pointer to member constructs 7 years ago
Dino Distefano d4337abcb4 Added predicate for C++ copy constructors 7 years ago
Dulma Churchill 038c0b92d4 [objc frontend] Raise SelfClassException only inside ObjCMethodCallExpr nodes 7 years ago
Sam Blackshear 6b8900746b [quandary] only treat overrides of service methods as endpoints 7 years ago
Sam Blackshear fe610330bf [clang] remove is_generic_model boolean from procnames 7 years ago
Jules Villard 6c806d39c8 [clang] minor cosmetic changes 7 years ago
Jules Villard 4b4517e8ec [clang] call a skip function in case of unimplemented feature 7 years ago
Dino Distefano bac1c85546 Hide test determinator option from infer help 7 years ago
Nikos Gorogiannis dab8e2f17d [starvation] Catch indirect blocks to the UI thread 7 years ago
Jules Villard d92e82b379 [clang] fix translation of `UserDefinedLiteral` 7 years ago
Sam Blackshear d882626d25 [clang] include method information in type environment 7 years ago
Sam Blackshear 8a57575188 [clang] combine CProcname and CType_decl 7 years ago
Sam Blackshear ff23aca725 [clang] get_struct_decls utility function 7 years ago
Sam Blackshear 9b2ac3de6e [clang] make it easier to call CProcname.from_decl 7 years ago
Jules Villard ce0ffaf877 [ocaml] detect and kill dead modules 7 years ago
Nikos Gorogiannis e0a61c0a4a [starvation] Move to a cluster checker phase for reporting 7 years ago
Sam Blackshear 30d7239aff [quandary] SQL sinks for java 7 years ago
Tony Hu 9405162ba6 [infer] Remove username of exiting intern from TODO 7 years ago
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 9ed60bc936 [cost] Removed dead abstract domains 7 years ago
Mehdi Bouaziz a3487e14ee [Inferbo] Do not add Unknown to heap if unknown call does not return 7 years ago
Mehdi Bouaziz 14d6b2f019 [Cost] Use inferbo abstract state as extra rather than calling inferbo transfer functions 7 years ago
Mehdi Bouaziz ace0ea3d8b [inferbo] Do not reexecute for checking 7 years ago
Sam Blackshear ebc364a801 [racerd] precondition -> snapshot 7 years ago
Sam Blackshear 771e1b7c14 [racerd] remove redundant access field from reported_access 7 years ago
Mehdi Bouaziz ad15f558e4 [cost] Simplifications 7 years ago
Sam Blackshear 501577defc [racerd] use set of access snapshots instead of map 7 years ago
Frédéric Bour 8069559bd8 [sqlite] infer explore --source-files 7 years ago
Mehdi Bouaziz 7f1b4e0a2b InstrNode: abstract instruction index 7 years ago
Mehdi Bouaziz 094eb9dcc7 [Cost] Use OneInstrPerNode CFG 7 years ago
Mehdi Bouaziz 00d79ec839 Simplify abstract interpreter 7 years ago
Mehdi Bouaziz 722258d41b Real InstrNode 7 years ago
Mehdi Bouaziz f4b6746e0b [inferbo][PO] Fully compare traces when deduplicating 7 years ago
Mehdi Bouaziz 4afde73765 [inferbo][PO] Module for condition with trace 7 years ago
Mehdi Bouaziz a3da745210 [inferbo][PO] Debug deduplication 7 years ago
Dino Distefano 9043f26b89 Added documentation to cPredicate.mli 7 years ago
Jules Villard 73a47d594c [debug] print procedures in alphabetical order in cfgs 7 years ago
Jules Villard dc2cd65a2c [explore] print only non-default values in the attributes 7 years ago
Jules Villard 1d98d3cd58 [models] capture all clang models then analyze together 7 years ago
Nikos Gorogiannis 63aafd3381 [starvation] catch calls to View.getVisibleDisplayFrame 7 years ago
Dino Distefano 6b37e61ec1 Switching uninit analysis on by default 7 years ago
Dulma Churchill 28200b87d7 [objc blocks] Specialize store instructions with current closure in methods specialized with blocks as arguments 7 years ago
Daiva Naudziuniene 496e5e8c0a [use after free] Report only high confidence level use_after_free 7 years ago
Dino Distefano 6b6f6be6d9 Don't check prune node condition in the control dependecy analysis for java code 7 years ago
Dino Distefano 70b5e5fd0c Make the cost analysis run on apps 7 years ago
Nikos Gorogiannis e5265ea85b [starvation] surface caller of blocking calls in reports 7 years ago
Sam Blackshear cfd9802d89 [racerd] `Precondition` -> `OwnershipPrecondition` 7 years ago
Sam Blackshear 4fc0ecd86b [clang] don't include procname in broken cfg error message 7 years ago
Ezgi Çiçek 8f0701a01c Refine dependency analysis to remove vars at prune exit nodes 7 years ago
Sam Blackshear cbc793be16 [quandary] simplify source/sink matching 7 years ago
Jules Villard 033928f716 [make] let jbuilder generate .merlin files 7 years ago
Jules Villard 507a4c9bec [racerd] remove dead export 7 years ago
Jules Villard 507ba9493c [minor] small readability improvements 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
Sam Blackshear f7ee0c2a2d [racerd] use `ThreadsDomain.astate` instead of bool in `AccessData` 7 years ago
Sam Blackshear fb4f9a286a [infer] `AccessData` -> `AccessSnapshot` 7 years ago
Sam Blackshear 1d792f0b48 [quandary] fix formatting of endpoint traces, again 7 years ago
Martino Luca 49b4a26a93 New module FileDiff to compute relevant lines on a modified file 7 years ago
Nikos Gorogiannis b6c8766b11 [starvation] report binder calls on ui thread 7 years ago
Jules Villard 9a56e7485e [driver] small refactor to share more code 7 years ago
Josh Berdine 16988b0a7a [ocamlformat] Upgrade to ocamlformat 0.5 7 years ago
Ezgi Çiçek 523c2f539b change clang translation to track if_kind (i.e. the type of prune node) 7 years ago
Sam Blackshear 670ae4a673 [quandary] `WebResourceRequest.getUrl` as source 7 years ago
Jeremy Dubreil fd6a1e0e2b [infer] no longer create .lock files and only rely on Unix.rename to avoid write-write races 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 346589f1fb [starvation] track on-main-thread status in summaries 7 years ago
Nikos Gorogiannis 0130c09dfc [starvation] add infrastructure for blocking events other than lock acquisition 7 years ago
Jules Villard 705a2f97b2 [sqlite] use pname BLOB as the sqlite key, include readable pname for debug 7 years ago
Jules Villard 97ac7662f8 [sqlite] options to output procedures db 7 years ago
Nikos Gorogiannis 269a1a9b93 [starvation] treat locks in (and accessed from) inner classes properly 7 years ago
Jeremy Dubreil 2e4d99ef57 [infer] modelling android.text.SpannableString.valueOf 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
Sam Blackshear cfa2dd5f83 [quandary] pass call flags to sink creation 7 years ago
Ezgi Çiçek af5265f75d "Report infinity as error per function" 7 years ago
Mehdi Bouaziz 4aefa6f76b Debug: session name 7 years ago
Mehdi Bouaziz 5b908d633c Io_infer/Printer: Format simplifications 7 years ago
Martino Luca 27941a11b6 [Java] New JavaProfilerSamples module to create Procnames from sampled Java methods 7 years ago
Mehdi Bouaziz 9c8342e956 Html debug: fix finish_session 7 years ago
Mehdi Bouaziz 950f46a3b6 [Cost] Proper data structure for constraints 7 years ago
Mehdi Bouaziz 66b3357479 Share ProcCfg.OneInstrPerNode(Normal) 7 years ago
Sam Blackshear 3e6bd7f063 [clang] log broken CFGs 7 years ago
Mehdi Bouaziz 594ddab2a5 Share NodeId Sets and Maps 7 years ago
Jules Villard 7c0bf66794 [clang] do not run clang on unsupported commands 7 years ago
Mehdi Bouaziz 3f5c161391 [Cost] Typos 7 years ago
Mehdi Bouaziz 2f57b094e9 Java split name as an abstract type 7 years ago
Tony Hu e85c3690fa [java] Remove "class not found" error logging 7 years ago
Mehdi Bouaziz 779bde226d [Inferbo] Use the OneInstrPerNode CFG 7 years ago
Mehdi Bouaziz 5925c75e29 [inferbo] Comparisons return abstract boolean 7 years ago
Mehdi Bouaziz 9eeeecc338 [inferbo] Prune zero should normalize too 7 years ago
Mehdi Bouaziz d80f4df42d [inferbo] Use bottom_lifted for prune 7 years ago
Mehdi Bouaziz e2f58dc687 [inferbo] prune_eq_zero 7 years ago
Mehdi Bouaziz 5260558fef [inferbo][easy] Simplify mk_MinMax 7 years ago
Mehdi Bouaziz c258e988fe [inferbo/cost] Print alias in debug output 7 years ago
Mehdi Bouaziz bdffee831a [inferbo][easy] Rename SubstMap to SymbolMap 7 years ago
Mehdi Bouaziz d07bb90246 Callbacks, cleanup 3: Use Typ.Procname.get_language 7 years ago
Mehdi Bouaziz 44cf69791a Callbacks, cleanup 2: some lazyness 7 years ago
Mehdi Bouaziz be8ac23557 Callbacks, cleanup: tuple -> record 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
Dulma Churchill e507a600a2 [retain cycles] Ignore cycles that include isa 7 years ago
Jeremy Dubreil 2f1d486aab [eradicate] model com.google.common.base.Strings.isNullOrEmpty(...) 7 years ago
Jeremy Dubreil 431d4f1290 [infer] fix infinite loop with the suggestion to add nullable annotations on C++ fields 7 years ago
Dino Distefano 3b608695af Improving treatment of default constructor 7 years ago
Sam Blackshear 767606b98e [quandary] fix unintended markdown formatting in error messages 7 years ago
Jules Villard 80d83c2eea [istd] `Format.pp_print_string` is a thing, use it 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
Dulma Churchill 0ba528c3fa [retain cycles] Add missing fields in the biabduction in more cases. 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 9180ff56c1 [ownership] handle new kinds of access expressions 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 0b26a57b8c [inferbo] Revise semantics of plus and minus 7 years ago
Sungkeun Cho 00e1139071 [frontend] Parse binary operator using types of parameters 7 years ago
Jeremy Dubreil f63a9c0836 [infer][backend] the sserialization should not swallow the Sys_error when unmarshalling data from strings 7 years ago
Jules Villard 007f057f3a [reactive] kill the changed bit of procedure attributes 7 years ago
Jeremy Dubreil 5dea7c55e2 [infer][java] report nullable inconsistencies on library calls 7 years ago
Jeremy Dubreil 3784b7eca7 [infer] use the key field as a simple mean to identify bugs independently form the analysis or version of Infer 7 years ago
Daiva Naudziuniene 7c7b239248 [minor] out of place comment 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
Jules Villard 5155417800 [debug] add `Logging.debug_dev` for temporary debugging 7 years ago
Jules Villard dad8b73f48 [make] run jbuilder when files in infer/src/ change 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
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