1042 Commits (b71521a90a04b103d397bcf16377a729e546b363)

Author SHA1 Message Date
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
Ezgi Çiçek 3fb1053b75 [hoisting] Invalidate arguments of type structs
6 years ago
Mehdi Bouaziz 141d0da672 Use the exceptional CFG to compute loop-heads
6 years ago
Sungkeun Cho 72ce05c039 [inferbo] Fix width of bool
6 years ago
Jules Villard 9aa5582caa [clang] leave markers of variable initialization for pulse
6 years ago
Josh Berdine 6a4d8b72f0 [doc] Fix some invalid/suspicious docstrings
6 years ago
Sungkeun Cho a2312462eb [inferbo] Use values of global constant variables in C
6 years ago
Sungkeun Cho e5ee023aa3 [infer] Add integral constant expression info
6 years ago
Sungkeun Cho f0fd0fd7ac [infer] Use inline record in Pvar
6 years ago
Jules Villard 52bcce29b5 [access expressions] force clients to normalize when introducing `Dereference` and `AddressOf`
6 years ago
Mehdi Bouaziz fd9f0e8101 IntLit: more types
6 years ago
Mehdi Bouaziz 18c45947da Logging.d_printf
6 years ago
Mehdi Bouaziz 1606b95f1b Logging: merge d_str_color with d_str
6 years ago
Mehdi Bouaziz b6323db37b Some pp functions
6 years ago
Sungkeun Cho 87dd2047ec [infer] Use big int in IntLit
6 years ago
Jules Villard 5c30ea1051 [debug] print full types in instructions on error
6 years ago
Mehdi Bouaziz 10804588b2 New function pointer preanalysis without recursion
6 years ago
Jules Villard 6d6ac1d368 [pulse] do not use access paths as they forget about &/*
6 years ago
Nikos Gorogiannis b0b8459c3a [racerd] detect ObjC "private" methods
6 years ago
Jeremy Dubreil bb5518b221 [infer] no need to store the procedure attributes for the Java methods
6 years ago
Nikos Gorogiannis 105b772cff [racerd] iOS first steps
6 years ago
Mehdi Bouaziz ecedb27d77 Add missing FB copyrights
6 years ago
Mehdi Bouaziz 2d4e58f57f Mangled.this/is_this
6 years ago
Sungkeun Cho cd1981a567 [inferbo] Change pp of BinaryOperationCondition
6 years ago
Jules Villard dd220a0fb4 [pulse] vector models
6 years ago
Sungkeun Cho fb4086c6f6 [inferbo] Add integer overflow issue type
6 years ago
Sungkeun Cho 1ae393dc76 [infer] Get widths of build-in integer types
6 years ago
Jules Villard 8360465284 [cfg] always store specialized proc desc CFGs
6 years ago
Mehdi Bouaziz d8ecfbfc4b Do not compare types of array elements in access paths and access expressions
6 years ago
Mehdi Bouaziz b3cef556b7 [debug] Print types in access paths/expressions in verbose mode
6 years ago
Mehdi Bouaziz a2230bca9d [debug] Print nodes using weak topological order
6 years ago
Mehdi Bouaziz 8ef9bf7641 Expose WTO in ProcCfg
6 years ago
Mehdi Bouaziz b324dbd8dd Use WTO to get loop heads
6 years ago
Mehdi Bouaziz 371e1267d9 [debug] Get rid of proof_cover/isproof
6 years ago
Josh Berdine e1d4aad487 [ocamlformat] upgrade ocamlformat to 0.8
6 years ago
Nikos Gorogiannis 9eecd1bb9b [racerd] reconcile java and clang report corellation code
6 years ago
Sungkeun Cho d94ba863c6 [infer] Add type in binary operator
6 years ago
Mehdi Bouaziz b90c2f3bfc [debug] Print proc attributes on the procedure page
6 years ago
Mehdi Bouaziz 15839539a7 Annot.Method: record rather than pair
6 years ago
Sungkeun Cho f4ee2a0234 [inferbo] Revise placement new model
6 years ago
Jules Villard 8c7bff0210 [proc-cfg][5/5] remove file-wide cfgs from the db
6 years ago
Jules Villard 2b30dec50a [proc-cfg][4/5] kill Cfg.load
6 years ago
Jules Villard 31e01a9aa0 [proc-cfg][3/5] stop caching whole-file cfgs in exe_env
6 years ago
Jules Villard 7615963bf4 [proc-cfg][2/5] fix duplicate symbols detection
6 years ago
Jules Villard 7e20c8d380 [proc-cfg][1/5] add per-procedure cfgs to the procedures table
6 years ago
Jules Villard b8240eadc1 [cfgs] only analyse *defined* procedures
6 years ago
Jules Villard 2a51bdabaf [cfgs] move specialize_* functions to another module to avoid circular dependencies
6 years ago