4445 Commits (dd8b0bcd51a98f927b039f9a99bfa9cd25c9654b)

Author SHA1 Message Date
Mehdi Bouaziz 15b77c6a55 Move get_phase from Tabulation to BiabductionSummary
7 years ago
Jeremy Dubreil 6a91ad4097 [infer][eradicate] model `android.net.Uri.parse(...)` as not accepting null parameter
7 years ago
Jeremy Dubreil fe0debedb6 [infer][buck] run Infer in single core on Buck projects
7 years ago
Sam Blackshear 5ed2016899 [clang] basic support for exceptional control-flow
7 years ago
Jules Villard 316da14857 [clang] minorish improvements
7 years ago
Sam Blackshear 85b8087f66 [quandary] de-prioritize command line flag sources
7 years ago
Daiva Naudziuniene 4e821129a4 [cfg] Log if the cfg is broken for a join node or not
7 years ago
Sam Blackshear d70d23c5f3 [quandary] treat Fragments like other Context types
7 years ago
Dulma Churchill 27a7f2e798 [linters] Do not report mutable local variable in weakSelf and strongSelf
7 years ago
Mehdi Bouaziz 8615091615 [Summary] Pp simplifications
7 years ago
Mehdi Bouaziz 7f8511c2df [Summary] move Stats and Status to modules
7 years ago
Mehdi Bouaziz aaf346d115 [cost] Polynomial domain
7 years ago
Dulma Churchill 2ee4956c03 [objc] Add methods of ObjC classes and ObjC protocols to the tenv
7 years ago
Nikos Gorogiannis 7e5381b7a9 [starvation] model legacy synchronized containers
7 years ago
Nikos Gorogiannis 5d4007e176 [racerd] silence noise about wobbly paths, but leave a textual clue for statistical purposes
7 years ago
Martino Luca 1916e4fa0f Adding a new ATD-based parser for JSON data containing Java method declarations
7 years ago
Nikos Gorogiannis e3f0754335 [starvation] add static timeout recognition and 5 second android limit
7 years ago
Nikos Gorogiannis f22bb53aa8 [starvation] Treat Service (but not IntentService) subclasses as on UI thread
7 years ago
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
Jeremy Dubreil 8162cf826e [infer][genrule] set the project root for the integration test
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
Jules Villard 7cf0a5e2cc [make] ignore copy-copy races in clang compilation db tests
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
Dino Distefano f2fa8cf0e0 Adding more examples where we get Top as cost
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
Dino Distefano dbc8f29835 Added array test where we get TOP
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 d718275402 [quandary] fix test expected output
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
Sam Blackshear 863e08909e [gradle] fix compilation error caused by mishandling of empty classpath
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 1b779abb81 [models] check in empty .inferconfig
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
Nikos Gorogiannis 196c0e5544 [starvation] harmonize java formatting in tests
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
Jules Villard f1bcb91542 [make] make sure no command fails
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 4dc3e5f059 [infer] upgrade the version of Guava used for the tests
7 years ago