303 Commits (b71521a90a04b103d397bcf16377a729e546b363)

Author SHA1 Message Date
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
Mehdi Bouaziz 594ddab2a5 Share NodeId Sets and Maps
7 years ago
Jules Villard a21644685f [dune] let dune generate .merlin files
7 years ago
Jeremy Dubreil 7851ae0389 [infer] remove the concept of advice which does not seem to be used
7 years ago
Sam Blackshear 6d46b0c7be [cleanup] stop printing `&`'s on `Var.t`'s
7 years ago
Mehdi Bouaziz 1db6e0c2c6 [easy] Labels for Procdesc.fold_nodes/instrs
7 years ago
Nikos Gorogiannis fe43dc2080 [deadlock] analysis and reporting
7 years ago
Nikos Gorogiannis 3bcfbd6a64 [deadlock] abstract domain
7 years ago
Daiva Naudziuniene 4157ba820a [HIL] Implicit dereference in access expression
7 years ago
Sam Blackshear ddc354df39 [IR] utility function for detecting when Var appears in source code
7 years ago
Josh Berdine 3534838b73 [ocamlformat] Upgrade to ocamlformat 0.4
7 years ago
Nikos Gorogiannis c34ff07375 [racerd] fix lock count treatment at method calls
7 years ago
Jules Villard d3f3386c9e [wibble] rename `Ident{Set,Map,Hash}` -> `{Set,Map,Hash}`
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
Jeremy Dubreil 5ed234ccd0 [infer][checkers] remove leftover debugging code
7 years ago
Sam Blackshear 584b10647d [racerd] new lock domain
7 years ago
Jules Villard ec118e62a7 [cleanup] make caller pdesc an optional argument of `Ondemand.analyze_proc_desc`
7 years ago
Sam Blackshear 04d2882a6b [cleanup] organize Java-specific functions on types
7 years ago
Jules Villard 4b1a7b1771 [cleanup] remove dead code
7 years ago
Josh Berdine 63439ecc02 [ocamlformat] Upgrade base and ocamlformat
7 years ago
Sam Blackshear ab3da5b1d1 [cleanup] remove unused dynamic dispatch modes
7 years ago
Sam Blackshear f37344358b [experimental] interprocedural should_update analysis
7 years ago
Jeremy Dubreil 1f6d73269e [infer] simplify the API to report errors
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
Jeremy Dubreil c195e67dfe [infer] remove the utility functions to export debug information in LaTeX
7 years ago
Angel (scout387) 15f664eab3 [infer][PR] Fix Spelling Error
7 years ago
Sam Blackshear 890afe3094 [HIL] make it easier to customize-specialized abstract interpreter
7 years ago
Josh Berdine f62ab09e61 [ocamlformat] Upgrade ocamlformat to v0.2 from opam
7 years ago
Sam Blackshear e2a75f2b46 [hil] always run liveness analysis before HIL lowering
7 years ago
Sam Blackshear 4ee4ebb42a [hil] don't move any accesses across lock acquisition/release
7 years ago
Sam Blackshear 0a5c10c8ef [hil] don't let clients pass `debug:true`
7 years ago
Sam Blackshear 9bafbe0e1e [hil] don't move reads/writes outside of a critical section
7 years ago
Sam Blackshear 3d6168cd0d [hil] add HIL wrapper for abstract interpreter
7 years ago
Josh Berdine f89e687efa [ocamlformat] Use ocamlformat from github
7 years ago
Sam Blackshear 2b08bc4e74 [cleanup] make it possible to print FormalMap's
7 years ago
Mehdi Bouaziz 39ff045569 [ai] No need to create a domain for a bottom_lifted type
7 years ago
Sam Blackshear 45dbb42705 [absint] make InvertedSet/InvertedMap functors consistent non-inverted versions
7 years ago
Sam Blackshear fd105802db [thread-safety] don't use Map.choose or Set.choose
7 years ago
Jules Villard 1c375a17ac [log] die more appropriately
7 years ago
Sam Blackshear a207243a3c [quandary] better printing for access trees
7 years ago
Sam Blackshear 94ceebfef8 [quandary] represent footprint as unified set of access path rather than conjunction of special sources
7 years ago
Jules Villard 69299ba675 [filtering] improve issue type filtering CLI
7 years ago
Sam Blackshear 41fb45f388 [thread-safety] add OwnedIf attribute to all formals at the beginning
7 years ago
Sam Blackshear 557faa4a46 [bi-abduction] use ProcCfg instead of file CFG
7 years ago
Sam Blackshear 4b8a5683aa [java] fix noexcept hack
7 years ago
Sam Blackshear 6d001ee566 [access paths] optional index expression for arrays
7 years ago
Sam Blackshear 8fde27014a [absint] add widening threshold to crash hard in the face of likely divergence
7 years ago
Sam Blackshear c2acc670ef [cleanup] remove unused param from supertype_find_map_opt
7 years ago
Jeremy Dubreil f49d292c3b [infer][backend] remove the bi-abduction based code for taint analysis
7 years ago
Jeremy Dubreil ad54126dab [infer][ondemand] add a `--keep-going` command line option to specify when to catch the exceptions raised during the analysis
7 years ago
Josh Berdine bab3d81cb0 Convert Reason to OCaml, and auto-format OCaml
7 years ago
Andrzej Kotulski 61aa7aaae5 Move Fieldname module inside Typ
8 years ago
Sam Blackshear 4f54fabf4f [absint] move the framework bits/utilities of Infer.AI to a separate directory from the clients (checkers ~= transfer functions + domains)
8 years ago