3564 Commits (5fe28785bc3157f356e70c8f5d5642dae0c09008)

Author SHA1 Message Date
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
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
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
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
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
Mehdi Bouaziz 2e8cb343d4 [Inferbo] Itv.mli
7 years ago
Nikos Gorogiannis fe43dc2080 [deadlock] analysis and reporting
7 years ago
Sam Blackshear 12ad6c11c1 [ownership] return bottom on early exit or thrown exception
7 years ago
Sam Blackshear 3a40afcd22 [ownership] directly assigning any field of an aggregate struct counts as initialization
7 years ago
Dulma Churchill 0bc4df4b42 [retain cycles] Report cycles after assignment and method call
7 years ago
Dulma Churchill 716bb1939c [backend] Add missing fields to the tenv in the bi-abduction
7 years ago
Sam Blackshear 6976181b77 [ownership] special-case frontend-generated inner destructors.
7 years ago
Dulma Churchill 2edc1d8581 [retain cycles] Improve the message of cycles with blocks by adding more info about captured variables
7 years ago
Varun Arora 892eeb13f7 [bugfix] fix double logging of backend perf stats
7 years ago
Varun Arora 28b455cbfa [backend] Directly report analysis perf from ProcessPool assigned Task so it works correctly with new parallelism
7 years ago
Sungkeun Cho 426af10130 [inferbo][bugfix] Pruning array block (NE case)
7 years ago
Sungkeun Cho 18ea3f99d8 [inferbo][bugfix] Plus semantics of interval domain
7 years ago
Sam Blackshear d720eb52ba [quandary] check for subclassing in externally specified sources/sinks
7 years ago
Daiva Naudziuniene 12be484431 Remove unnecessary option type
7 years ago
Sam Blackshear 89a6d7e20d [racerd] don't report races in third-party code
7 years ago
Jeremy Dubreil d74f189dfe [infer] add the report kind to the list of expected output
7 years ago
Nikos Gorogiannis 3bcfbd6a64 [deadlock] abstract domain
7 years ago
Dino Distefano d2cc5e72f7 Extending analysis to parametric case
7 years ago
Sam Blackshear 1977fefaab [ownership] assume operator= borrows for function types, copies for other types
7 years ago
Mehdi Bouaziz 6f4c08f798 [inferbo][trace] Trace element for Unknown values
7 years ago
Mehdi Bouaziz 72ec9516d4 [inferbo][trace] Show some SymAssigns
7 years ago
Mehdi Bouaziz 55fee73669 [inferbo][traces] Nits
7 years ago
Tony Hu 8f43bdf521 [java] Allow "empty" sources when loading from arguments
7 years ago
Mehdi Bouaziz 279e7d67f0 More inline records
7 years ago
Varun Arora 77e643ee1e combine ocaml_pos and ml_loc
7 years ago
Varun Arora 4cd110b85f [logging] Move Driver perf stats to driver_stats directory
7 years ago
Varun Arora 5d6951a545 [logging] Always log PerfStats to EventLogger
7 years ago
Varun Arora 37720e1bbf [logging] performance stats logging via EventLogger
7 years ago
Mehdi Bouaziz 7ab8b2c354 Inline records for Loops
7 years ago
Sungkeun Cho 8fd04d5312 [inferbo][bugfix] Add index to offset at array fields
7 years ago
Sungkeun Cho 469a5f64ed [inferbo] Simplify realloc model
7 years ago
Mehdi Bouaziz eae3b38920 Itv.range and simplifications
7 years ago
Mehdi Bouaziz 04f7e83351 [Inferbo] Small factorizations
7 years ago
Daiva Naudziuniene 4157ba820a [HIL] Implicit dereference in access expression
7 years ago
Sam Blackshear a0149872ad [ownership] report invocation of lambdas capturing a var whose lifetime is over
7 years ago
Dulma Churchill d763cfdd6f [clang] Keep QualifiedCppName free of clang frontend modules dependencies
7 years ago
Dulma Churchill be53bc80e2 [lieveness] Fix false positive to do with a _Generic expression not being translated properly
7 years ago
Sungkeun Cho 09ae1f96fc [inferbo] Avoid array field is evaluated to the unknown location
7 years ago
Sungkeun Cho d6740e94b2 [inferbo] Collect array accesses from sub expressions
7 years ago
Sungkeun Cho e537f8f383 [inferbo] Revise realloc semantics
7 years ago
Dulma Churchill ae8067ea1a [clang] Set up the objc accessor flags correctly in case property is defined in protocol
7 years ago
Varun Arora fa3bd1e140 [reporting] add float support to JsonBuilder
7 years ago
Dulma Churchill eef8774aa2 [clang] Restore the debug tenv file for the clang frontend
7 years ago
Jeremy Dubreil b4b901c725 [infer][scheduler] always return None when the method is already being analyzed
7 years ago
Tony Hu 56872d8126 [java] Add command-line option to specify external Java packages
7 years ago
Dulma Churchill 9f343853ec [clang] Find fields from the properties corresponding to the property implementations.
7 years ago
Mehdi Bouaziz 569efd4c4a [ProcnameDispatcher] Matcher for Procnames
7 years ago
Mehdi Bouaziz 6b22ee3932 [ProcnameDispatcher] Rename Procname to Call
7 years ago
Mehdi Bouaziz 07a21da13a [ProcnameDispatcher] Move stuff around
7 years ago
Sam Blackshear 58adf8dd52 [ownership] implementing borrowing
7 years ago
Jules Villard fa6a798451 [clang] improve `CMethodSignature` interface
7 years ago
Jules Villard d773dedb4b [IR] kill `Exp.get_vars`
7 years ago
Jules Villard 43d6c17f29 [IR] do not take captured vars into account for program vars, only the captured expression
7 years ago
Jules Villard a926f82c39 [IR] address long-lived FIXME in computing free variables
7 years ago
Jules Villard bc7a71d413 [IR] add API for Sil and Exp.FreeVar
7 years ago
Sungkeun Cho 6bacdf4a4d [inferbo] Return newly allocated locations in callees
7 years ago
Sam Blackshear 68e4e94008 [ownership] domain for borrowing
7 years ago
Sam Blackshear e687ef40b3 [dead stores] report on dead stores to values captured by value in a lambda
7 years ago
Sam Blackshear aca9d034a7 [clang] translate capture-by-reference correctly
7 years ago
Dulma Churchill c689d5a91e [annotations] Pretty print also the annotations parameters
7 years ago
Jules Villard e6750e1610 [IR] `Sequence`-like interface to walk over program variables in expressions
7 years ago
Jérémie Marguerie 8cfc7f2cad Add function to retrieve the lifetime of an ivar pointer and check if it is strong
7 years ago
Varun Arora 7cc0946a5a [backend] change three exceptions to developer-only visibility
7 years ago
Varun Arora 32b2a707e8 [reporting] Exceptions of visibility Exn_developer are now logged using EventLogger when not running in developer mode
7 years ago
Dino Distefano 69bfc0535c [Experimental] First very basic version of performance analysis tool
7 years ago
Sungkeun Cho e304b511fa [inferbo][bugfix] Declare parameter of flexible array member
7 years ago
Jules Villard 4c002f0c98 [sqlite] migrate tenv to sqlite
7 years ago
Jules Villard b86b8a6775 subtle dead code in prop/fav stuff
7 years ago
Jules Villard 098b0700c2 [clang] upgrade internal clang
7 years ago
Sam Blackshear dedabf71e2 [liveness] don't report on dead stores of variables captured by reference in a lambda
7 years ago
Sam Blackshear ddc354df39 [IR] utility function for detecting when Var appears in source code
7 years ago
Dulma Churchill 56db965738 [retain cycles] Make the id in dotty files include the field, in case the type is not unique in the cycle
7 years ago
Josh Berdine 3534838b73 [ocamlformat] Upgrade to ocamlformat 0.4
7 years ago
Jules Villard 4b56e32a29 [config] remove unused "parameters" config matcher
7 years ago
Varun Arora bb8ba0e7a4 [reporting] remove ProcAttributes dependency from EventLogger
7 years ago
Varun Arora 7721280fa7 [reporting] log reason for skipping call in EventLogger.CallTrace
7 years ago
Varun Arora cbf9e3b88b [backend] remove unnecessary else branch from unit function in tabulation
7 years ago
Sungkeun Cho 373e6b39cc [infer] Use inline record for Typ.Tarray
7 years ago
Sungkeun Cho f55f382a78 [inferbo] Support flexible array member
7 years ago
Sungkeun Cho 3ef619ef14 [inferbo] Add a model for "placement new"
7 years ago
Sungkeun Cho 4299848dad [inferbo] Initialize array member in class
7 years ago
Sungkeun Cho 8dd45eebde [inferbo] Use record environment type for model
7 years ago
Dulma Churchill 3cb56ea3c1 [retain cycles] Fix false positives to do with not finding weak attribute in the tenv
7 years ago
Nikos Gorogiannis c34ff07375 [racerd] fix lock count treatment at method calls
7 years ago
Sungkeun Cho 077d2ae2f5 [infer] Disable sorting fields
7 years ago
Dulma Churchill f3704bf049 [retain cycles] Fixing dotty files by using a pp function for types that is enabled not only in debug mode
7 years ago
Sam Blackshear 4799fb6b82 [racerd] skeleton for testing access path stability
7 years ago
Jeremy Dubreil 4d8fdb1462 [infer][java] map all failures to convert absolute paths to relative paths to the same value
7 years ago
Jeremy Dubreil 81b936eede [infer][java] no longer use the version of javac as cache key for the Buck integration
7 years ago
Sam Blackshear 4485e97bee [ownership] report use after destructor
7 years ago
Ilya Sergey b41a059609 [racerd] More precise traking of LHS when calling a method for stability checking in RacerD.
7 years ago
Dulma Churchill 702f8098e7 [retain cycles] Find all the cycles available instead of only one per root analysed
7 years ago
Varun Arora e90eaeab49 [reporting] add logging of call stats to backend
7 years ago
Dulma Churchill 49e05217fe [retain cycles] Removing code for finding retain cycles on blocks that is now unused.
7 years ago
Ilya Sergey 4633cd03c4 [racerd] Instrumenting the concurrency analysis with tracking of access path stability.
7 years ago
Sungkeun Cho f2b2041baf [inferbo] Precise symbol instantiation
7 years ago
Sam Blackshear 66d03869ab [quandary] don't treat private Java methods as endpoints
7 years ago
Sam Blackshear 84e159f74d [hil] make get_access_paths understand closures/capture
7 years ago
Varun Arora 2655e10b59 [reporting] refactor StatsLogs into its own module in InferPrint
7 years ago
Jules Villard d3f3386c9e [wibble] rename `Ident{Set,Map,Hash}` -> `{Set,Map,Hash}`
7 years ago
Nikos Gorogiannis ae8b73e480 [ownership] set default to off
7 years ago
Varun Arora d6e546950a [backend] make use of clang_method_kind more consistent and prevent logging it for non-clang procedures
7 years ago
Varun Arora a2861229bb [logging] add_string_opt function that takes a string option as its data
7 years ago
Dulma Churchill aae319376d [retain cycles] Fix renaming of closures, finds more retain cycles
7 years ago
Varun Arora 9348012dc3 [clang] restore logging of procedures translated summaries
7 years ago
Sam Blackshear d76d20a9ca [ownership] prototype of ownership analysis for tracking reads/moves
7 years ago
Varun Arora e812934781 [backend] convert string concatenations to string formatting
7 years ago
Nikos Gorogiannis 519306a049 [racerd] move appropriate functions to Models.
7 years ago
Dulma Churchill 4f0e9606dd [retain cycles] Further refactoring of dfs, check for weak right away
7 years ago
Daiva Naudziuniene 1401696119 [destructors] Inject destructor calls even if the destructor declaration is empty
7 years ago
Sam Blackshear 72a49962f0 [logging] use dummy logger when log_events flag is off
7 years ago
Sam Blackshear f191819642 [litho] print name of component with missing prop
7 years ago
Daiva Naudziuniene 5ebc6562ee [HIL] AccessExpression on the left hand side of assignment
7 years ago
Sungkeun Cho ebddb14206 [inferbo] Prune by assert
7 years ago
Sam Blackshear 87de52210c [litho] handle extra setters for resType props
7 years ago
Jules Villard 2dbdf8f183 [config] kill load/save analysis results
7 years ago
Varun Arora 14fb188636 [report] gate InferPrint StatsLogs format behind Config.log_events
7 years ago
Dulma Churchill c38052bbaa [clang] Catch a few more occurring incorrect assumptions
7 years ago