303 Commits (b71521a90a04b103d397bcf16377a729e546b363)

Author SHA1 Message Date
Jules Villard fcbcfc3913 [pulse][minor] easier-to-understand debug output
5 years ago
Nikos Gorogiannis 9dbe55c419 [java tracing] goodbye
5 years ago
Ezgi Çiçek 064e211e39 [inefficient-keyset] Add androidx.collections.SimpleArrayMap to eligible maps
5 years ago
Ezgi Çiçek 9882b37c6c [cost][inferbo] Add models for androidx.collection
5 years ago
Sungkeun Cho 96a8b1cf5a [cost] Add some cost models of IntHashMap
5 years ago
Sungkeun Cho c509f1c178 [cost] Add FB-specific cost models
5 years ago
Nikos Gorogiannis 5ad714be4b [concurrency] improve function for searching annotations
5 years ago
Nikos Gorogiannis 615100e55e [patternmatch] fix wrong regexp in getter detection
5 years ago
Nikos Gorogiannis 0eb1f92339 [starvation] make lock state a map from locks to lock counts
5 years ago
Sungkeun Cho 2d26236bed [infer] Eagerly try narrowing for the outermost loops
5 years ago
Sungkeun Cho 5303177a2d [inferbo] Symbolic value on functions returning only exception
5 years ago
Sungkeun Cho d55f5c02d5 [cost] Add modeled range
5 years ago
Sungkeun Cho 962e56cb1b [infer] Use typ instead of root_typ if possible
5 years ago
Sungkeun Cho a50fcaf2dd [infer] Use inline record for Sil.Load and Sil.Store
5 years ago
Jules Villard daf38c6d54 [summary] change `int ref` field in record to `mutable`
5 years ago
Jules Villard 73179f7182 [specs] put specs files operations in their own module
5 years ago
Phoebe Nichols 542dc9086a Remove optional caller_summary from Ondemand.analyze_proc_name
5 years ago
Phoebe Nichols a3eed439f6 Supply caller summary to Ondemand.analyze_proc_desc and Ondemand.analyze_proc_name
5 years ago
Phoebe Nichols d9535f42d5 Introduce method SummaryPayload.read_toplevel_procedure
5 years ago
Ezgi Çiçek 102018734f [inefficientKeysetIterator] Add missing type checks
5 years ago
Phoebe Nichols fa1bcbe12d Change ProcData to have a summary instead of a proc_desc
5 years ago
Jules Villard 007c044d92 [HIL] add warning about HIL unsoundness
5 years ago
Jules Villard c9f4768be7 [pulse] move to SIL
6 years ago
Ezgi Çiçek be85296759 [frontend] Move Preanalysis to frontend so that it is run always
6 years ago
Josh Berdine cfc1c8be36 [copyright] Remove years
6 years ago
Ezgi Çiçek 5b2a36409c [inferbo] Add models for org.json.JSONArray
6 years ago
Ezgi Çiçek 98ecc13a5e [inferbo,cost] Add models for java.util.Arrays and java.util.List
6 years ago
Mehdi Bouaziz ca28d07cfc [debug] Session kinds
6 years ago
Mehdi Bouaziz 0a5810c579 [NodePrinter] Force usage of with_session
6 years ago
Ezgi Çiçek c85563d606 [inferbo,cost] Add cost models for java.util.Collections
6 years ago
Mehdi Bouaziz 9d2e9102ad Simplify payloads with ppx_fields_conv
6 years ago
Jeremy Dubreil 8201bc1c4e [infer] add the Fragment from the androidx package to the hard copied lists
6 years ago
Jules Villard ac62b64009 [pulse][minor] improve debug html
6 years ago
Jules Villard 08fb93022f [ai] read proc_desc too
6 years ago
Jules Villard b665e1c575 [SIL][HIL] distinguish auxiliary instructions as `Metadata`
6 years ago
Josh Berdine 4acad5ca90 [ocamlformat] upgrade ocamlformat to 0.9
6 years ago
Jules Villard 4cdb65c237 [pulse] |- is now true only of isomorphic graphs
6 years ago
Jules Villard 3126c4f5c2 [pulse] remove last traces of join/widen
6 years ago
Jules Villard 4988523104 [AI] make join and widen use the same argument order
6 years ago
Jules Villard 2f09a38e24 [AI] refactor html debug and add convergence messages
6 years ago
Jules Villard a49645ed61 [AI][pulse] avoid revisiting disjuncts over and over again
6 years ago
Jules Villard 363d69430d [ai][pulse] use subgraph-based implication between states
6 years ago
Jules Villard a19db6605c [AI][pulse] lists of disjuncts instead of sets
6 years ago
Jules Villard c02edf85a9 [ai] remove option to join sometimes in disjunctive domain
6 years ago
Jules Villard 2037074ee3 [ai][trivial] flush less and stuff
6 years ago
Mehdi Bouaziz b48884bce7 [Cost] Traces for Top values
6 years ago
Mehdi Bouaziz f20e0737fd [inferbo] Extract abstract domain functor for 'set represented by its smallest element'
6 years ago
Mehdi Bouaziz 0185b76c3d Cost domain is not an abstract domain
6 years ago
Mehdi Bouaziz 24da12ca2e Top/BottomLiftedUtils
6 years ago
Mehdi Bouaziz 023d608530 [cost] Make it more Kind-generic
6 years ago
Mehdi Bouaziz 7c688583e0 [cost] Simplify & optimize NodesBasicCost
6 years ago
Mehdi Bouaziz 17fc4ca5cf [cost] Simplify & optimize exit cost + threshold
6 years ago
Nikos Gorogiannis 764e9ee1be [AI] empty is not (necessarily) bottom
6 years ago
Jules Villard 49ca4eeecd [HIL][disjunctive] allow underlying transfer function to return disjunctions
6 years ago
Mehdi Bouaziz 5d1a213f52 [Hil] Fix failure in exception node
6 years ago
Daiva Naudziuniene c09068e3bf [HIL] Preserve ExitScope location information in the translation from SIL
6 years ago
Mehdi Bouaziz b3c8d1dc67 [HIL] Fix ExitScope
6 years ago
Mehdi Bouaziz 03d3a85f45 Enforce physical equality for Maps
6 years ago
Mehdi Bouaziz 00b052826a [inferbo] Enforce physical equality for bottom lifted mem operations
6 years ago
Mehdi Bouaziz 4860ab39a1 Enforce physical equality for BottomLifted, TopLifted, Pair domains
6 years ago
Jules Villard 156f5946c2 [HIL][pulse] add disjunctive domain
6 years ago
Jules Villard 26d4a2d14f [HIL] simplify some functors around TransferFunctions
6 years ago
Mehdi Bouaziz ed82a0e572 [debug] LowerHIL: print id map
6 years ago
Jules Villard 1ee5877aa2 [HIL][3/4] remove compatibility AccessExpression.ml
6 years ago
Sungkeun Cho 98d05044fb [inferbo] Visit every nodes at narrowing
6 years ago
Nikos Gorogiannis abee2a5cb0 [AI] fix top interface
6 years ago
Jules Villard f3411a2203 [HIL] Add `ExitScope` instruction
6 years ago
Jules Villard e3b4a135ae [ai][pulse] fix minor html indentation issues
6 years ago
Nikos Gorogiannis 6aba4b7ca2 [AI] kill astate type
6 years ago
Mehdi Bouaziz 8240ca4430 More unicode fun: bottom & top
6 years ago
Mehdi Bouaziz a93e05e9fe [inferbo] AliasRet: use AbstractDomain.Flat
6 years ago
Nikos Gorogiannis 1121efbe59 [concurrency] refactor C++ models
6 years ago
Ezgi Çiçek 6683c71f8b [purity, hoisting] Add more purity models for fblite and instagram
6 years ago
Jules Villard 6f9028a77f [pulse] use WTO scheduler
6 years ago
Jules Villard c8aced1df1 [absint] separate id map bookkeeping from checker transfer functions in LowerHIL
6 years ago
Jules Villard 9a4155f4ef [absint] unify html debug for HIL and SIL
6 years ago
Jules Villard 52bcce29b5 [access expressions] force clients to normalize when introducing `Dereference` and `AddressOf`
6 years ago
Mehdi Bouaziz 18c45947da Logging.d_printf
6 years ago
Jules Villard 5c30ea1051 [debug] print full types in instructions on error
6 years ago
Sungkeun Cho 423b732cb4 [inferbo] Fix condition of narrowing termination
6 years ago
Mehdi Bouaziz 7fd21e056c [inferbo] Limit narrowing to 5 iterations
6 years ago
Sungkeun Cho fd3f298156 [inferbo] Add narrowing
6 years ago
Jules Villard a295d26f69 [pulse] do not propagate states with errors
6 years ago
Mehdi Bouaziz 2bb95e3da6 [AI][debug] Simplify output with phys_equal
6 years ago
Jules Villard d28d0528d1 [pulse] initial commit
6 years ago
Jules Villard 98f65298c5 [log] do not crash when logging errors
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 0d4c06efc5 WTO: use a partial ProcCfg
6 years ago
Jules Villard dd2b9675d6 [log] print only innermost source file context of crash
6 years ago
Mehdi Bouaziz b71af05f00 Stats: merge visited_fp and visited_re
6 years ago
Mehdi Bouaziz eca0b491d6 Weak Topological Order and Abstract Interpreter using it
6 years ago
Mehdi Bouaziz c9b89b54dd Preparing for WeakTopologicalOrder-based abstract interpreter
6 years ago
Mehdi Bouaziz 2be4710811 [AI] Enable debugging only based on --write-html
6 years ago
Sungkeun Cho 67d14d692e [infer] Avoid twice of xml escaping
6 years ago
Jeremy Dubreil 2f7e4563c6 [eradicate] also lookup the procedure attributes in the super class
6 years ago
Jeremy Dubreil ae1861ca42 [eradicate] match the number of parameters when iterating over the list of overridden methods
6 years ago
Jules Villard 5478f3be64 [log] source location info when dying in the backend
6 years ago
Mehdi Bouaziz 9608c4d340 PrintfArgs: removed unused fixed_pos
6 years ago
Ezgi Çiçek 15bdcca119 [Loop-hoisting] Add a new model for Javax's Provider.get() and make it invariant only
6 years ago
Nikos Gorogiannis 365ebd8873 [concurrency] split RacerD+starvation models into three modules
6 years ago
Ezgi Çiçek b2e7a785ba [Loop-hoisting] Add more models for invariant analysis
6 years ago
Josh Berdine 40ab73037e [ocamlformat] upgrade to ocamlformat 0.7
6 years ago
Ezgi Çiçek 49e582fa49 [Loop-hoisting] Add a new checker for hoisting invariant function calls
6 years ago
Mehdi Bouaziz 364099530e [inferbo] Retrieve callee_pdesc and payload at the same time
6 years ago
Mehdi Bouaziz 35848a5284 Move 4 eradicate files
6 years ago
Ezgi Çiçek bedf32bed5 [Cost, InferBo] generalize ArrayLists to Collections and Iterators
6 years ago
Jeremy Dubreil 59b7915177 [infer] rename the severity variants
6 years ago
Jules Villard b8c5dc84ba [absint] escape for xml when dumping info to html debug
6 years ago
Jeremy Dubreil 8a6aa4b1fd [infer] fix the internal confusion between the issue kind and the severity
6 years ago
Sungkeun Cho 9eca72d405 [Inferbo] Add relational domains
6 years ago
Sungkeun Cho 06a04ca9f5 Revert "[Inferbo] Add relational domain"
6 years ago
Sungkeun Cho 1f7a6e53fb [Inferbo] Add relational domain
6 years ago
Jeremy Dubreil 055a8267e8 [eradicate] promote reports as errors for generated GraphQL source of nulls
7 years ago
Jeremy Dubreil 90c08e4596 [eradicate] report as warnings by default
7 years ago
Jules Villard 710dae8ee4 [doc] add `make doc` target for building html API doc
7 years ago
Nikos Gorogiannis cacc975394 [starvation] implement SuppressLint
7 years ago
Mehdi Bouaziz 6861a2af15 Absint: add debugging for join and widen
7 years ago
Mehdi Bouaziz 69ead917c3 Instrs: Arrays and RevArrays only
7 years ago
Mehdi Bouaziz bfdc4b16a9 Typo
7 years ago
Mehdi Bouaziz 41a6480139 Instrs.single -> singleton
7 years ago
Mehdi Bouaziz 1b63cb42b7 [cost] Compute range using post state
7 years ago
Mehdi Bouaziz fc5c093d1e ProcCfg: do not include module Node
7 years ago
Jules Villard 8b882ac1df Change license to MIT
7 years ago
Mehdi Bouaziz 4927e31c2f Abstract type for list of instructions in node
7 years ago
Mehdi Bouaziz 3a41f50830 get_vararg_type_names: refactor to prepare for new instrs
7 years ago
Mehdi Bouaziz 42b3958a07 ProcCfg: fold on nodes only
7 years ago
Mehdi Bouaziz 342af52dce AbstractInterpreter: less garbage
7 years ago
Mehdi Bouaziz 0f8111d0d0 OneInstrPerNode: fix preds
7 years ago
Mehdi Bouaziz 1d62441918 Fix List.drop
7 years ago
Nikos Gorogiannis e36ca3d07f [starvation] explain why we think a method runs on the ui thread
7 years ago
Mehdi Bouaziz 6b88176189 fold_slope_range, java_get_vararg_values: got rid of refs
7 years ago
Sam Blackshear 370f5c80e6 [quandary] only treat overrides of service methods as endpoints
7 years ago
Mehdi Bouaziz 1898ef3a7a [Summary] Move payloads to a separate module
7 years ago
Mehdi Bouaziz 7f8511c2df [Summary] move Stats and Status to modules
7 years ago
Jose Blanco 6ca1b69b6f [infer][PR] fixed typos
7 years ago
Oliver Castillo fb4e7ee4a4 [infer][PR] Fix spelling errors
7 years ago
Jules Villard 3aa6fdf1ce [rename] specs -> summary, Summary -> SummaryPayload
7 years ago
Jules Villard dfe2ad5229 [camel] call `Format.pp_print_*` directly where appropriate
7 years ago
Jules Villard 902de9d6e3 [sil] make return value and type mandatory
7 years ago
Sam Blackshear bb2ff197b3 [absint] fix handling of exceptions
7 years ago
Sam Blackshear 6b8900746b [quandary] only treat overrides of service methods as endpoints
7 years ago
Jules Villard ce0ffaf877 [ocaml] detect and kill dead modules
7 years ago
Mehdi Bouaziz 7f1b4e0a2b InstrNode: abstract instruction index
7 years ago
Mehdi Bouaziz 094eb9dcc7 [Cost] Use OneInstrPerNode CFG
7 years ago
Mehdi Bouaziz 00d79ec839 Simplify abstract interpreter
7 years ago
Mehdi Bouaziz 722258d41b Real InstrNode
7 years ago
Josh Berdine 16988b0a7a [ocamlformat] Upgrade to ocamlformat 0.5
7 years ago
Mehdi Bouaziz 4aefa6f76b Debug: session name
7 years ago
Mehdi Bouaziz 66b3357479 Share ProcCfg.OneInstrPerNode(Normal)
7 years ago