748 Commits (91f115fcaa3eadaa616b47152eacdcd1e8023ce8)

Author SHA1 Message Date
Mehdi Bouaziz 256b74b289 proc_inline_synthetic_methods: got rid of refs
7 years ago
Dulma Churchill 6ad971c875 [clang] Refactor building method signatures
7 years ago
Mehdi Bouaziz c841bf262a Preanal: append_instrs once per node
7 years ago
Mehdi Bouaziz c84bf5959b mk_find_duplicate_nodes: better code
7 years ago
Mehdi Bouaziz eaf4490670 Preanal: reduce garbage
7 years ago
Mehdi Bouaziz a4098f2499 Procdesc.fold_nodes: do not rev
7 years ago
Jules Villard fecabb3bf3 [siof] do not report on standard streams
7 years ago
Daiva Naudziuniene 8a6aa92fb1 [HIL] Fix type of array element
7 years ago
Mehdi Bouaziz 0ba993fb68 Procdesc.specialize_type_proc: fold -> filter_map
7 years ago
Mehdi Bouaziz 6b88176189 fold_slope_range, java_get_vararg_values: got rid of refs
7 years ago
Sam Blackshear 9ca945aa2f [ownership] warn when returning references to borrowed values
7 years ago
Daiva Naudziuniene 8ccf4897dd [uninit] Use access expressions
7 years ago
Jules Villard 92c129dc4e [cfg] rename `Cfg.is_proc_cfg_connected` to `Procdesc.is_connected`
7 years ago
Sam Blackshear 5ed2016899 [clang] basic support for exceptional control-flow
7 years ago
Daiva Naudziuniene 4e821129a4 [cfg] Log if the cfg is broken for a join node or not
7 years ago
Oliver Castillo fb4e7ee4a4 [infer][PR] Fix spelling errors
7 years ago
Jules Villard 766a16cd90 [clang] enforce that `instruction` always returns one SIL expression
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
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
Nikos Gorogiannis 538bcd9135 [starvation] store issues to issue-logs like linters do
7 years ago
Dulma Churchill 4a2174a322 Revert "[clang] Make the frontend with compilation database fail with compilation errors"
7 years ago
Dulma Churchill 96e5a976c4 [clang] Make the frontend with compilation database fail with compilation errors
7 years ago
Nikos Gorogiannis 9a2c494454 [infer] refactor LintIssues for general use.
7 years ago
Jules Villard 902de9d6e3 [sil] make return value and type mandatory
7 years ago
Daiva Naudziuniene f57e62f205 [cfg] Allow between-join-exit nodes in cfg
7 years ago
Sam Blackshear fe610330bf [clang] remove is_generic_model boolean from procnames
7 years ago
Jules Villard 4b4517e8ec [clang] call a skip function in case of unimplemented feature
7 years ago
Jules Villard ce0ffaf877 [ocaml] detect and kill dead modules
7 years ago
Frédéric Bour 8069559bd8 [sqlite] infer explore --source-files
7 years ago
Mehdi Bouaziz 722258d41b Real InstrNode
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
Dulma Churchill 28200b87d7 [objc blocks] Specialize store instructions with current closure in methods specialized with blocks as arguments
7 years ago
Ezgi Çiçek 8f0701a01c Refine dependency analysis to remove vars at prune exit nodes
7 years ago
Nikos Gorogiannis 7a9009e467 [starvation] Catch CountDownLatch.await calls on main thread
7 years ago
Nikos Gorogiannis b6c8766b11 [starvation] report binder calls on ui thread
7 years ago
Josh Berdine 16988b0a7a [ocamlformat] Upgrade to ocamlformat 0.5
7 years ago
Ezgi Çiçek 523c2f539b change clang translation to track if_kind (i.e. the type of prune node)
7 years ago
Sam Blackshear ce8f958522 [racerd] don't report INTERFACE_NOT_THREAD_SAFE if the receiver of the interface call is marked `ThreadConfined`
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
Ezgi Çiçek af5265f75d "Report infinity as error per function"
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
Sam Blackshear 3e6bd7f063 [clang] log broken CFGs
7 years ago
Mehdi Bouaziz 2f57b094e9 Java split name as an abstract type
7 years ago
Jules Villard 80d83c2eea [istd] `Format.pp_print_string` is a thing, use it
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
Daiva Naudziuniene 681f2a56ab [HIL] Explicit dereference
7 years ago
Dulma Churchill 927e2049c3 [backend] Add getter/setter execution to the trace
7 years ago
Jules Villard 6f187a954c base and IR build separately, biabduction/ directory
7 years ago
Jules Villard 84d3144c98 [istd] break IStd.ml into sensible components
7 years ago
Jules Villard 57900b11ae [istd] no need to re-implement List.fold_until
7 years ago
Jules Villard 1f04a5eda0 [IList] move to base/ and use Core
7 years ago
Jeremy Dubreil 7851ae0389 [infer] remove the concept of advice which does not seem to be used
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
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 2916c97e0a [easy] Java nits
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
Dulma Churchill 0bc4df4b42 [retain cycles] Report cycles after assignment and method call
7 years ago
Sam Blackshear 6976181b77 [ownership] special-case frontend-generated inner destructors.
7 years ago
Sam Blackshear 89a6d7e20d [racerd] don't report races in third-party code
7 years ago
Nikos Gorogiannis 3bcfbd6a64 [deadlock] abstract domain
7 years ago
Mehdi Bouaziz 279e7d67f0 More inline records
7 years ago
Varun Arora 77e643ee1e combine ocaml_pos and ml_loc
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 ae8067ea1a [clang] Set up the objc accessor flags correctly in case property is defined in protocol
7 years ago
Dulma Churchill eef8774aa2 [clang] Restore the debug tenv file for the clang frontend
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
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
Sam Blackshear e687ef40b3 [dead stores] report on dead stores to values captured by value in a lambda
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
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
Jules Villard 4c002f0c98 [sqlite] migrate tenv to sqlite
7 years ago
Sam Blackshear dedabf71e2 [liveness] don't report on dead stores of variables captured by reference in a lambda
7 years ago
Josh Berdine 3534838b73 [ocamlformat] Upgrade to ocamlformat 0.4
7 years ago
Sungkeun Cho 373e6b39cc [infer] Use inline record for Typ.Tarray
7 years ago
Sungkeun Cho 077d2ae2f5 [infer] Disable sorting fields
7 years ago
Sam Blackshear 84e159f74d [hil] make get_access_paths understand closures/capture
7 years ago
Jules Villard d3f3386c9e [wibble] rename `Ident{Set,Map,Hash}` -> `{Set,Map,Hash}`
7 years ago
Sam Blackshear d76d20a9ca [ownership] prototype of ownership analysis for tracking reads/moves
7 years ago
Daiva Naudziuniene 5ebc6562ee [HIL] AccessExpression on the left hand side of assignment
7 years ago
Daiva Naudziuniene 896e849bfc [HIL] Access expression
7 years ago
Sam Blackshear 1a75ec9cf8 [cleanup] Move ObjC/C++-specific Procname functions to dedicated module
7 years ago
Sam Blackshear b4d046a290 [cleanup] delete tags that are added but never read
7 years ago
Sam Blackshear a4078b43ee [cleanup] Remove Tags from JSON
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
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
Jules Villard 70c2a50b4e [db] record symbolic capture timestamps for source files
7 years ago
Varun Arora cbe6ea4456 [reporting] Added logging of procedures analysis stats to backend
7 years ago
Dulma Churchill 8a9fcdc43f [retain cycles] Find cycles about blocks
7 years ago
Sam Blackshear 80b3d080ce [cleanup] sunset Context leaks
7 years ago
Jules Villard 4a71067c68 [tests] kill some new dead code
7 years ago
Jules Villard 58e0cbe6ee [base] move `Config.language` to its own `Language` module
7 years ago
Jules Villard 7396a613bb [tenv] change interface to take `SourceFile.t` instead of `DB.filename`
7 years ago
Jules Villard daa5154399 [capture] get rid of call graphs
7 years ago
Jules Villard 1d3e0741ac [cfg] get defined procs of file from cfg db
7 years ago
Sam Blackshear 4545f36875 [litho] prototype of required `@Prop` checker
7 years ago
Sam Blackshear f7c415f7ae [cleanup] restrict Java-specific utility functions to Typ.Procname.Java.t's
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
Mehdi Bouaziz 7b3bf7b4b5 [dispatcher] Match all suffixes
7 years ago
Jules Villard 4b1a7b1771 [cleanup] remove dead code
7 years ago
Radu Grigore eb91d59e40 [infer][PR] Fixed namespace for Java globals.
7 years ago
Jules Villard 8fe2d793b9 [db] name tables with respect to their keys
7 years ago
Dulma Churchill 66b1956e9a [debug] Adding the captured variable to the printing of the closures
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 54c1976945 [sqlite] reset prepared statement eagerly
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 c6a6087ed1 [infer][IR] factor the test for pointer type
7 years ago
Josh Berdine 63439ecc02 [ocamlformat] Upgrade base and ocamlformat
7 years ago
Mehdi Bouaziz 3fc41af811 [inferbo] Model for folly::split
7 years ago
Sam Blackshear afb04cf459 [thread-safety][experimental] switch access path may-alias condition to syntactic equality
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
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
Jeremy Dubreil 1f6d73269e [infer] simplify the API to report errors
7 years ago
Sam Blackshear 32675a7b02 [quandary] improve curl_easy_setopt sink
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
Dulma Churchill d7dc9b38f7 [retain cycles] Refactoring of computing cycles using dedicated data structure
7 years ago
Josh Berdine 22ec29fabc [racerd] Report only once per unique pair of final trace locations
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
Dulma Churchill ed740600de [cleanup] Remove hidden field and related code that is not used anymore.
7 years ago
Dulma Churchill 1d0b6050a6 [retain cycle] Move the code about retain cycle detection to a dedicated module
7 years ago
Jeremy Dubreil 297195bb3c [infer] move the AccessPath module under the IR subdirectory
7 years ago
Dulma Churchill 71fde88950 [IR] Adding support for variable attributes, adding __block for ObjC variables
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
Josh Berdine 63183f94f1 [racerd] Delay issue deduplication to differential reporting
7 years ago
Mehdi Bouaziz 73906d537d [dispatcher] Typename dispatcher
7 years ago
Dulma Churchill 68beca1523 [objc] Refactor modeling of CoreFoundation and CoreGraphics libraries
7 years ago
Jeremy Dubreil c195e67dfe [infer] remove the utility functions to export debug information in LaTeX
7 years ago
Dulma Churchill 45df254a99 [infer][PR] [C/C++] Encode filename into the Procname of global initializers
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 6a8d71ad81 [style] s/_foo/foo_/ when `foo_` is not unused
7 years ago
Sam Blackshear 33450ab58b [cleanup] remove language from ProcAttributes
7 years ago
Mehdi Bouaziz d26e227267 [c++] Procname dispatcher
7 years ago
Jeremy Dubreil 1709db4089 [infer] always store the procedure description in the summary
7 years ago
Jules Villard 5867c598f4 [cfg] unbox the type
7 years ago
Jules Villard 45d5d878cf [cfg] minor renamings
7 years ago
Dulma Churchill b9a56a6c52 [clang] Specialize also c functions with blocks as parameters
7 years ago
Daiva Naudziuniene 6e31e691c0 [HIL] Do not drop right-hand HIL expression in the translation for SIL.
7 years ago
Josh Berdine f62ab09e61 [ocamlformat] Upgrade ocamlformat to v0.2 from opam
7 years ago
Dulma Churchill 794c8677fd [clang] Executing methods with blocks as parameters by instantiating the parameters with current blocks
7 years ago
Josh Berdine 2defebe9e7 [lock-consistency] Skip prefixes of blacklist entries
7 years ago
Dulma Churchill acd68a00d1 [IR] Refactor away a function for converting cfg nodes given a function for converting instructions
7 years ago
Dulma Churchill 718747e39c [clang] Add new procname type for specializing methods with block parameters
7 years ago
Dulma Churchill 5902f6363b [objc] Add a new call flag for calls with objc blocks as parameters
7 years ago
Daiva Naudziuniene bb90c94939 [LockConsistency] Checking for both type ObjC_Cpp and C to include c-style functions.
7 years ago
Mehdi Bouaziz eb33fb7a97 [inferbo] Use a dispatcher for models
7 years ago
Martino Luca 259beab26a [Infer] Refactor sqlite-related code into its own module
7 years ago
Dino Distefano c98570f899 do not report on captured vars in objc blocks
7 years ago
Mehdi Bouaziz 6047264e4a [bug hash] Attempt for a better hash
7 years ago
Dulma Churchill 3799dfa4bb [dead store objc] Do not report dead store in a captured variable of an objc block
7 years ago
Sam Blackshear fe89c5688c [build] add missing `Typ.void_star` type
7 years ago
Sam Blackshear 9bafbe0e1e [hil] don't move reads/writes outside of a critical section
7 years ago
Sam Blackshear 5e9e96a342 [hil] don't crash on deref of magic address
7 years ago
Sam Blackshear b67a82636c [cleanup] delete unused lock builtins
7 years ago
Jeremy Dubreil 55c585e1e0 [infer][biabduction] remove the bi-abduction based check for uninitialized values
7 years ago
Josh Berdine c1e742536d [frontend][c++] Translate pointer-to-member expressions
7 years ago
Dulma Churchill 01219a0298 [cleanup] Remove the retain count implementation from ObjC that is unused.
7 years ago
Josh Berdine f89e687efa [ocamlformat] Use ocamlformat from github
7 years ago
Dulma Churchill a969b5d188 [cleanup] Remove unused code for finding correct fields in Objective-C
7 years ago
Jeremy Dubreil 171145603e [infer][checkers] specify the dynamic dispatch handling policy on a per-checker basis.
7 years ago
Jeremy Dubreil 1a3942a903 [infer][biabduction] clear the error log when creating a specialized clone of a method
7 years ago
Josh Berdine 2cb2963641 [thread-safety][c++] Optimize access list map quotienting
7 years ago
Mehdi Bouaziz a1451c5a3a pp_instr_list should end with ;
7 years ago
Mehdi Bouaziz 6c39c2ccd3 Fix pp_instr_list nontailrecursiveness
7 years ago
Josh Berdine e9cd0872ed [thread-safety][c++] Do not quotient by may_alias when analyzing non-Java code
7 years ago
Mehdi Bouaziz eff7bb5bdf [inferbo] Replace buckets with issue types
7 years ago
Mehdi Bouaziz 4873e78440 Buckets comments and cosmetics
7 years ago
Dulma Churchill 85e4707d00 [backend] When adding a new field to the tenv, sort the list of fields
7 years ago
Jules Villard 94e7a7b141 [siof] one access per sink, better report deduplication
7 years ago
Jules Villard 8012d61b0f [sql] do not generate the source file for attribute store if they are no-op
7 years ago
Jules Villard ee1b688e6d [sql] let sqlite handle the attributes update logic
7 years ago
Jules Villard b00451d23e [sql] Cache key blobs
7 years ago
Jules Villard 2adf654950 [sql] add proc attributes DB
7 years ago