1088 Commits (abc36fe97f4b27c75ce880a90e89e8f3810bff2f)

Author SHA1 Message Date
Mitya Lyubarskiy 73e78d9e20 [orchestration][refactoring] Introduce stronger contract for file-level callback
5 years ago
Nikos Gorogiannis e01311c431 [scheduler][callgraph] load graph directly from DB
5 years ago
Mitya Lyubarskiy d94b365b65 Add documentation and better naming around checker callbacks
5 years ago
Artem Pianykh 2572819a5b [nullsafe] Directly model nullability of values from third-party code
5 years ago
Artem Pianykh b50f13eb18 [nullsafe] Support Nullsafe(Local, trust=all/none) mode
5 years ago
Nikos Gorogiannis 43b3ef60f8 [db][procname] kill dead optional argument
5 years ago
Ezgi Çiçek ec950666a0 [infer] rely on driving for Procdesc.Node.equal_id
5 years ago
Nikos Gorogiannis 281385203f [biabduction] kill guarded by check
5 years ago
Nikos Gorogiannis c10c7a39a6 [java] use a package/classname record for java classes instead of string
5 years ago
David Pichardie 64289cde4d [Java frontend]Javalib's lambda rewritting is making his way through Infer
5 years ago
Nikos Gorogiannis ace23a1670 [java] use plain strings instead of mangled for JavaClassName
5 years ago
Dulma Churchill 00c52a52c2 [Infer] Dedup the reporting of Captured StrongSelf
5 years ago
Artem Pianykh 44f41d2929 [infer] Extend annotation framework to handle wider variety of param types
5 years ago
Jules Villard 2c5a297636 @allow-large-files [ocaml] upgrade core to v13
5 years ago
Jules Villard 66361961b6 [ocaml] more Not_found_s
5 years ago
Jules Villard a684a1edf0 [ocaml] preparations for core v13
5 years ago
Sungkeun Cho ca04002f6c [inferbo] Revise finding constructors on std::make_shared
5 years ago
Dulma Churchill a864823f38 [SelfInBlock] Fix a bug in exps_of_instr where some expressions were missed.
5 years ago
Dulma Churchill 682f8c5355 [SelfInBlock] Add the procname to the is_no_escape_block flag to improve the error message of the weakSelf In Noescape block check
5 years ago
Nikos Gorogiannis a6da208e9d [starvation] use access expressions instead of access paths
5 years ago
Sungkeun Cho 5510223850 [infer] Get rid of the is_cpp_nothrow field and is_cpp_noexcept_method
5 years ago
Jules Villard 81e3dc5069 [HIL] do not crash on confusing function call expressions
5 years ago
Sungkeun Cho f8ee0a14aa [inferbo] Give semantics of std::make_shared as simple constructor
5 years ago
Dulma Churchill 05ea5ec844 [clang frontend] Add support for the clang attribute NS_NOESCAPE for Objective-C blocks in Sil
5 years ago
Ezgi Çiçek 43a99745b6 [infer] Get rid of verbose Typ.mk Tvoid
5 years ago
Nikos Gorogiannis 07e91cabf7 [starvation] no inner class normalisation for java
5 years ago
Nikos Gorogiannis 72a7a0eaab [racerd] use typenames instead of strings in class map
5 years ago
Sungkeun Cho c93c3163d6 [inferbo] Get global constant array values from initializers
5 years ago
Nikos Gorogiannis 279f1c85ce [racerd] abbreviate procnames in report text
5 years ago
Ezgi Çiçek 5b86031798 [frontend] Move clang constants to Procname
5 years ago
Artem Pianykh 592c746e6b [java] Make override resolution consider parameter types
5 years ago
Nikos Gorogiannis a79a819679 [typ][javaclass] abstract typename
5 years ago
Nikos Gorogiannis b8d51b0493 [starvation] use root component in lock order
5 years ago
Sungkeun Cho 4ddf46268f [infer] Create missing result directories
5 years ago
Nikos Gorogiannis 91fa6a5404 [typ] extract Procname from Typ
5 years ago
Nikos Gorogiannis 33352623a5 [typ] extract Fieldname from Typ
5 years ago
Nikos Gorogiannis cef051dd1a [typ] extract Struct module
5 years ago
Jules Villard 65d0d18326 [SIL] splitting off biabd stuff from SIL
5 years ago
Jules Villard bc799fc6cd [IR] `PredSymb.dangling_kind option` can be replaced by `bool`
5 years ago
Jules Villard 6c988160c1 [IR] kill unused `Sil.hpred` payload
5 years ago
Jules Villard 0cab96b43e [SIL] move some stuff to Pvar
5 years ago
Jules Villard 30b74413a5 [SIL] move some printing stuff to Exp
5 years ago
Jules Villard a6c8e7c98e [pp] move utility function from Sil to Pp
5 years ago
Radu Grigore 7bfef217de [biabduction] Simplify postconditions after re-execution.
5 years ago
Mitya Lyubarskiy 9285c51dfa [nullsafe] Enum values can be used as non-null without strictification
5 years ago
Nikos Gorogiannis e42bd8cd6c [typ][fieldname] further reduce and improve interface
5 years ago
Nikos Gorogiannis 59a95b316c [typ][fieldname] simplify and streamline interface
5 years ago
Nikos Gorogiannis c45b55bff1 [typ][fieldname] unify clang and java fieldname types
5 years ago
Nikos Gorogiannis 2c44035297 [typ][fieldname] eliminate uses of Java.from_string
5 years ago
Sungkeun Cho bc5f740945 [infer] make deadcode is back
5 years ago
Sungkeun Cho 1f64acf3de [litho] Moved is_build_called and added is_return_called
5 years ago
Nikos Gorogiannis ce39017611 [typ][fieldname] make java representation more sharing friendly and typesafe
5 years ago
Jules Villard 1bde1ef0f0 [pulse] use inferbo's prune in `PRUNE` nodes
5 years ago
Sungkeun Cho 2835468df9 [litho] Add substitution at function calls
5 years ago
Jules Villard 17bef4bd31 [SIL][trivial] rename `text` -> `to_string` and delete useless comments
5 years ago
Josh Berdine 3c6e2469de [ocamlformat] Enable parsing and reformatting docstrings
5 years ago
Nikos Gorogiannis aef34d8384 [starvation][whole-program] analyze constructors for initial attribute state
5 years ago
Ezgi Çiçek fb56f42716 [infer] Rename value to arg_payload in ProcnameDispatcher.Call.FuncArg
5 years ago
Ezgi Çiçek eb8c8af117 [pulse] Move models to ProcnameDispatcher style
5 years ago
Sungkeun Cho b15395ad60 [infer] Remove marker from procname dispatcher
5 years ago
Ezgi Çiçek 3d181bd831 [infer] Polymorphic value type for `FuncArg`
5 years ago
Ezgi Çiçek 3792b9b17a [infer] Record the value of function arguments in ProcnameDispatcher calls
5 years ago
Nikos Gorogiannis 20a7e9d75b [starvation][whole-program] add a bit of typestate/dataflow
5 years ago
Sungkeun Cho 6885fb4256 [infer] Distinguish dummy struct types from normal ones when merging tenv
5 years ago
Jules Villard b3d0461317 [IR] kill PredSymb.func_attribute by moving sentinel attrs to its own ProcAttribute field
5 years ago
Jules Villard a9df6a917f [IR] kill never-true "no_return" flag of Tfun type desc
5 years ago
Jules Villard 997948914f [IR] remove dead no_return CallFlag
5 years ago
Jules Villard d79bd90b81 [pdesc] new pre-analysis to diverge after "noreturn" function calls
5 years ago
Jules Villard 78a33acb77 [cfg] run pre-analysis lazily in ondemand
5 years ago
Sungkeun Cho b1698ab0ea [inferbo] Get static value of EMPTY from class initializer in Java
5 years ago
Jules Villard 8289c7e7c7 [dot] move "dot" render of biabduction specs
5 years ago
Jules Villard b03ca78bf3 [pdesc][refactor] ability to set normal and exceptional succs independently
5 years ago
Jules Villard 6ecf4066e8 [pulse] model std::integral_constant
5 years ago
Dulma Churchill bf581e0b72 [self in block] Add a check for strongSelf not checked for null
5 years ago
Josh Berdine 8d20e4d64d [ocamlformat] Upgrade ocamlformat version
5 years ago
Sungkeun Cho 773766e3f7 [inferbo] Function call of Java enum values in class initializer
5 years ago
Mitya Lyubarskiy 027ff479d1 [nullsafe] 3rd party annotations from the repo are respected in nullsafe
5 years ago
Dulma Churchill 43823266ec [self in block] Add a new checker to detect correct uses of when ObjC blocks capture self.
5 years ago
Mitya Lyubarskiy 0c3e568fa4 [Pp] Rename Pp.to_string
5 years ago
Nikos Gorogiannis d154415cd0 [starvation] add path sensitivity restricted to thread status
5 years ago
Jules Villard 2e4fbb7fe5 [pulse] intervals!
5 years ago
Nikos Gorogiannis e9b0ca9ce4 [AI] rename Domain.( <= ) to Domain.leq
5 years ago
Sungkeun Cho 96668ed7d8 [cost] Fix function name matching
5 years ago
Jules Villard b818102bad [pvar] simplified names for generated variables
5 years ago
Nikos Gorogiannis 9dbe55c419 [java tracing] goodbye
5 years ago
Sungkeun Cho c509f1c178 [cost] Add FB-specific cost models
5 years ago
Sungkeun Cho dda1486a67 [inferbo] Introduce inequality for size alias target
5 years ago
Ezgi Çiçek 8c1fdab0a8 [java] Enhance annotation parsing with the ability to pick up parameter names
5 years ago
Jules Villard c19d9254b4 [typ] make use of pretty printers instead of strings
5 years ago
Jules Villard 088b083d87 [typ] prefer pretty printing to string building
5 years ago
Mitya Lyubarskiy fc651cb876 [nullsafe] Remove deadcode
5 years ago
Sungkeun Cho 962e56cb1b [infer] Use typ instead of root_typ if possible
5 years ago
Sungkeun Cho 3916d1b3bc [infer] Add type field in Sil.Store
5 years ago
Dulma Churchill 27ea5d041b [biabduction] Rename use_after_free to avoid name clash with Pulse
5 years ago
Sungkeun Cho 3250ff35d2 [infer] Add typ field in Sil.Load
5 years ago
Sungkeun Cho a50fcaf2dd [infer] Use inline record for Sil.Load and Sil.Store
5 years ago
Sungkeun Cho 78cfc867a5 [inferbo] Print non-verbose program variables
5 years ago
Nikos Gorogiannis b8954e714e [sqlite] write-server implementation
5 years ago
Nikos Gorogiannis 83aea33c68 [sqlite] move all writes to one module
5 years ago
Mitya Lyubarskiy 356ec9afe5 [easy] make method with side-effects looks like it has side-effects
5 years ago
Nikos Gorogiannis ccc7dcbc1e [racerd] use access expressions in place of paths
5 years ago
Jules Villard 41c003ace1 [biabd] rename models-related things to "biabduction-..."
5 years ago
Sungkeun Cho a3229fc43a [inferbo] Suppress intended integer underflow of unsigned integer
5 years ago
Jules Villard 128f37985d [ocaml] upgrade most dependencies
5 years ago
Martin Trojer 124036ea0b New faster version of Diff/Test-Determinator
5 years ago
Nikos Gorogiannis ae4f7561b3 [hil] class constant types
5 years ago
Jules Villard 7f12ced394 [pulse] move to SIL proper
6 years ago
Radu Grigore 10d87eec4e [topl] Simple error reporting.
6 years ago
Mehdi Bouaziz 0efd8960e1 [Tenv] Maximum sharing
6 years ago
Radu Grigore 384b3c5798 Assert that there is at most one flowgraph per procedure name.
6 years ago
Mehdi Bouaziz 5f8514a8c2 [sqlite] Normalize blobs used for comparison
6 years ago
Jules Villard 04233ee49b [clang] destroy C++ temporaries
6 years ago
Jules Villard 0592bac25e [pulse] explain SIL logical variables in terms of program access paths
6 years ago
Jules Villard c9f4768be7 [pulse] move to SIL
6 years ago
Ezgi Çiçek fedb8e5136 [infer] Cleanup preanalysis
6 years ago
Nikos Gorogiannis 013d153538 [buck/java2] hashcons the global tenv during merging
6 years ago
Jules Villard db800f138b [clang] rewrite scope computations
6 years ago
Jules Villard eaa5c32432 [clang] some more debug info
6 years ago
Jules Villard 696731523d [pname dispatcher] more permissive templated function match
6 years ago
Josh Berdine cfc1c8be36 [copyright] Remove years
6 years ago
Ezgi Çiçek d2eb3c8cc6 [inefficient-keyset-iterator] New checker for finding inefficient keySet iterator
6 years ago
Radu Grigore d86e2f0d1c [topl] Generate monitor.
6 years ago
Radu Grigore 047c64c528 [topl] Instrument SIL.
6 years ago
Ezgi Çiçek 99bc7363bf [cost] Suppress reports on Java access methods
6 years ago
Nikos Gorogiannis bc61543875 [buckjava2] refactor
6 years ago
Radu Grigore 3cf774a142 Fixed typos in comments.
6 years ago
Jules Villard d586630edf [pules] do not print templated part of function names
6 years ago
Jules Villard 5de9bc29d2 [pulse] better error messages
6 years ago
Jules Villard b700af9ffb [hil] do not put parens around trivial expressions
6 years ago
Martin Trojer e7ad99eed0 Using DB to store modified functions
6 years ago
Nikos Gorogiannis 7106de35a3 [issuelogs] less imperative
6 years ago
Nikos Gorogiannis d082f36448 [sqlite] calls in the db
6 years ago
Nikos Gorogiannis 8450ac36d8 [trivial] procname should implement Hashable
6 years ago
Jeremy Dubreil 95ddfd04ca Revert "[topl] Synthesize trivial procedures."
6 years ago
Mehdi Bouaziz 2a0ec8c0db Fix infer explore --source-files-procedure-names
6 years ago
Radu Grigore 86aae0b8ed [topl] Synthesize trivial procedures.
6 years ago
Jules Villard 1e3fafb558 [report] avoid embarrassing "object `null` could be null" message
6 years ago
Jules Villard 95132bc3f0 [report] restore missing "could be null and is dereferenced" message for nullable dereference
6 years ago
Jules Villard b5589661ce [pulse] improve error messages and traces
6 years ago
Jules Villard ada032ee2c [pulse] improve error messages and traces
6 years ago
Jules Villard 53b1577b4c [pulse][interproc 3/3] interproc call
6 years ago
Jules Villard 686231ec6e [SIL] change `variable_initialization()` builtin to a new auxiliary instruction
6 years ago
Jules Villard 2151be9c25 [issues] do not dedup issues when `Config.filtering` is unset
6 years ago
Jules Villard ebe5028ca1 [SIL] add `Skip` metadata instruction
6 years ago
Jules Villard b665e1c575 [SIL][HIL] distinguish auxiliary instructions as `Metadata`
6 years ago
David Lively 5d4a27ea54 RFC: stop using _ to separate ObjC/C++ class name from method in Typ.Procname.to_string
6 years ago
Josh Berdine 4acad5ca90 [ocamlformat] upgrade ocamlformat to 0.9
6 years ago
Sungkeun Cho a46130655e [inferbo] Address __return_param on function calls
6 years ago
Jules Villard c3cadace86 [SIL][3/3] add CallFlag for synthetised destructor calls
6 years ago
Jules Villard a36db66940 [SIL][2/3] print all the CallFlags
6 years ago
Jules Villard be61022bff [SIL][1/3] delete never produced cf_targets CallFlag
6 years ago
Jules Villard c4c66b76f5 [HIL] change `address_of` to return option type
6 years ago
Jules Villard 4c4bb84e2c [liveness] blacklist of dangerous classes
6 years ago
Mehdi Bouaziz 620099113d Fix some comments
6 years ago
Martin Trojer 9cce84ac6c dont report biabduction NPE's on tmp variables
6 years ago
Jeremy Dubreil 40ead0ac3d [infer] remove the visibility field from the Infer JSON report
6 years ago
Nikos Gorogiannis 2ee8ab2990 [class-loads] catch expressions
6 years ago
Nikos Gorogiannis 3f9eb37246 [classloads] casts and instanceof
6 years ago
Nikos Gorogiannis 89e396571d [classloads] treat loads and stores wrt to field derefs
6 years ago
Nikos Gorogiannis 5686d67072 [classloads] fix treatment of static initializers
6 years ago
Sungkeun Cho 58cdefc118 [inferbo] Add strlen model
6 years ago
Jules Villard 16c0c03050 resource leaks tutorial
6 years ago
Nikos Gorogiannis 7bbb7fc869 [clang][objcpp] register exported methods and treat them as private in RacerD
6 years ago
Sungkeun Cho 05ceaebb7d [inferbo] Add model of String::operator==
6 years ago
Sungkeun Cho 0e5a902ac6 [inferbo] Add model of String::length
6 years ago
Mehdi Bouaziz 5df11674dc Io_infer.with_color
6 years ago
Mehdi Bouaziz 1fa459967b Prune_node_kind: sum type rather than string
6 years ago
Mehdi Bouaziz 39207a644d HTML Printer: simplify start node & other things
6 years ago
Mehdi Bouaziz e53d3b990b Logging: higher-order color wrapper
6 years ago
Mehdi Bouaziz 908e1ab3ed Logging: Simplify d_instrs
6 years ago
Jules Villard 4c1ee2a485 [pulse] add traces to the domain
6 years ago
Sungkeun Cho 196a602c25 [inferbo] Add model of basic_string
6 years ago
Daiva Naudziuniene c09068e3bf [HIL] Preserve ExitScope location information in the translation from SIL
6 years ago
Nikos Gorogiannis b50f56de16 [racerd] properly recognize all non-source variables
6 years ago
Jules Villard 1b79f13a18 [ownership] make heuristic for reporting on lambdas more shareable
6 years ago
Nikos Gorogiannis a3f4bb01f4 [starvation] fix type bug occurring in class references
6 years ago
Mehdi Bouaziz b3c8d1dc67 [HIL] Fix ExitScope
6 years ago
Nikos Gorogiannis 8d855bdcdb [access paths] do not print class name of Java fields
6 years ago
Mehdi Bouaziz 52e09aed13 [inferbo] Move get_formals from Domain to Procdesc
6 years ago
Jules Villard d9a014f71b [pulse] take array indices into account
6 years ago
Nikos Gorogiannis fc80179394 [starvation] use compare ppx
6 years ago
Jules Villard 95fab102bf [pulse] do not destroy `this` even if asked to
6 years ago
Jules Villard 92c06e4f1f [HIL][4/4] array offsets are now HilExp.t
6 years ago
Jules Villard 1ee5877aa2 [HIL][3/4] remove compatibility AccessExpression.ml
6 years ago
Jules Villard d59e6ac1bf [HIL][2/4] move AccessExpression into HilExp
6 years ago
Jules Villard c89f7dc6ae [HIL][1/4] make `Access.t` polymorphic in the array access
6 years ago
Nikos Gorogiannis 31653ca6c3 [racerd] more precise trace expansion
6 years ago
Jules Villard 1c668c4d41 [SIL][preanalysis] add call flag for functions treating first formal as return
6 years ago
Jules Villard f3411a2203 [HIL] Add `ExitScope` instruction
6 years ago
Jules Villard 55586b581b [preanalysis] do not delay killing variables taken by reference
6 years ago
Sungkeun Cho 5f925869b6 [infer] Translate more casts (unsigned int)
6 years ago
Sungkeun Cho 442fecc030 [inferbo] Fix performance of issue deduplication
6 years ago
Mehdi Bouaziz 8abe07ba20 [html debug] Cleanup unused CSS classes + use UTF-8
6 years ago
Sungkeun Cho 1486a5f105 [infer] Translate casting expressions of integer pointers
6 years ago
Nikos Gorogiannis 3b5262f185 [racerd] refactor method matching for all languages
6 years ago
Jules Villard 646aa30797 [cfg] print dotty *after* pre-analysis
6 years ago
Mehdi Bouaziz 4a4e8c6e1b concat_traces: always print labels
6 years ago
Mehdi Bouaziz ed25b70ff2 RacerD: use concat_traces
6 years ago
Mehdi Bouaziz efcfea5454 First step for multiple traces
6 years ago
Ezgi Çiçek 6683c71f8b [purity, hoisting] Add more purity models for fblite and instagram
6 years ago