1107 Commits (5aa26dc32ee2dd88b96e303e3d859be6df1f35d2)

Author SHA1 Message Date
Mehdi Bouaziz 5b3bca5562 [quandary] Allow sources to have multiple taints
6 years ago
Mehdi Bouaziz 8292323307 [inferbo/cost] Move Polynomials out of Itv.ml
6 years ago
Ezgi Çiçek 613c4a2848 [purity] Fix wrong invalidation of all params
6 years ago
Sungkeun Cho c8a17b9d0e [inferbo] Pass integer type widths to eval for cast
6 years ago
Sungkeun Cho 1486a5f105 [infer] Translate casting expressions of integer pointers
6 years ago
Dino Distefano 0d5a7028ab Removing unnecessary printing
6 years ago
Ezgi Çiçek 5fa89e2563 [purity] Disable clang
6 years ago
Ezgi Çiçek 6683c71f8b [purity, hoisting] Add more purity models for fblite and instagram
6 years ago
Mehdi Bouaziz 716caf91bf Add is_singleton_or_more to Set and Map
6 years ago
Ezgi Çiçek dde0067eec [purity] Don't report pure functions if hoisting mode is turned-on
6 years ago
Ezgi Çiçek f3d82a0230 [hoisting] Don't report functions modeled as VariantForHoisting but consider them invariant
6 years ago
Ezgi Çiçek 2f06fd768f [purity, hoisting] Keep track of modified args
6 years ago
Jules Villard 67ff14b4ed [pulse] record attributes inside memory cells instead of separately
6 years ago
Jules Villard 6f9028a77f [pulse] use WTO scheduler
6 years ago
Ezgi Çiçek d5a2198010 [hoisting] Make invalidation stop at already explored (var,node) pairs
6 years ago
Ezgi Çiçek ff722f975d [hoisting] Stop invalidation at loop head
6 years ago
Ezgi Çiçek 3fb1053b75 [hoisting] Invalidate arguments of type structs
6 years ago
Mehdi Bouaziz 9a4416f7d4 [quandary] String concatenation sanitizes class loading
6 years ago
Daiva Naudziuniene 86f52e52ed [pulse] Operator= copy assignment
6 years ago
Jules Villard f30e97f072 [pulse] add model for `std::vector::reserve` using additional memory attribute
6 years ago
Jules Villard 119d727d21 [pulse][minor] rename `AliasingDomain` to `Stack`
6 years ago
Jules Villard 1c8143898e [pulse] generalise "invalid" addresses as sets of attributes
6 years ago
Jules Villard 637018a330 [pulse] model some early exit functions
6 years ago
Jules Villard 9aa5582caa [clang] leave markers of variable initialization for pulse
6 years ago
Jules Villard 165cb1cf73 [pulse] back to sounder joins
6 years ago
Jules Villard 2fabf62b81 [pulse] underapproximate joins of array values
6 years ago
Jules Villard f400d4c5c5 [pulse] always register havoc'd variables
6 years ago
Jules Villard b8bb1f318f [pulse] reset abstract address fresh counter for each function
6 years ago
Josh Berdine 6a4d8b72f0 [doc] Fix some invalid/suspicious docstrings
6 years ago
Ezgi Çiçek 39335bb095 [hoisting] Invalidate all dependencies of invalidated parameters
6 years ago
Ezgi Çiçek affe3d1d60 [hoisting] Invalidate args of impure function calls
6 years ago
Daiva Naudziuniene 4954d3da4b [pulse] Model operator=
6 years ago
Daiva Naudziuniene 881bcb8fce [pulse] Clean up placement new model
6 years ago
Jules Villard 0a2cb44667 [pulse] introduce the more precise `VECTOR_INVALIDATION` issue type
6 years ago
Jules Villard 52bcce29b5 [access expressions] force clients to normalize when introducing `Dereference` and `AddressOf`
6 years ago
Jules Villard f627812541 [pulse] new issue type `USE_AFTER_DESTRUCTOR`
6 years ago
Jules Villard c6b2126c3f [pulse] forget about addresses that are invalid on only one side of a join
6 years ago
Daiva Naudziuniene 8b54879b07 [pulse] Constructors
6 years ago
Mehdi Bouaziz 17ff54f17a Logging: increase/decrease indent
6 years ago
Mehdi Bouaziz 18c45947da Logging.d_printf
6 years ago
Daiva Naudziuniene 1094a8224c [pulse] Invalidate object rather than address in destructor call
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 cf66ea0afb [pulse] havoc vector array on push_back
6 years ago
Jules Villard 6d6ac1d368 [pulse] do not use access paths as they forget about &/*
6 years ago
Jules Villard f5786c444b [pulse] use after free
6 years ago
Jules Villard 38ced865f3 [pulse] more issue types and add details about why locations get invalidated
6 years ago
Jules Villard 2c35ba51ea [pulse] move domain operations in their own submodule
6 years ago
Daiva Naudziuniene 5dab665fc2 [pulse] Model placement new
6 years ago
Daiva Naudziuniene 50da07e922 [pulse] Invalidate addresses for destructors
6 years ago
Jules Villard 497720386e [pulse] join of memory graphs
6 years ago
Jules Villard 3aa712c67a [pulse] define havoc and use in symbolic execution
6 years ago
Jules Villard a295d26f69 [pulse] do not propagate states with errors
6 years ago
Nikos Gorogiannis 4334225e67 [class loading] initial commit
6 years ago
Jules Villard 47867a8fdc [pulse] rename `Location` -> `Address` and better reporting
6 years ago
Jules Villard dd220a0fb4 [pulse] vector models
6 years ago
Jules Villard ad98ffa22b [pulse] more aggressive join
6 years ago
Mehdi Bouaziz 5e2d5c6f6b [Uninit][10/13] Other non-functional changes
6 years ago
Mehdi Bouaziz 81f31068e2 [Uninit][9/13] Check rhs using prestate
6 years ago
Mehdi Bouaziz 5ee9ea9e48 Fix warning
6 years ago
Dino Distefano 3d07754275 Giving cost 1 to procedure with empty body
6 years ago
Jules Villard 7bd4aaa819 [pulse] pulse models
6 years ago
Mehdi Bouaziz dffdd9c2ad [cost] Print constraints in HTML debug
6 years ago
Jules Villard d28d0528d1 [pulse] initial commit
6 years ago
Ezgi Çiçek 78a865b14e [hosting] Disable purity and cost callbacks temporarily
6 years ago
Ezgi Çiçek 99c2a6da8d [hoisting] Hoist only expensive pure functions
6 years ago
Josh Berdine e1d4aad487 [ocamlformat] upgrade ocamlformat to 0.8
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
Mehdi Bouaziz 62b1f39540 [Uninit][8/13] Rename UninitVars to MaybeUninitVars
6 years ago
Mehdi Bouaziz 01f3f39760 [Uninit][6/13] Move some operations to the domain
6 years ago
Mehdi Bouaziz 6ca6de80c3 [Uninit][5/13] Use callee_formals directly
6 years ago
Mehdi Bouaziz fcf2ce1e8f [Uninit][4/13] extras
6 years ago
Mehdi Bouaziz 6fd02b272f [Uninit][3/13] Modules Models and Initial
6 years ago
Mehdi Bouaziz f639906496 [Uninit][2/13] Move summary type
6 years ago
Mehdi Bouaziz 15839539a7 Annot.Method: record rather than pair
6 years ago
Mehdi Bouaziz aa6f5b2ed5 Uninit nits
6 years ago
Mehdi Bouaziz ded6bd8ba4 Uninit: do not use the one-instr-per-node CFG
6 years ago
Mehdi Bouaziz 3ff9a3127c [uninit] Use LowerHIL-AI directly
6 years ago
Ezgi Çiçek aca0b8e130 [Hoisting] Fix hoisting of void functions
6 years ago
Ezgi Çiçek d4f943e953 [purity] Don't report on access methods
6 years ago
Ezgi Çiçek 43b3f80de5 Add simple purity analysis
6 years ago
Nikos Gorogiannis 0c7a8556dc [concurrency] treat @MainThread annotation
6 years ago
Julian Sutherland b838b7bc46 limited widening to 10 steps
6 years ago
Jules Villard d5c59743b7 [callbacks] trace each checker's execution time
6 years ago
Jeremy Dubreil eccfb4de10 [nullsafe][Objective C] more models of methods asserting the paramters to be different from nil
6 years ago
Mehdi Bouaziz 9608c4d340 PrintfArgs: removed unused fixed_pos
6 years ago
Martino Luca aea1b4095e [Perf][CI] Disable threshold based cost reports
6 years ago
Mehdi Bouaziz ddbb7e05d3 Reporting cleanup 22: log_error/warning -> use IssueType rather than exception
6 years ago
Julian Sutherland e715d48c12 QuandaryBO
6 years ago
Mehdi Bouaziz 247e785ae4 Reporting cleanup 21: do not keep in-re-execution issues
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
Mehdi Bouaziz d331a7ad19 Start/Exit_node don't need the procname
6 years ago
Mehdi Bouaziz 46cd49df8d PrintfArgs is not an Eradicate checker
6 years ago
Daiva Naudziuniene 2a35d6579b [dead store] Removed special case for constexpr in lambda captures
6 years ago
Sungkeun Cho 0cffc52b3b [inferbo] Simplify memory instantiation of function call
6 years ago
Ezgi Çiçek b2e7a785ba [Loop-hoisting] Add more models for invariant analysis
6 years ago
Daiva Naudziuniene bfab195d08 [dead store] Do not report dead stores on constexpr
6 years ago
Jules Villard 5894258f43 [ownership] do not warn on returning ref to outer local
6 years ago
Daiva Naudziuniene 8e753c2b74 [deadstore] Do not report on __tmp
6 years ago