4424 Commits (776e728b63d27a818c1a66c080a610639d99ce38)

Author SHA1 Message Date
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
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
Daiva Naudziuniene 9d844b707a Use after free false postives due to missing operator++ of hash map iterator
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
Dulma Churchill 26697704dc [retain cycles] Example of a cycle that includes a C++ class
7 years ago
Daiva Naudziuniene 5898417fdd [frontend] Getting appropriate type information for exp in sizeof exp
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
Jeremy Dubreil 79276d26bf [infer][java] avoid conflicts between Eradicate warnings and Biabdduction warnings
7 years ago
Jeremy Dubreil c1d0709fe9 [infer][java] only collect the analysis results on the affected targets
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
Jules Villard c2c9c94d5e [bug] notice we do not support some versions of `assert`
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
Jeremy Dubreil 1fe7f89603 [infer][clang] create an infer-specific client id for Buck
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
Sam Blackshear dbc8a4af50 [fix] rename racerd_path_stability -> stability
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
Nikos Gorogiannis 2763d58fa4 [linters] Refactor rule for misuse of NSNumber ptrs.
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
Dulma Churchill fbf0020399 [retain cycles] Fix the order of the cycles, refactor dfs
7 years ago
Sam Blackshear 9366e8dbc8 [clang] add id -> pvar bindings to C++ lambda capture
7 years ago
Jeremy Dubreil 89ec1effde [infer][nullable checker] lookup the attributes in the CFG
7 years ago
Jeremy Dubreil 1d2d6b7976 [infer][report] fix performance issue when logging events
7 years ago
Sungkeun Cho c514b19786 [inferbo] Add new operator model
7 years ago
Daiva Naudziuniene 896e849bfc [HIL] Access expression
7 years ago
Jeremy Dubreil 2288e66063 [infer][nullable checker] treat all aliases as not null when one is checked for null
7 years ago
Sam Blackshear 1a75ec9cf8 [cleanup] Move ObjC/C++-specific Procname functions to dedicated module
7 years ago
Sam Blackshear 3d170a82c4 [clang] translate lambdas that capture `this`
7 years ago
Dulma Churchill 366f4f5ca2 [clang] Make another crash into incorrect_assumption
7 years ago
Daiva Naudziuniene 14445fad05 [bi-abduction] Do not abduce reference parameters constraints for recursive calls
7 years ago
Sam Blackshear c031891d30 [litho] fix divergence bug in unroll_call
7 years ago
Jeremy Dubreil b903b2d932 [infer][java] translate the annotations of the callees
7 years ago
Sam Blackshear b4d046a290 [cleanup] delete tags that are added but never read
7 years ago
Sam Blackshear 9ae77b67fd [clang] simplify translation of `this` expressions
7 years ago
Sam Blackshear a4078b43ee [cleanup] Remove Tags from JSON
7 years ago
Jules Villard 1d80ce37ab [pp] print contents of argfiles, recursively, on error
7 years ago
Varun Arora 7f6920e0ed [base] alphabetize EventLogger event record type fields
7 years ago
Dulma Churchill 4218142a84 [retain cycles] Implement dotty files for retain cycles new
7 years ago
Varun Arora 97c36448b6 [reporting] add additional fields to AnalysisStats event
7 years ago
Varun Arora ad10435b58 [IR] combine is_objc_instance_method and is_cpp_instance_method fields in ProcAttributes into method_kind
7 years ago
Jeremy Dubreil 06406eae4e [infer][backend] simplify the resolution of the attributes
7 years ago
Jeremy Dubreil 5f3c3ee3f9 [infer][genrule] use Eradicate for the genrule test
7 years ago
Dulma Churchill 91fbe68cc9 [retain cycles] Do not report when the captured variable is weak
7 years ago
Mehdi Bouaziz d61c4927c1 [ProcnameDispatcher] Optimization and do not crash with Java
7 years ago
Jeremy Dubreil 3be3ca427f [infer][cleanup] minor code simplication
7 years ago
Jeremy Dubreil 5ed234ccd0 [infer][checkers] remove leftover debugging code
7 years ago
Jules Villard ab9c18b85d [clang] echo clang stdout when running non-plugin commands
7 years ago
Jules Villard 70c2a50b4e [db] record symbolic capture timestamps for source files
7 years ago
Jeremy Dubreil 2228f7448d [infer][nullable checker] add tests for the early return
7 years ago
Sam Blackshear 584b10647d [racerd] new lock domain
7 years ago
Varun Arora 315db072ac [clang] change CTrans_utils.Self.SelfClassException to use new CFrontend_config.ocaml_pos type instead of raw tuple
7 years ago
Dulma Churchill 8053734563 [linters] Add logging and caught exceptions to the linters
7 years ago
Jeremy Dubreil 47b5104892 [infer][clang] convert assert false to incorrect_assumption in CProcname
7 years ago
Sam Blackshear 82d033c970 [clang] convert some assert false's to structured fails
7 years ago
Sam Blackshear 71a3843746 Revert occurence counting change
7 years ago
Varun Arora cbe6ea4456 [reporting] Added logging of procedures analysis stats to backend
7 years ago
Sam Blackshear 37ab9ec391 [quandary] ProcessBuilder as sink
7 years ago
Sam Blackshear ab77cfe803 [quandary] thrift services as sources in Java
7 years ago
Sam Blackshear 27172f7f8a [quandary] java shell exec as sink
7 years ago
Sam Blackshear 268e0b9b5f [racerd] generalize access preconditions
7 years ago
Dulma Churchill 8a9fcdc43f [retain cycles] Find cycles about blocks
7 years ago
Varun Arora 440040ada9 [clang] make ast_node argument optional in Unimplemented and IncorrectAssumption exception raising functions
7 years ago
Sam Blackshear 80b3d080ce [cleanup] sunset Context leaks
7 years ago
Jeremy Dubreil e90e6c8bf0 [infer][build] fix the OCaml dead code detection on macOS
7 years ago
Sam Blackshear bc8fe4fb97 [java] don't warn on unclosed subclasses of non-resource types
7 years ago
Mehdi Bouaziz 4fdaf257ae [inferbo/unreachable] Fix FPs with exit at end of block/procedure
7 years ago
Mehdi Bouaziz dbaf9e459d [Inferbo] Do not use deprecated API to log issues
7 years ago
Jules Villard 586582c311 [buck] delete results dir inside buck-out in infer children processes
7 years ago
Mehdi Bouaziz 59edaf4670 [Inferbo][Itv] Some rewrites
7 years ago
Mehdi Bouaziz 653f212023 Disable Inferbo for Java
7 years ago
Sam Blackshear 08f21959ce [racerd] add missing match case
7 years ago
Jules Villard 4a71067c68 [tests] kill some new dead code
7 years ago
Jeremy Dubreil fa840ad1e4 [infer][java] log the error message for JBasics.Class_structure_error
7 years ago
Daiva Naudziuniene ec263afe58 [clang frontend] placement new
7 years ago
Jeremy Dubreil db078459b4 [infer][ondemand] also cache the result of analyzing a procedure description
7 years ago
Jeremy Dubreil 96ca6b6f02 [infer][bug hash] take the number of occurences of a report into account
7 years ago
Jeremy Dubreil bbca94569c [infer][scheduler] use the on-demand analysis when retrieving the procedure description for a given procedure name to make sure the summary exsits
7 years ago
Tony Hu c1fd661648 [infer][genrule] Added command-line option --check-version
7 years ago
Jeremy Dubreil 432ba7f447 [infer][buck] remove the "captured" subdirectory for Java projects
7 years ago
Sam Blackshear 30112cbcb0 [litho] organize functions for GraphQL getters and required props into separate modules
7 years ago
Sam Blackshear ebfe8d1e72 [litho] move reporting of missing required props out of transfer functions
7 years ago
Dulma Churchill f5e89797a8 [backend] Fix consistency of closures after bi-abduction and other executions.
7 years ago
Jules Villard 6b5390fe79 [cfg] rename iCFG to cfg in dotty files
7 years ago
Jules Villard ec118e62a7 [cleanup] make caller pdesc an optional argument of `Ondemand.analyze_proc_desc`
7 years ago
Jules Villard 58e0cbe6ee [base] move `Config.language` to its own `Language` module
7 years ago
Jules Villard f999f2ebb7 [cleanup] remove unused `ProcessPool.Execution_error`
7 years ago
Jules Villard 7396a613bb [tenv] change interface to take `SourceFile.t` instead of `DB.filename`
7 years ago
Jules Villard ac92e13292 [cleanup] delete useless `Driver.Infer_error` exception
7 years ago
Jules Villard daa5154399 [capture] get rid of call graphs
7 years ago
Jules Villard f2029af50a [exe_env] do not record the call graph in the execution environment
7 years ago
Jules Villard 1d3e0741ac [cfg] get defined procs of file from cfg db
7 years ago
Sam Blackshear 2c6fb16636 [litho] support optional Prop's
7 years ago
Sam Blackshear 4545f36875 [litho] prototype of required `@Prop` checker
7 years ago
Sam Blackshear c98bc53ede [racerd] move de-duplication back to the backend
7 years ago
Jules Villard 66ad5c3018 [driver] persist some global state across infer runs
7 years ago
Jules Villard 0c9b025857 [clopt] move command datatype to new InferCommand
7 years ago
Jules Villard 337fb9bcdd [al] import files relatively to the current al file
7 years ago
Jules Villard 6d908adf14 [al] use "quotes" for user imports
7 years ago
Jules Villard 7fc7511238 [clang] blacklist `--expt-relaxed-constexpr`
7 years ago
Varun Arora b97ba077ad [clang] Added logging of caught exceptions of type SelfClassException to clang frontend
7 years ago
Varun Arora 773b43d94e [clang] Added logging of caught exceptions of type IncorrectAssumption to clang frontend
7 years ago
Martino Luca 5b04b1ce89 Add CLI argument to Config
7 years ago
Jules Villard c0d578323e [config] make subprocesses read the same .inferconfig as toplevel infer invocation
7 years ago
Varun Arora 2ede6c1ac4 [clang] Added logging of caught exceptions of type Unimplemented to clang frontend
7 years ago
Sam Blackshear 360151eb10 [litho] utility function for iterating over all call chains encoded in the domain
7 years ago
Dulma Churchill 4ad80615ef [retain cycles] Do not check twice for cycles, once in abs and once in the retain cycles module
7 years ago
Sam Blackshear f7c415f7ae [cleanup] restrict Java-specific utility functions to Typ.Procname.Java.t's
7 years ago
Tony Hu 55ecd9b0a4 [infer][bucklib] Removing INFER_ANALYSIS flag
7 years ago
Jules Villard 52c4c4c767 [log] let early logging fall through instead of double-printing
7 years ago
Jules Villard 1d4128e0c0 [clang] blacklist some flags at the -### level
7 years ago
Tony Hu 26d1bb0ff4 [infer][bucklib] Prepare bucklib for removal of INFER_ANALYSIS env flag
7 years ago
Sam Blackshear 04d2882a6b [cleanup] organize Java-specific functions on types
7 years ago
Jules Villard 1a5ba13778 [cfg][minor] do not duplicate the Hashtbl API
7 years ago
Jeremy Dubreil dbdfb24be4 [infer] fix build
7 years ago
Mehdi Bouaziz 7b3bf7b4b5 [dispatcher] Match all suffixes
7 years ago
Mehdi Bouaziz 4ed3be9f00 [inferbo] First models for std::array
7 years ago
Sam Blackshear fb7556816f [quandary] report gflags to shell exec, but not file or url creation
7 years ago
Mehdi Bouaziz d0a30d61c4 [buck] Closed regexes to filter target kinds
7 years ago
Jules Villard 34862f8d77 [dead] script to detect dead code
7 years ago
Jules Villard 4b1a7b1771 [cleanup] remove dead code
7 years ago
Jules Villard 92e3d56f2e [cleanup] add missing `open! IStd`
7 years ago
Varun Arora 0003c3acc9 change procedures_translated logging to use eventlogger framework
7 years ago
Varun Arora cd02014209 [clang] Added logging of attempted and completed procedure translations to clang frontend
7 years ago
Tony Hu d62b046f52 [infer][genrule] create_genrules in DEFS now only creates Buck rule for "checkers" analyzer
7 years ago
Radu Grigore eb91d59e40 [infer][PR] Fixed namespace for Java globals.
7 years ago
Tony Hu 39564905f2 Removed GENERATE_INFER_GENRULES flag
7 years ago
Sam Blackshear f5e7a6e6d7 [quandary] print index(es) of tainted parameters at each call
7 years ago
Jeremy Dubreil 7bbb615740 [infer][ondemand] minor simplification of the top-level iteration
7 years ago
Jules Villard 5b95f51b52 [make] refactor common atd generation
7 years ago
Jules Villard 8fe2d793b9 [db] name tables with respect to their keys
7 years ago
Jules Villard 3d7878ef25 [make] make sure we always read from the right infer-out/
7 years ago
Dulma Churchill 66b1956e9a [debug] Adding the captured variable to the printing of the closures
7 years ago
Mehdi Bouaziz d71d759344 [inferbo] Fix division by constant
7 years ago
Tony Hu 2faaa1a5ab [infer][genrule] Rename javac_config to buck_config in bucklib.py
7 years ago
Jules Villard 52f7253d61 [java] get rid of unused models tenv
7 years ago
Vladimir Silyaev a0dfd699a8 [infer][PR] Clean temporary files created by the clang frontend
7 years ago
Jules Villard b71d567157 [exe_env] replace set of sources by singleton
7 years ago
Jules Villard 764224139c [backend] change cluster type to source files and read list from cfg db
7 years ago
Jules Villard d3c6543cc8 [sqlite] more info on error
7 years ago
Jules Villard 7a37d5914d [sqlite] use `Sqlite3.exec` directly when possible
7 years ago
Jules Villard 54c1976945 [sqlite] reset prepared statement eagerly
7 years ago
Dulma Churchill ebd58cbfc0 [retain cycles] Remove false positive retain cycles
7 years ago
Sam Blackshear 7f62154318 [quandary] separate sanitizers for different kinds of escaping
7 years ago
Sam Blackshear b3992cbab8 [liveness] add CKComponentKey to whitelist
7 years ago
Jeremy Dubreil 6e1979a3e0 [infer][IR] introduce a fold function over the procedure descriptions in a file to avoid make copies of mutable data-structures
7 years ago
Jeremy Dubreil b089486b5a [infer][nullable checker] take subtyping into account when detecting pointer assignment
7 years ago
Jeremy Dubreil 73b4409e6f [infer][nullable checker] no longer propagate the nullability when the lhs is not a pointer type
7 years ago
Jeremy Dubreil c6a6087ed1 [infer][IR] factor the test for pointer type
7 years ago
Jeremy Dubreil f50c7b469e [infer][nullable checkers] move the tests for the nullable checker in a dedicated subdirectory
7 years ago
Sam Blackshear a50433f87f [cleanup] remove unused java dependencies
7 years ago
Jeremy Dubreil 1db403c51d [infer][scheduler] no need to filter the defined procedures when running the checkers
7 years ago
Sam Blackshear b06676f309 [quandary] only use gflag sources in developer mode
7 years ago
Josh Berdine 63439ecc02 [ocamlformat] Upgrade base and ocamlformat
7 years ago
Jules Villard 7032bca1d5 [tests] fix `make clean`
7 years ago
Dino Distefano d83a9445f1 First extension to uninit inter-procedural analysis
7 years ago
Jeremy Dubreil 4795139459 [infer][java] skip the transformation to JBir when skipping the translation of the implementation
7 years ago
Sam Blackshear ab3da5b1d1 [cleanup] remove unused dynamic dispatch modes
7 years ago
Jeremy Dubreil 5ce859c774 [infer][java] compute the start and exit node location from the bytecode instead of from the JBir representation
7 years ago
Jeremy Dubreil 3fb25e2a74 [infer][java] removing dead code
7 years ago
Martino Luca e950103428 Add the --log-events flag to turn on events logging
7 years ago
Mehdi Bouaziz d8bd7b7deb [inferbo] Only use inferbo models when biabduction is off
7 years ago
Jeremy Dubreil 93b9f2c488 [infer][java] catch Invalid_argument exception when translating the bytecode to the Sawja JBir representation
7 years ago
Sam Blackshear 8732c7d7a1 [quandary] add curl_easy_setop with CURLOPT_POSTFIELDS as sink
7 years ago
Martino Luca 7d78588f49 Emit log identifier in stderr, when Infer is launched
7 years ago
Mehdi Bouaziz 3fc41af811 [inferbo] Model for folly::split
7 years ago
Dino Distefano e3e2fb22a1 Change pattern-matching order
7 years ago
Sam Blackshear 82a3b2649e [quandary] only warn on shell/sql injection from stringy gflag sources
7 years ago
Sam Blackshear afb04cf459 [thread-safety][experimental] switch access path may-alias condition to syntactic equality
7 years ago
Jeremy Dubreil 71cf1760c5 [infer][nullable checker] find the nullable violation involving annotated protocol methods
7 years ago
Martino Luca 67142e7478 Log events in machine-readable format, and dump them via `infer events` command
7 years ago
Mehdi Bouaziz 96face188a [dispatcher] Uncouple function argument matching and capturing
7 years ago
Jeremy Dubreil 32deab86bd [infer][nullable checker] avoid reporting the nullable violations that are already reported by the biabduction analysis
7 years ago
Sam Blackshear d6ed9e3bbe [liveness] remove special-casing for destructor reads
7 years ago
Sam Blackshear f37344358b [experimental] interprocedural should_update analysis
7 years ago
Jules Villard 303b79b6ae [sqlite] create `SQLite` serialization/deserialization modules where needed
7 years ago
Jules Villard a91e7dda50 [cfg] move cfgs to sqlite
7 years ago
Dulma Churchill 4db780d364 [retain cycles] Enable retain cycles, quality and message are better now
7 years ago
Martino Luca cd49acc1cf Refactor directory traversal into its own utility function
7 years ago
Jeremy Dubreil f283416fa1 [infer] no longer print the list of Eradicate warnings to standard output
7 years ago
Jeremy Dubreil 1f6d73269e [infer] simplify the API to report errors
7 years ago
Jeremy Dubreil c62dd2a0c2 [infer][nullable checker] add models for mutations of mutable dictionaries and mutable arrays
7 years ago
Sam Blackshear b23e967f1b [liveness] print type of unused var
7 years ago
Sam Blackshear 41129087e4 [quandary] only Intents created from Uris should be sources
7 years ago
Sam Blackshear 32675a7b02 [quandary] improve curl_easy_setopt sink
7 years ago
Sam Blackshear 156ea2f759 [racerd] use a record instead of ginormous tuple in reporting code
7 years ago
Dulma Churchill 5b5b72f983 [retain cycles] Improve the message by adding info about when each of the objects involved was last updated.
7 years ago
Jules Villard 5ce024bf6e [clang] do not error on bogus arguments to `fsanitize`
7 years ago
Dulma Churchill d7dc9b38f7 [retain cycles] Refactoring of computing cycles using dedicated data structure
7 years ago
Mehdi Bouaziz cf11590800 [clang] Ignore -fsanitize=builtin
7 years ago
Jeremy Dubreil 83118865aa [infer] add arrayByAddingObject: to the list of methods asserting the parameters
7 years ago
Sam Blackshear d3f4043bc0 [quandary] curl function for setting URL as sink
7 years ago
Jules Villard 1f3cae9fa4 [make] some missing dependencies
7 years ago
Daiva Naudziuniene d8a004f0cc [LockConsistency] Adding conditional ownership to the rest of the formal parameters of constructors.
7 years ago
Josh Berdine 22ec29fabc [racerd] Report only once per unique pair of final trace locations
7 years ago
Sam Blackshear 7e8739de0a [quandary] more fine-grained issue types for Java
7 years ago
Sam Blackshear d81faea3b3 [de-duplication] fix bug causing under-aggregation
7 years ago
Sam Blackshear 647e1cd62d [dead stores] config file for custom scope guard types
7 years ago
Sam Blackshear 432fa4913c [quandary] report all Intents constructed from URIs
7 years ago
Sam Blackshear 6abbe66ee6 [quandary] file creation as sink
7 years ago
Sam Blackshear 19824aa27b [quandary] don't taint this var of endpoints
7 years ago
Sam Blackshear a32903bcea [racerd] print just one conflict in error message to avoid formatting issues
7 years ago
Josh Berdine 972b9eb488 [lock-consistency] Suppress folly::fbstring_core
7 years ago
Josh Berdine 5e3cd22a1f [lock-consistency] Suppress folly::futures
7 years ago
Peter O'Hearn 700adc2d44 [racerd] deep ownership
7 years ago
Sam Blackshear 735b0b2ef7 [quandary] include source/sink caller in error message
7 years ago
Jeremy Dubreil 75de2006dd [infer] make sure adding or removing parameters does not affect the bug hash on Objective C methods
7 years ago
Sam Blackshear 6799e7a7fb [dead stores] whitelist more RAII guard types
7 years ago
Daiva Naudziuniene f0f1e97ae2 [LockConsistency] Do not report lock consistency violation if an access path starts with a logical variable or a temporary variable.
7 years ago
Mehdi Bouaziz 78120bc9e2 Fix tests
7 years ago
Mehdi Bouaziz 1a117d7e09 Fix unique_ptr model
7 years ago
Sam Blackshear 3c28e0308a [quandary] clean up source type in report
7 years ago
Sam Blackshear 0ebdd369b0 [liveness] don't warn on dead stores of type CKComponentScope
7 years ago
Dulma Churchill ed740600de [cleanup] Remove hidden field and related code that is not used anymore.
7 years ago
Jeremy Dubreil 4aaa39fdd1 [infer][nullable checker] propagate object nullablilty when calling an Objective C instance method on a nullable receiver
7 years ago
Jeremy Dubreil d4c81a7798 [infer][nullable checker] model NSDictionary initialization as crashing on nil keys or nil values
7 years ago
Jeremy Dubreil e622e7b431 [infer][ondemand] cache the results of the on-demand analysis
7 years ago
Dulma Churchill 1d0b6050a6 [retain cycle] Move the code about retain cycle detection to a dedicated module
7 years ago
Dulma Churchill d25754597d [memory leaks] Adding model for CVPixelBufferRelease
7 years ago
Mehdi Bouaziz 0ed1a51944 [inferbo] Prepare for type models
7 years ago
Jeremy Dubreil 3e94c868f4 [infer] use the classname without the package name to compute the bug hash
7 years ago
Jeremy Dubreil 297195bb3c [infer] move the AccessPath module under the IR subdirectory
7 years ago
Sam Blackshear 8ef346acbe [logging] less logging from interproc module
7 years ago
Jeremy Dubreil ea29749671 [infer] simpler bug hash
7 years ago
Jeremy Dubreil 7dd78f4135 [infer][eradicate] example where the non-nullability is not correctly propagated
7 years ago
Jeremy Dubreil 10eef3bb1f [infer][java] add model for ImmutableList$Builder.add which crashes when given a null value
7 years ago
Jeremy Dubreil bff96f1d75 [infer] remove the use of the deprecated --stats option
7 years ago
Sam Blackshear 51cce869b3 [logging] no longer log a summary when we add it to the specs table
7 years ago
Sam Blackshear adde940be4 [cleanup] kill stats_mode option
7 years ago
Dulma Churchill 306a0a9182 [liveness] Do not report on variables with block attribute
7 years ago
Dulma Churchill 71fde88950 [IR] Adding support for variable attributes, adding __block for ObjC variables
7 years ago
Daiva Naudziuniene 9e2ecac204 [LockConsistency] Add ownership to container accesses for cpp
7 years ago
Sam Blackshear 74670cb0ba [dead stores] don't warn on dead stores of ScopeGuard's
7 years ago
Martino Luca 6b363ef063 [SQLite] Set the synchronous flag to OFF
7 years ago
Jeremy Dubreil 7b8a5a1a2b [infer] always run all the pre-analysis passes independently form the checkers that are being run
7 years ago
Sam Blackshear ca3f71a8b3 [experimental] report call chains reachable from onCreateLayout
7 years ago
Josh Berdine 63183f94f1 [racerd] Delay issue deduplication to differential reporting
7 years ago
Sam Blackshear 8d0f141974 [dead stores] identify dead stores involving struct values
7 years ago
Sam Blackshear 427dad5aa6 [racerd] keep adding accesses after prefix of a path is owned
7 years ago
Mehdi Bouaziz cd35b2f0a3 [inferbo] Moving Inferbo utils functions
7 years ago
Mehdi Bouaziz 73906d537d [dispatcher] Typename dispatcher
7 years ago
Mehdi Bouaziz 43758e9fd7 SourceFile: random stuff
7 years ago
Peter Goldsborough 5a06a187f2 Added is_outside_codebase check for FIELD_SHOULD_BE_NULLABLE
7 years ago
Sam Blackshear 087ff08b82 [quandary] eliminate spammy soft error for bad return summary
7 years ago
Jeremy Dubreil f08a9a3a71 [infer] fix the printing of analysis summaries to standard output
7 years ago
Dino Distefano dfb8b421ac Extending uninit to struct
7 years ago
Dulma Churchill 68beca1523 [objc] Refactor modeling of CoreFoundation and CoreGraphics libraries
7 years ago
Martino Luca 5588f5e1ea Invoke getconf correctly to extract the right number of cores
7 years ago
Martino Luca 09a807fe0a Add `late_epilogue` callback that gets invoked at the end of infer's lifecycle
7 years ago
Jeremy Dubreil 8ce15caffb [infer][java] model org.assertj.core.util.Preconditions
7 years ago
Sam Blackshear 164fa457e9 [quandary] treat any non-primitive endpoint formal as a source
7 years ago
Mehdi Bouaziz 168ce5a6bb [inferbo] Add alloc size safety condition
7 years ago
Mehdi Bouaziz d12371c6c3 [inferbo] Prepare for several kinds of safety conditions
7 years ago
Mehdi Bouaziz cb363d8dcb [inferbo] Modeled functions may also generate proof obligations
7 years ago
Jeremy Dubreil 1a4316065a [infer] no longer create the CSV report
7 years ago
Dulma Churchill c0f250c45e [liveness] Change the model of assert functions to include the handle failure function to avoid dead store fps
7 years ago
Josh Berdine a7c657da56 [lock-consistency] Only suppress truncated traces in Java
7 years ago
Jeremy Dubreil c195e67dfe [infer] remove the utility functions to export debug information in LaTeX
7 years ago
Jeremy Dubreil 85ab063983 [infer] remove the field `nodes` in the summary definition
7 years ago
Jeremy Dubreil 97927f6f46 [infer][checkers] remove the `-a biabduction` option and the related code
7 years ago
Jeremy Dubreil 716ff9b3d5 [infer] make `-a infer` an alias for `-a checkers`
7 years ago
Jeremy Dubreil a991b98d02 [infer][nullable checker] also report a null dereference error when adding nil key or value to NSDictionary
7 years ago
Sam Blackshear ceb0062cdd [cleanup] kill constant propagation pass in bi-abduction
7 years ago
Dulma Churchill 16689e6f22 [linters] Disable DISCOURAGED_WEAK_PROPERTY_CUSTOM_SETTER because of low fixrate
7 years ago
Dulma Churchill c90bcf1320 [objc] Model dispatch functions
7 years ago
Dino Distefano ba422a8ad8 Remove FPs for struct in ObjC
7 years ago
Dulma Churchill 45df254a99 [infer][PR] [C/C++] Encode filename into the Procname of global initializers
7 years ago
Sungkeun Cho 9deec6ffde [inferbo] Fix evaluation of Lindex
7 years ago
Jules Villard 82c9201bfc [reactive] keep specs around in reactive mode
7 years ago
Mehdi Bouaziz a73162d8e4 [dispatcher] + Capture function argument
7 years ago
Mehdi Bouaziz 7f3467b01d [dispatcher] Exact number of args
7 years ago
Jules Villard e993a4867d [debug] kill `Interproc.print_stats`
7 years ago
Jules Villard 6a8d71ad81 [style] s/_foo/foo_/ when `foo_` is not unused
7 years ago
Jeremy Dubreil 354b46f8ca [infer][nullable checker] no report for objects created by URLWithString:
7 years ago
Jeremy Dubreil a4428a4cae [infer][nullable checker] report an error when a nullable value is stored into an NSArray without being checked for null
7 years ago
Sam Blackshear 33450ab58b [cleanup] remove language from ProcAttributes
7 years ago
Sam Blackshear dbfbf9cf01 [racerd] make nontrivial domain types private
7 years ago
Sam Blackshear 181959216b [cleanup] remove harness-related code
7 years ago
Mehdi Bouaziz d26e227267 [c++] Procname dispatcher
7 years ago
Mehdi Bouaziz 55ff444a74 [inferbo] Sem.eval do not need a location
7 years ago
Jeremy Dubreil 956d6d0a1d [infer][nullable checker] better error messages for nullable violations involving Clang materialized variables
7 years ago
Sam Blackshear 8665386b8a [quandary] report USER_CONTROLLED_SQL_RISK on flows from endpoint -> SQL
7 years ago
Sam Blackshear eb0a457b02 [clang] translate TypeAliasDecl
7 years ago
Peter O'Hearn e7d9223597 [racerd] specialized error message for races involving litho components
7 years ago
Sam Blackshear d90bc24657 [clang] translate UsingDecl
7 years ago
Jules Villard 2ff05385dc [driver] do not run the analysis in Buck flavors sub-processes
7 years ago
Mehdi Bouaziz cdd3208cd6 [buck] Automatically filter target kinds on target patterns and aliases
7 years ago
Mehdi Bouaziz 262bb4171d [buck] Non compilation-database do not support _test targets
7 years ago
vsilyaev@broadcom.com f63f48a52e [infer][PR] Use SQLite in a way that is compatible with current state of WSL
7 years ago
Dulma Churchill 3382b1b88a [iOS] Make xcpretty integration not default anymore, given that it has problems
7 years ago
Sam Blackshear 97f3af15f3 [quandary] support multiple sanitizer kinds in C++
7 years ago
Jeremy Dubreil 1709db4089 [infer] always store the procedure description in the summary
7 years ago
Jeremy Dubreil 52dca67de9 [infer][eradicate] no longer modify the attributes in the summary
7 years ago
Sam Blackshear 2b0335f32b [quandary] track sanitizers applied in trace domain
7 years ago
Sam Blackshear faef207d62 [quandary] propagate taint across unary/binary operators
7 years ago
Sam Blackshear e2f38423e5 [cleanup] delete repeated calls checker
7 years ago
Dulma Churchill a1010fb9fc [linters] Ading predicate is_in_objc_class_named and make a verbose rule more targeted
7 years ago
Vivek Dhiman d8be5e0874 Added 'is_method_called_by_superclass'. A new predicate that checks if the caller name is super class in a 'method call'.
7 years ago