353 Commits (0ec75c587f16e2f108a38a1f4dfc197651de6a05)

Author SHA1 Message Date
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 42b3958a07 ProcCfg: fold on nodes only
7 years ago
Mehdi Bouaziz bfcc88a5e2 Inferbo: use instr_is_auxiliary
7 years ago
Ezgi Çiçek 1227cd1ff8 Fix `min` in polynomial temporarily
7 years ago
Sungkeun Cho cac08598a0 [inferbo] preciser widening of bound
7 years ago
Mehdi Bouaziz 1898ef3a7a [Summary] Move payloads to a separate module
7 years ago
Mehdi Bouaziz aaf346d115 [cost] Polynomial domain
7 years ago
Mehdi Bouaziz f3cf0ec0f6 [Inferbo/cost][java] Model for __get_array_length
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
Mehdi Bouaziz 131ae4a801 [itv] Prettier print
7 years ago
Mehdi Bouaziz c1aac1e089 Cost: Non-negative Bound abstract domain
7 years ago
Mehdi Bouaziz 5fe28785bc Cost: fix min
7 years ago
Jules Villard 902de9d6e3 [sil] make return value and type mandatory
7 years ago
Mehdi Bouaziz 1deaf7bfd6 Cost: instantiate symbolic cost after call
7 years ago
Mehdi Bouaziz e8ceedeb82 [Cost] Forces Inferbo
7 years ago
Mehdi Bouaziz 68129abab8 Cost/inferbo: move range to numerical abstract domain
7 years ago
Mehdi Bouaziz 9c14e9d384 [Cost] Fix multiplication by 1
7 years ago
Jules Villard ce0ffaf877 [ocaml] detect and kill dead modules
7 years ago
Mehdi Bouaziz a3487e14ee [Inferbo] Do not add Unknown to heap if unknown call does not return
7 years ago
Mehdi Bouaziz 14d6b2f019 [Cost] Use inferbo abstract state as extra rather than calling inferbo transfer functions
7 years ago
Mehdi Bouaziz ace0ea3d8b [inferbo] Do not reexecute for checking
7 years ago
Mehdi Bouaziz 722258d41b Real InstrNode
7 years ago
Mehdi Bouaziz f4b6746e0b [inferbo][PO] Fully compare traces when deduplicating
7 years ago
Mehdi Bouaziz 4afde73765 [inferbo][PO] Module for condition with trace
7 years ago
Mehdi Bouaziz a3da745210 [inferbo][PO] Debug deduplication
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 779bde226d [Inferbo] Use the OneInstrPerNode CFG
7 years ago
Mehdi Bouaziz 5925c75e29 [inferbo] Comparisons return abstract boolean
7 years ago
Mehdi Bouaziz 9eeeecc338 [inferbo] Prune zero should normalize too
7 years ago
Mehdi Bouaziz d80f4df42d [inferbo] Use bottom_lifted for prune
7 years ago
Mehdi Bouaziz e2f58dc687 [inferbo] prune_eq_zero
7 years ago
Mehdi Bouaziz 5260558fef [inferbo][easy] Simplify mk_MinMax
7 years ago
Mehdi Bouaziz c258e988fe [inferbo/cost] Print alias in debug output
7 years ago
Mehdi Bouaziz bdffee831a [inferbo][easy] Rename SubstMap to SymbolMap
7 years ago
Jules Villard dee7414aa9 [inferbo] do not include location information in the bug description
7 years ago
Mehdi Bouaziz e9a3913fdb [Inferbo] Do not propagate all safety conditions
7 years ago
Sungkeun Cho e12a4a1071 [inferbo] Add traces in lift functions
7 years ago
Sungkeun Cho 1f6feef448 [inferbo] Revise eval_locs for array blocks
7 years ago
Sungkeun Cho 4aafe8a990 [inferbo][bugfix] Revise gathering safety conditions in sub-exp
7 years ago
Sungkeun Cho b42d66d557 [inferbo][bugfix] Pointer arithmetics on pointers to non-array
7 years ago
Sungkeun Cho 0b26a57b8c [inferbo] Revise semantics of plus and minus
7 years ago
Sungkeun Cho 00e1139071 [frontend] Parse binary operator using types of parameters
7 years ago
Mehdi Bouaziz 14e48fb5a0 [RFC] Cost: pair with Inferbo
7 years ago
Mehdi Bouaziz 3ebec206dc [inferbo] prune_pairs: kill ref
7 years ago
Mehdi Bouaziz 3aebd72d53 [inferbo] Use Ondemand.get_proc_desc
7 years ago
Mehdi Bouaziz 82a264ff9f [Inferbo] Refactoring 8/8: struct for extras
7 years ago
Mehdi Bouaziz a4eac6c2d6 [Inferbo] Refactoring 7/8: remove dependency on CFG
7 years ago
Mehdi Bouaziz 722a66d452 [inferbo] Refactoring 6/8: add labels to eval_array_alloc
7 years ago
Mehdi Bouaziz 1b2adb9422 [inferbo] Refactoring 5/8: simplify Utils.Check.array_access
7 years ago
Mehdi Bouaziz 6838fed3e6 [inferbo] Refactoring 4/8: pass node_hash instead of node
7 years ago
Mehdi Bouaziz 672fd3a9a5 [inferbo] Refactor 3/8: model_by_value without model_env
7 years ago
Mehdi Bouaziz 90b5600c8f [inferbo] Refactoring 2/8: abstract type for counter
7 years ago
Mehdi Bouaziz ca14c2106e [inferbo] Refactoring 1/8: labels for arrayBlk functions
7 years ago
Mehdi Bouaziz c29c636768 [Inferbo] No need to check Bottom states
7 years ago
Dino Distefano e54df20eb7 Migrate to Itv.Bound
7 years ago
Mehdi Bouaziz cbbe455c4a [Inferbo] Reporting: refactoring
7 years ago
Sungkeun Cho bd040cf696 [inferbo] Add an issue type for alarms by unknown function call
7 years ago
Mehdi Bouaziz 1db6e0c2c6 [easy] Labels for Procdesc.fold_nodes/instrs
7 years ago
Mehdi Bouaziz 2e8cb343d4 [Inferbo] Itv.mli
7 years ago
Sungkeun Cho 426af10130 [inferbo][bugfix] Pruning array block (NE case)
7 years ago
Sungkeun Cho 18ea3f99d8 [inferbo][bugfix] Plus semantics of interval domain
7 years ago
Dino Distefano d2cc5e72f7 Extending analysis to parametric case
7 years ago
Mehdi Bouaziz 6f4c08f798 [inferbo][trace] Trace element for Unknown values
7 years ago
Mehdi Bouaziz 72ec9516d4 [inferbo][trace] Show some SymAssigns
7 years ago
Mehdi Bouaziz 55fee73669 [inferbo][traces] Nits
7 years ago
Sungkeun Cho 8fd04d5312 [inferbo][bugfix] Add index to offset at array fields
7 years ago
Sungkeun Cho 469a5f64ed [inferbo] Simplify realloc model
7 years ago
Mehdi Bouaziz eae3b38920 Itv.range and simplifications
7 years ago
Mehdi Bouaziz 04f7e83351 [Inferbo] Small factorizations
7 years ago
Sungkeun Cho 09ae1f96fc [inferbo] Avoid array field is evaluated to the unknown location
7 years ago
Sungkeun Cho d6740e94b2 [inferbo] Collect array accesses from sub expressions
7 years ago
Sungkeun Cho e537f8f383 [inferbo] Revise realloc semantics
7 years ago
Mehdi Bouaziz 6b22ee3932 [ProcnameDispatcher] Rename Procname to Call
7 years ago
Mehdi Bouaziz 07a21da13a [ProcnameDispatcher] Move stuff around
7 years ago
Sungkeun Cho 6bacdf4a4d [inferbo] Return newly allocated locations in callees
7 years ago
Sungkeun Cho e304b511fa [inferbo][bugfix] Declare parameter of flexible array member
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 f55f382a78 [inferbo] Support flexible array member
7 years ago
Sungkeun Cho 3ef619ef14 [inferbo] Add a model for "placement new"
7 years ago
Sungkeun Cho 4299848dad [inferbo] Initialize array member in class
7 years ago
Sungkeun Cho 8dd45eebde [inferbo] Use record environment type for model
7 years ago
Sungkeun Cho f2b2041baf [inferbo] Precise symbol instantiation
7 years ago
Sungkeun Cho ebddb14206 [inferbo] Prune by assert
7 years ago
Sungkeun Cho c514b19786 [inferbo] Add new operator model
7 years ago
Mehdi Bouaziz 4fdaf257ae [inferbo/unreachable] Fix FPs with exit at end of block/procedure
7 years ago
Mehdi Bouaziz dbaf9e459d [Inferbo] Do not use deprecated API to log issues
7 years ago
Mehdi Bouaziz 59edaf4670 [Inferbo][Itv] Some rewrites
7 years ago
Jeremy Dubreil dbdfb24be4 [infer] fix build
7 years ago
Mehdi Bouaziz 7b3bf7b4b5 [dispatcher] Match all suffixes
7 years ago
Mehdi Bouaziz 4ed3be9f00 [inferbo] First models for std::array
7 years ago
Jules Villard 4b1a7b1771 [cleanup] remove dead code
7 years ago
Mehdi Bouaziz d71d759344 [inferbo] Fix division by constant
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
Mehdi Bouaziz 3fc41af811 [inferbo] Model for folly::split
7 years ago
Mehdi Bouaziz 96face188a [dispatcher] Uncouple function argument matching and capturing
7 years ago
Jeremy Dubreil 1f6d73269e [infer] simplify the API to report errors
7 years ago
Mehdi Bouaziz 0ed1a51944 [inferbo] Prepare for type models
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
Mehdi Bouaziz cd35b2f0a3 [inferbo] Moving Inferbo utils functions
7 years ago
Mehdi Bouaziz 73906d537d [dispatcher] Typename dispatcher
7 years ago
Mehdi Bouaziz 168ce5a6bb [inferbo] Add alloc size safety condition
7 years ago
Mehdi Bouaziz d12371c6c3 [inferbo] Prepare for several kinds of safety conditions
7 years ago
Mehdi Bouaziz cb363d8dcb [inferbo] Modeled functions may also generate proof obligations
7 years ago
Jeremy Dubreil c195e67dfe [infer] remove the utility functions to export debug information in LaTeX
7 years ago
Sungkeun Cho 9deec6ffde [inferbo] Fix evaluation of Lindex
7 years ago
Mehdi Bouaziz a73162d8e4 [dispatcher] + Capture function argument
7 years ago
Mehdi Bouaziz 7f3467b01d [dispatcher] Exact number of args
7 years ago
Mehdi Bouaziz d26e227267 [c++] Procname dispatcher
7 years ago
Mehdi Bouaziz 55ff444a74 [inferbo] Sem.eval do not need a location
7 years ago
Josh Berdine f62ab09e61 [ocamlformat] Upgrade ocamlformat to v0.2 from opam
7 years ago
Mehdi Bouaziz 15ffac4e02 [inferbo] Move models to their own module
7 years ago
Mehdi Bouaziz eb33fb7a97 [inferbo] Use a dispatcher for models
7 years ago
Sungkeun Cho 042dd7d9cb [inferbo] revise semantics of vector::data
7 years ago
Josh Berdine f89e687efa [ocamlformat] Use ocamlformat from github
7 years ago
Sungkeun Cho eb0c727fdf [inferbo] Add symbol for unsigned int
7 years ago
Sungkeun Cho a9a430876c [inferbo] Remove Symbol.get_new (not used)
7 years ago
Mehdi Bouaziz 093bf285cc [inferbo] Do not report subsumed issues
7 years ago
Sungkeun Cho 54de59919e [inferbo] Prune vector's size by vector::empty() condition check
7 years ago
Mehdi Bouaziz eff7bb5bdf [inferbo] Replace buckets with issue types
7 years ago
Mehdi Bouaziz 22c0520b46 [inferbo] Do not report duplicate issues
7 years ago
Mehdi Bouaziz d5c08ee752 [inferbo] Move proof obligations to their own module and split them
7 years ago
Mehdi Bouaziz ea4d97ecf8 [inferbo] No bottom bound
7 years ago
Mehdi Bouaziz 26f847f381 [inferbo] Conditions should not have bottom intervals
7 years ago
Mehdi Bouaziz 39ff045569 [ai] No need to create a domain for a bottom_lifted type
7 years ago
Mehdi Bouaziz cfd6148dab [inferbo] Better pp
7 years ago
Sungkeun Cho 9f9dbdb914 [Inferbo] Extend abstract domain for vector::empty
7 years ago
Sungkeun Cho e5ee27af20 [Inferbo] Bugfix: incorrect pruning for unary negation
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
Greg Nisbet 7fc5cb7930 exinferbo] check end of procedure for unreachability
7 years ago
Jules Villard 69299ba675 [filtering] improve issue type filtering CLI
7 years ago
Mehdi Bouaziz 5ea80fdb82 [inferbo] Remove temporary logical variables
7 years ago
Jeremy Dubreil 7680c83f45 [infer][build] enable the OCaml compiler unused value declaration warning
7 years ago
Sungkeun Cho 2091a529b1 [inferbo] Avoid precision loss on pruning
7 years ago
Sungkeun Cho 1531a3d538 [inferbo] Pruning return value of function call
8 years ago
Josh Berdine bab3d81cb0 Convert Reason to OCaml, and auto-format OCaml
8 years ago
Mehdi Bouaziz 7411298def [cleanup] Killed Const.Cptr_to_fld and Binop.PtrFld
8 years ago
Mehdi Bouaziz d9b3b4d9ff [inferbo] Do not report location in model
8 years ago
Jules Villard 7e2b5dd161 [inferbo] printing every state of symbolic execution is verbose
8 years ago
Kihong Heo 94d6efb83a [Inferbo] Add traces for buffer overrun bug report
8 years ago
Sungkeun Cho c45c9c745f [inferbo] Instantiate pointer parameters to structures
8 years ago
Andrzej Kotulski 61aa7aaae5 Move Fieldname module inside Typ
8 years ago
Kihong Heo 7176fc936a [inferbo] fix the semantics of unknown library calls
8 years ago
Mehdi Bouaziz 63fcddb4a7 [inferbo] Do not store dummy idents into stack
8 years ago
Sungkeun Cho 00390d367a [inferbo] Refactor new symbol generation
8 years ago
Sungkeun Cho f45f4cb4c0 [Bufferoverrun] symbolic value for parameter
8 years ago
Sungkeun Cho 52c0caafaf [inferbo] Declare unsigned typed parameters
8 years ago
Sungkeun Cho 1f721d0824 [inferbo] Revise modulo semantics for positive values
8 years ago
Sam Blackshear 1f153d3e3f [absint] kill `AbstractInterpreter.Interprocedural` module
8 years ago
Mehdi Bouaziz f8eb9c2466 @\n only for format strings
8 years ago
Sam Blackshear 2a3032d0e3 [absint] rename confusing compute_and_store_post function
8 years ago
Kihong Heo 8567afdf55 [inferbo] add instantiation for parameters (call-by-ptr/ref)
8 years ago
Jeremy Dubreil cddd1b4ca2 [infer][ondemand] rename the logging functions to outline the deprecated ones
8 years ago
Jules Villard 93cc3266e8 [log] log to a single file with different categories and debug levels
8 years ago
Jules Villard b50f9f2695 [police] open IStd everywhere
8 years ago
Mehdi Bouaziz ec7b096ff6 [inferbo] Add warnings and errors for unreachable code
8 years ago
Andrzej Kotulski 5522365479 [IR] Add Typ.TVar variant to Typ.desc
8 years ago
Kihong Heo 485814a75a [Inferbo] remove redundant alarm message
8 years ago
Mehdi Bouaziz cc6b0f1e0b [inferbo] Print skipped warnings only with bo_debug >= 4
8 years ago
Mehdi Bouaziz 8dd041c5af [inferbo] Moving stuff
8 years ago
Mehdi Bouaziz 5d9291b911 [inferbo] Some more debug
8 years ago
Mehdi Bouaziz f521e5fbc0 [inferbo] Models for exit, fgetc
8 years ago
Kihong Heo de32a6728e [inferbo] remove bottoms in pointer arithmetic
8 years ago
Mehdi Bouaziz 1486b92084 [inferbo] Renamed a few Itv values
8 years ago
Jules Villard 741e527826 [console] print progress-like messages on stderr
8 years ago
Sam Blackshear 32ead76a3b [absint] make Set and Map functors take an ordered type
8 years ago
Jules Villard 252c78bb0e [clang] initialize dynamically-size stack-allocated arrays
8 years ago
Kihong Heo 984a81413a [inferbo] Top for unanalyzed variables (e.g., global variables)
8 years ago
Jules Villard 93ec47a5f4 [IR] add stride to array type
8 years ago
Jules Villard 29f7967f26 [build] remove unused values
8 years ago
Mehdi Bouaziz 37896ff435 [inferbo] More errors on symbolic intervals
8 years ago
Mehdi Bouaziz 7b8dc59386 [inferbo] Always use strong update
8 years ago
Jules Villard 1b0ee6fbc3 [clang] add sizeof static value to translation
8 years ago
Mehdi Bouaziz eb477b771e [inferbo] Replace some Bottom by Top
8 years ago
Mehdi Bouaziz 2dbde13335 [inferbo] Use Logging for logging
8 years ago
Mehdi Bouaziz 7d70310691 [inferbo] Yack manucuring
8 years ago
Andrzej Kotulski 029499cd9d [IR] add type qualifiers to Typ.t
8 years ago
Sungkeun Cho 7212890846 [Bufferoverrun] More prune to make some nodes unreachable
8 years ago
Sungkeun Cho b4b32f8d3e [Bufferoverrun] set uninitialized values in array as top
8 years ago
Jeremy Dubreil f5adab59ec [infer][checkers] Prevent the race conditions between the summaries passed as parameter to the checkers and the summaries from the specs table
8 years ago
Jeremy Dubreil 81c0877e20 [infer][ondemnad] remove the call to `Summary.write_summary` in BufferOverrun which is no longer necessary
8 years ago
Andrzej Kotulski 7c64d217f2 [IR] Refactor Ident.fieldname _*into Fieldname module
8 years ago
Martino Luca a7b947f971 Add support to format reports natively
8 years ago
Kihong Heo 89a28d4dcc [infer][PR] handle an uncaught exception when converting too large integers to intervals
8 years ago
Jeremy Dubreil 3e6ff023a7 [infer][ondemand] skeleton code to have every checker update their respective payload in the analysis summary
8 years ago
Martino Luca 5448a95ce7 [Infer][Localise] Group all issue types in one place, and provide their human-readable representation
8 years ago
Andrzej Kotulski e363958d34 [codemod] Move `Procname` into `Typ.Procname`
8 years ago
Josh Berdine 95725e4dd0 Refactor StructTyp to Typ.Struct
8 years ago
Sam Blackshear acd9e3246f [cleanup] adding missing mlis for checkers
8 years ago
Cristiano Calcagno b1b5460529 Deprecate further IList functions
8 years ago
Cristiano Calcagno 731dead406 More IList deprecation: fold functions
8 years ago
Cristiano Calcagno 60916922c6 Deprecate more IList functions and use Core List instead
8 years ago
Sam Blackshear a4efc7bba7 [cleanup] Simplify PrettyPrintable.Make functors
8 years ago