4327 Commits (8a6aa92fb1124831089d0d3799ed81bc7d6a6975)

Author SHA1 Message Date
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
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
Jules Villard 9b315d4d08 [tests] some missing dependencies in differential tests
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 4234288c93 [inferbo] Add a pointer arithmetic test
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 94c2cd1d3b [ownership] tests for pointer arithmetic
7 years ago
Sam Blackshear 9180ff56c1 [ownership] handle new kinds of access expressions
7 years ago
Sungkeun Cho a353d69a6e [inferbo] Fix test code
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
Sungkeun Cho d15894c78a [inferbo] Add tests for relational analysis
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
Mehdi Bouaziz 1a7c5a1493 Fix deadcode
7 years ago
Dulma Churchill 927e2049c3 [backend] Add getter/setter execution to the trace
7 years ago
Mehdi Bouaziz 14e48fb5a0 [RFC] Cost: pair with Inferbo
7 years ago
Varun Arora fda0871030 [reporting] fix reporting of total_frontend and total_backend stats
7 years ago
Ezgi Çiçek 872daf1ba7 Add estimated cost to trace element
7 years ago
Nikos Gorogiannis b335fb9c50 [deadlock] rebrand to starvation
7 years ago
Jules Villard 05ce219962 Revert "[dune] let dune generate .merlin files"
7 years ago
Jules Villard 63e04a55a0 [buck] disable buckd systematically
7 years ago
Jules Villard a21644685f [dune] let dune generate .merlin files
7 years ago
Jules Villard 6f187a954c base and IR build separately, biabduction/ directory
7 years ago
Jules Villard a2d3a0ec73 [events] use the same JsonBuilder everywhere
7 years ago
Mehdi Bouaziz 3ebec206dc [inferbo] prune_pairs: kill ref
7 years ago
Sam Blackshear 44e5d0564b [ownership] fix false positives on aggregate locals in loops
7 years ago
Sam Blackshear d840e5da94 [racerd] simplify reconciliation of caller/callee thread context
7 years ago
Dulma Churchill 36478936c7 [retain cycles] Print the type id in a more user-friendly way
7 years ago
Varun Arora f5731ed1bf [config][reporting] add new command line option job-id and log it to EventLogger
7 years ago
Varun Arora 690bae30d0 [reporting][perf] Stats type string is redundant info, already contained in relevant path
7 years ago
Jules Villard 84d3144c98 [istd] break IStd.ml into sensible components
7 years ago
Dulma Churchill 46c69cb26f [tests] Fix tests
7 years ago
Mehdi Bouaziz e9fe470bf9 Cost: bound map as a functional datastructure
7 years ago
Mehdi Bouaziz ffb4074d56 Cost: cleanup
7 years ago
Mehdi Bouaziz 3aebd72d53 [inferbo] Use Ondemand.get_proc_desc
7 years ago
Mehdi Bouaziz 77f5e6f08b Ondemand: optim
7 years ago
Mehdi Bouaziz 82a264ff9f [Inferbo] Refactoring 8/8: struct for extras
7 years ago
Mehdi Bouaziz a4eac6c2d6 [Inferbo] Refactoring 7/8: remove dependency on CFG
7 years ago
Mehdi Bouaziz 722a66d452 [inferbo] Refactoring 6/8: add labels to eval_array_alloc
7 years ago
Mehdi Bouaziz 1b2adb9422 [inferbo] Refactoring 5/8: simplify Utils.Check.array_access
7 years ago
Mehdi Bouaziz 6838fed3e6 [inferbo] Refactoring 4/8: pass node_hash instead of node
7 years ago
Mehdi Bouaziz 672fd3a9a5 [inferbo] Refactor 3/8: model_by_value without model_env
7 years ago
Mehdi Bouaziz 90b5600c8f [inferbo] Refactoring 2/8: abstract type for counter
7 years ago
Mehdi Bouaziz ca14c2106e [inferbo] Refactoring 1/8: labels for arrayBlk functions
7 years ago
Varun Arora 07b0703513 [reporting][perf] report total frontend and total backend time perf stats
7 years ago
Varun Arora 00744a888a [reporting][perf] PerfStats directly resolves filename - no need to pass as parameter
7 years ago
Varun Arora 24e66ada0b [reporting][perf] combine PerfStats source_file with stats_type
7 years ago
Mehdi Bouaziz c29c636768 [Inferbo] No need to check Bottom states
7 years ago
Mehdi Bouaziz cbbc649636 Simplify Specs.load_summary_to_spec_table
7 years ago
Ezgi Çiçek 1cef32eaf7 Rewrite minimum_propagation algorithm in a functional way
7 years ago
Jeremy Dubreil 2e14f9c9c3 [infer] model android.app.AlarmManager.cancel(PendingIntent) as not accepting a null parameter
7 years ago
Jeremy Dubreil 8cfbdef7e0 [infer][biabduction] no longer track the resources saved into a container
7 years ago
Josh Berdine dcc0f646fe Add demo LLAIR client
7 years ago
Sam Blackshear aabf8aec55 [quandary] use `_risk` warning types for endpoint sources in Java
7 years ago
Jules Villard e48cc3a370 [capture] store compilation db arguments one per line
7 years ago
Dino Distefano e54df20eb7 Migrate to Itv.Bound
7 years ago
Jules Villard 57900b11ae [istd] no need to re-implement List.fold_until
7 years ago
Jules Villard 8df15e2f00 [backend] try not to re-allocate too much when normalizing props
7 years ago
Jules Villard 1f04a5eda0 [IList] move to base/ and use Core
7 years ago
Sam Blackshear 7efb5cb549 [ownership] allow placement new on non-var expressions
7 years ago
Sam Blackshear 57a8c2f594 [quandary] don't taint dummy Thrift `_return` formals
7 years ago
Sam Blackshear 082e3f1f9e [ownership] use Base instead of Var
7 years ago
Jeremy Dubreil 373b43eebf [eradicate] minor simplification of the reporting code
7 years ago
Sam Blackshear 6b3282f619 [ownership] First parameter to constructor is read, not written
7 years ago
Jeremy Dubreil 7851ae0389 [infer] remove the concept of advice which does not seem to be used
7 years ago
Varun Arora c3184acd2e [reporting][perf] report InferPrint time taken
7 years ago
Varun Arora 68ab61976a Revert "[reporting][perf] Add PerfStats support for ad-hoc timers"
7 years ago
Dulma Churchill 9c9519fddb [backend] Pass the execution environment around to use it to load tenv of callees in a more efficient way
7 years ago
Varun Arora d746b10bf3 [reporting][perf] Add PerfStats support for ad-hoc timers
7 years ago
Varun Arora c296c06996 [reporting][perf] Add PerfStats support for ad-hoc timers
7 years ago
Varun Arora fba4014d1c [reporting][perf] Add PerfStats support for reporting time and memory related stats separately
7 years ago
Jules Villard 5014e7d9eb upgrade ocaml version to 4.06.1
7 years ago
Dulma Churchill 96a2f8d689 [objc] Add missing fields to the tenv also when they are added to the footprint
7 years ago
Dulma Churchill 862bbdb5fc [retain cycles] Take weak pointers into account to avoid false positives
7 years ago
Tony Hu a7908c1f11 [java] Change classpath logic to handle paths relative to project root
7 years ago
Sam Blackshear f8dfc2305e [ownership] simple 2-step traces
7 years ago
Sam Blackshear ec73adc66d [ownership] support placement new
7 years ago
Jeremy Dubreil 245e49e2da [infer] Eradicate should understand any form of checkNotNull
7 years ago
Jeremy Dubreil e801617488 [infer][java] Eradicate should not report a Return Not Nullable when a method returns the integer 0
7 years ago
Sam Blackshear 1ea4f01403 [ownership] consolidate acquires_ownership cases
7 years ago
Dulma Churchill aca39195f8 [retain cycles] Use decompiled expressions in the retain cycle message
7 years ago
Dulma Churchill d04a7aed52 [clang] Removed the mangling part of Clang global variables in the error messages
7 years ago
Jeremy Dubreil 9acfcc815e [infer][java] log the failures happening when the frontend fails to load a class from the classpath
7 years ago
Sam Blackshear 6d46b0c7be [cleanup] stop printing `&`'s on `Var.t`'s
7 years ago
Dulma Churchill 40dd0e1c95 [objc] Add only the main part of ObjC method names in reports
7 years ago
Mehdi Bouaziz cbbe455c4a [Inferbo] Reporting: refactoring
7 years ago
Mehdi Bouaziz 2916c97e0a [easy] Java nits
7 years ago
Sam Blackshear 0d5e9d0934 [bug hash] strip temporary var names from qualifier
7 years ago
Sungkeun Cho bd040cf696 [inferbo] Add an issue type for alarms by unknown function call
7 years ago
Sam Blackshear b57aa90d7d [quandary] don't crash if JSON source/sink is invalid procedure name
7 years ago
Mehdi Bouaziz 1db6e0c2c6 [easy] Labels for Procdesc.fold_nodes/instrs
7 years ago
Sam Blackshear 4952f1ea3b [quandary] tests documenting limitations of sanitizers
7 years ago
Varun Arora 9387706a54 add clang_method_kind field to AnalysisIssue
7 years ago
Varun Arora 266ae2ed6e [reporting][perf] designate frontend perf stats as either Capture or Linters in EventLogger
7 years ago
Jeremy Dubreil bb91a08ffd [infer][buck] remove unecessary --deep option when using Buck
7 years ago
Mehdi Bouaziz 2e8cb343d4 [Inferbo] Itv.mli
7 years ago
Nikos Gorogiannis 484480f72f [deadlock] regression tests
7 years ago
Nikos Gorogiannis fe43dc2080 [deadlock] analysis and reporting
7 years ago