806 Commits (9945cc949501b940411c18ae3748d637fc700d6b)

Author SHA1 Message Date
Ezgi Çiçek 7cb11b587a [inferbo] Revise String.split's bounds
5 years ago
Sungkeun Cho c93c3163d6 [inferbo] Get global constant array values from initializers
5 years ago
Sungkeun Cho 67a4b73cd0 [inferbo] Revise bit-and semantics on pointer value
5 years ago
Sungkeun Cho 2287910968 [inferbo] Precise unknown value depending on type
5 years ago
Sungkeun Cho 3de92484df [inferbo] Refactoring: move get_formals type definition
5 years ago
Sungkeun Cho 97ba078d55 [inferbo] Revise getting size of array block
5 years ago
Sungkeun Cho 322eee5bf7 [inferbo] Suppress trace print
5 years ago
Sungkeun Cho 1305db390a [infer] Load global array constant
5 years ago
Nikos Gorogiannis a79a819679 [typ][javaclass] abstract typename
5 years ago
Ezgi Çiçek 6637557781 [inferbo] Add models for Preconditions.checkNotNull and Preconditions.checkState
5 years ago
Sungkeun Cho 6cc7926e23 [inferbo] Use Ondemand.get_proc_desc
5 years ago
Sungkeun Cho 4371a2c2f0 [cost][inferbo] Refactor to use Payload.read/read_full
5 years ago
Sungkeun Cho 0b7e479b34 [cost] Use actual call path when printing unknown function calls
5 years ago
Ezgi Çiçek 4cd595aebd [pulse] Add naive model for array length in Java
5 years ago
Sungkeun Cho 0e8ff74819 [inferbo] Refactor functions getting summary
5 years ago
Sungkeun Cho 3d087ff5e5 [inferbo] Update relation between iterator and integer value on Call
5 years ago
Sungkeun Cho 7e3275dcc8 [inferbo] Add relation between iterator and integer value
5 years ago
Nikos Gorogiannis 91fa6a5404 [typ] extract Procname from Typ
5 years ago
Nikos Gorogiannis 33352623a5 [typ] extract Fieldname from Typ
5 years ago
Nikos Gorogiannis cef051dd1a [typ] extract Struct module
5 years ago
Jules Villard 65d0d18326 [SIL] splitting off biabd stuff from SIL
5 years ago
Ezgi Çiçek 01755ef48e [inferbo] Add model for String.split
5 years ago
Ezgi Çiçek be1fda72a8 [inferbo] Add model for `Collection.toArray`
5 years ago
Sungkeun Cho 5bdd70e8f0 [inferbo] Refactor some function names
5 years ago
Sungkeun Cho 822ea72978 [inferbo] Add mli files
5 years ago
Sungkeun Cho 396d1d20ce [inferbo] No phantom field in inferbo
5 years ago
Sungkeun Cho 831b487b6a [inferbo] Add bufferOverrrunSemantics.mli
5 years ago
Ezgi Çiçek 0b5d7b71cb [inferbo] Add model for load of java.util.Collections.EMPTY_*
5 years ago
Ezgi Çiçek 12478e1238 [inferbo] Add models for Java Collections
5 years ago
Sungkeun Cho 387ef518f9 [inferbo] Revert external relational domains (apron, elina)
5 years ago
Nikos Gorogiannis e42bd8cd6c [typ][fieldname] further reduce and improve interface
5 years ago
Nikos Gorogiannis 59a95b316c [typ][fieldname] simplify and streamline interface
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
Jules Villard 49fb5b7c85 [pulse] do arithmetic on pointers too
5 years ago
Jules Villard 1bde1ef0f0 [pulse] use inferbo's prune in `PRUNE` nodes
5 years ago
Jules Villard fd9d963b1c [inferbo] generalise `prune_comp` to `prune_binop`
5 years ago
Jules Villard eb52b28f91 [pulsebo] use inferbo in prunes
5 years ago
Jules Villard d9f5d8779b [pulsebo] more binary operators
5 years ago
Jules Villard 2316608b85 [pulsebo] Bottom intervals cannot appear in an abstract state
5 years ago
Jules Villard 70fc1ab44a [pulse] eval unops using inferbo
5 years ago
Josh Berdine 3c6e2469de [ocamlformat] Enable parsing and reformatting docstrings
5 years ago
Sungkeun Cho aef3797837 [inferbo] Add arrayBlk.mli
5 years ago
Sungkeun Cho e7f4bb2453 [inferbo] Add missing mli: absLoc.mli
5 years ago
Sungkeun Cho ab7c61b836 [inferbo] Extend bound domain to express multiplication of bounds
5 years ago
Sungkeun Cho 82db1c1350 [pulse] Share subst function of itv
5 years ago
Jules Villard 9610ceb4b8 [pulse] substitute inferbo attributes in callee summaries
5 years ago
Sungkeun Cho da849cc320 [pulse] Add binop arithmetic for BoItv
5 years ago
Sungkeun Cho 61ae040077 [pulse] Add bo_itv to pulse attributes
5 years ago
Ezgi Çiçek fb56f42716 [infer] Rename value to arg_payload in ProcnameDispatcher.Call.FuncArg
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
Sungkeun Cho f958c74231 [inferbo] Refactoring: rename "is_" to "get_" for optional returns
5 years ago
Jules Villard a9df6a917f [IR] kill never-true "no_return" flag of Tfun type desc
5 years ago
Sungkeun Cho b1698ab0ea [inferbo] Get static value of EMPTY from class initializer in Java
5 years ago
Sungkeun Cho 8b959be727 [inferbo] Add size alias when array size is one
5 years ago
Sungkeun Cho c3186578d6 [cost] Keep excluding unqualified variables by ItvUpdatedBy
5 years ago
Sungkeun Cho 50252d3152 [cost] Exclude bin-op-generated integers from control variables
5 years ago
Sungkeun Cho 0aec8a04e9 [inferbo] Substitution of array block of default case in Java
5 years ago
Sungkeun Cho 2afac97574 [inferbo] Use of_java_array_alloc in Java
5 years ago
Josh Berdine 8d20e4d64d [ocamlformat] Upgrade ocamlformat version
5 years ago
Sungkeun Cho 7a5ce51901 [inferbo] Revise band semantics
5 years ago
Sungkeun Cho 0d700471c0 [inferbo] Add size alias when i=1
5 years ago
Sungkeun Cho 773766e3f7 [inferbo] Function call of Java enum values in class initializer
5 years ago
Sungkeun Cho b50e1cba51 [inferbo] Extend bound to express Min/Max(bound, bound)
5 years ago
Ezgi Çiçek d50091bb17 [inferbo] Add models for Math.min and Math.max
5 years ago
Sungkeun Cho fa571100df [inferbo] Extend alias domain to have multiple aliases on a variable
5 years ago
Sungkeun Cho 0653284f75 [inferbo] Refactor alias domain
5 years ago
Sungkeun Cho 0a8919166f [inferbo] Add a model: Object.clone
5 years ago
Sungkeun Cho 88813fdaa7 [inferbo] Revise division by constant
5 years ago
Nikos Gorogiannis e9b0ca9ce4 [AI] rename Domain.( <= ) to Domain.leq
5 years ago
Sungkeun Cho 0d1d3dcd64 [inferbo] Add and use SafeInvertedMap
5 years ago
Sungkeun Cho 65c25cff23 [inferbo] Forget size alias when size changed in model
5 years ago
Sungkeun Cho 480f99cfc2 [inferbo] Avoid top value on unknown non-static function call
5 years ago
Sungkeun Cho 5835139860 [cost] Conservative array length evaluation
5 years ago
Jules Villard 42470d8809 [hmm] sexp_{option,list} -> {option,list}
5 years ago
Sungkeun Cho fd16cb5985 [inferbo] Inequality for iterator alias target
5 years ago
Sungkeun Cho 83987fca96 [cost] Revise hasNext model
5 years ago
Sungkeun Cho 1468dcc1d9 [inferbo] Extend alias for collection iteration loop
5 years ago
Sungkeun Cho 5303177a2d [inferbo] Symbolic value on functions returning only exception
5 years ago
Sungkeun Cho dda1486a67 [inferbo] Introduce inequality for size alias target
5 years ago
Sungkeun Cho bd637bd290 [inferbo] Refactor pretty print of alias domain
5 years ago
Sungkeun Cho c5ab00ae82 [cost] Avoid giving top to unknown global in Java
5 years ago
Sungkeun Cho 738a751d17 [cost] Add eval mode for cost substitution
5 years ago
Sungkeun Cho 402f3115ea [cost] Strengthen condition for collecting control variables
5 years ago
Jules Villard c19d9254b4 [typ] make use of pretty printers instead of strings
5 years ago
Sungkeun Cho d55f5c02d5 [cost] Add modeled range
5 years ago
Sungkeun Cho 4ff2700bde [inferbo] Add InputStream.read model
6 years ago
Sungkeun Cho 2158090322 [inferbo] Extend Simple alias domain
6 years ago
Sungkeun Cho 0574372891 [inferbo] Simplify alias targets
6 years ago
Sungkeun Cho 21c890f23d [inferbo] Revise widen of bounds
6 years ago
Sungkeun Cho c20bda0350 [inferbo] Ignore type on field comparison
6 years ago
Sungkeun Cho afcb0ab46b [inferbo] Address collection add in loop
6 years ago
Sungkeun Cho d397ea03d1 [cost] Print debug information when top value is generated
6 years ago
Sungkeun Cho f79871c5fa [cost] Ignore character symbols in the cost results
6 years ago
Sungkeun Cho 5e1e5d412c [inferbo] Add Java String constructor models
6 years ago
Sungkeun Cho 962e56cb1b [infer] Use typ instead of root_typ if possible
6 years ago
Sungkeun Cho a50fcaf2dd [infer] Use inline record for Sil.Load and Sil.Store
6 years ago
Sungkeun Cho 78cfc867a5 [inferbo] Print non-verbose program variables
6 years ago
Sungkeun Cho ad4bc0a905 [cost] Ignore non-int symbols in the cost results
6 years ago
Sungkeun Cho a294085d9a [inferbo] Extend size alias domain for Java temporary variables
6 years ago
Sungkeun Cho 5127a975e3 [cost] Ignore boundends when getting range
6 years ago
Sungkeun Cho 1918477da8 [cost] Simplify range of min(1,x)
6 years ago
Sungkeun Cho ddaf51713e [inferbo] Revise Java's String models
6 years ago
Sungkeun Cho 6e1adf4d1d [inferbo] Remove deadcode
6 years ago
Sungkeun Cho 59f06568cf [inferbo] Use std::vector model for std::string
6 years ago
Sungkeun Cho fadd8cb541 [inferbo] Prune array size in Java
6 years ago
Sungkeun Cho 77084782e1 [inferbo] Fix bug in integer pruning by pointer
6 years ago
Sungkeun Cho aaa40084c4 [inferbo] Add Preconditions.checkArgument model
6 years ago
Sungkeun Cho d11444f7d3 [inferbo] Change the order of StdBasicString and StdVector
6 years ago
Sungkeun Cho 5f5b3de91a [inferbo] Pruning collection.size in Java
6 years ago
Sungkeun Cho 28d617b345 [cost] Revise Java's cast model
6 years ago
Sungkeun Cho e0a5cde2d5 [cost] Print elements field of collection
6 years ago
Sungkeun Cho 761d8bd614 [inferbo] Use inline record for Loc.Field
6 years ago
Sungkeun Cho 9c49841ebb [cost] Add Iterator.next model
6 years ago
Sungkeun Cho d3056d3309 [cost] Ignore boolean symbols in the cost results
6 years ago
Sungkeun Cho 013a9bb97c [inferbo] Refactoring: give type alias for making symbol
6 years ago
Sungkeun Cho 7c18231c5c [cost] Revise hasNext() to avoid bottom in condition
6 years ago
Sungkeun Cho 4530ef5bb0 [inferbo] Fix min of minmax and linear
6 years ago
Ezgi Çiçek 89782dfff9 [cost] Mask min/max symbols when printing big O
6 years ago
Sungkeun Cho 9494199652 [inferbo] Rename AliasMap.store to forget
6 years ago
Sungkeun Cho 5331648b91 [inferbo] Revise vector model
6 years ago
Ezgi Çiçek 57492f830b [inferbo] Add missing list initialization with initial capacity
6 years ago
Sungkeun Cho ddd4d98636 [inferbo] Add vector model: data
6 years ago
Sungkeun Cho 58b403c8ff [inferbo] Add vector model: empty
6 years ago
Sungkeun Cho c05062556f [inferbo] Add vector model: push_back
6 years ago
Sungkeun Cho f6b4f75e7c [inferbo] Pruning by vector::size
6 years ago
Sungkeun Cho e9cf5d33b3 [inferbo] Add models of vector constructors
6 years ago
Ezgi Çiçek 8286347ebf [inferbo] Add models for Java's Integer
6 years ago
Sungkeun Cho 8c4be65754 [inferbo] Ondemand value generation of vector as function parameter
6 years ago
Sungkeun Cho f488c5d6b7 [inferbo] Disable function instantiation of relational domain
6 years ago
Sungkeun Cho f066776b17 [inferbo] Add model: vector size
6 years ago
Sungkeun Cho 7a8e7d13e9 [inferbo] Add model: vector constructor
6 years ago
Jules Villard 13d54990bd [models] get rid of include-based C++ models
6 years ago
Ezgi Çiçek b8d25d1301 [inferbo] Fix the model of Collections.emptySet
6 years ago
Sungkeun Cho a3229fc43a [inferbo] Suppress intended integer underflow of unsigned integer
6 years ago
Sungkeun Cho 80f4b64915 [inferbo] Prune linear bound by minmax
6 years ago
Sungkeun Cho b3f52284ed [inferbo] Ignore the top of latest prune of callees
6 years ago
Sungkeun Cho 84a6561dc9 [inferbo] Precise mod semantics on unsigned integer
6 years ago
Sungkeun Cho 26a4f83e8b [inferbo] Avoid pruning on array elements
6 years ago
Sungkeun Cho f3311dfd98 [inferbo] Weak update on array contents
6 years ago
Sungkeun Cho 124ab9fed7 [inferbo] Downgrade issues of void pointer
6 years ago
Ezgi Çiçek 0682ccc1e9 [cost][inferbo] Add models for indexOf
6 years ago
Phoebe Nichols 2f6510395e Remove redundant fields from proc_callback_args
6 years ago
Phoebe Nichols a3eed439f6 Supply caller summary to Ondemand.analyze_proc_desc and Ondemand.analyze_proc_name
6 years ago
Phoebe Nichols fa1bcbe12d Change ProcData to have a summary instead of a proc_desc
6 years ago
Phoebe Nichols 13c2c84897 Remove proc_desc from proc_callback_args
6 years ago
Ezgi Çiçek 2db1a3b8e3 [cost,inferBo] Add models for Collections.unmodifiable* getters
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
Jules Villard 33ae8bae02 [inferbo] silence firing assert
6 years ago
Ezgi Çiçek 99eda7e3a8 [inferbo,cost] Fix java arrays
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 64dea4dc0f [inferbo] No need to canonicalize paths in on-demand
6 years ago
Mehdi Bouaziz 9db3a3a0b6 [Inferbo] Abstract repeated fields in paths
6 years ago
Mehdi Bouaziz 0a5810c579 [NodePrinter] Force usage of with_session
6 years ago
Ezgi Çiçek da13e52b27 [inferbo] Generalize String.length to CharSequence.length
6 years ago
Ezgi Çiçek c85563d606 [inferbo,cost] Add cost models for java.util.Collections
6 years ago
Mehdi Bouaziz 0414024314 [inferbo] Clean up exit state from unreachable locations
6 years ago
Mehdi Bouaziz 68d0fa8f44 [inferbo] Rename forget_locs
6 years ago
Mehdi Bouaziz 9d2e9102ad Simplify payloads with ppx_fields_conv
6 years ago
Ezgi Çiçek 7e16aafdba [loop-hoisting] Incorporate cost trace into EXPENSIVE_LOOP_INVARIANT_CALL issues
6 years ago
Ezgi Çiçek 6d25b0990d [cost,purity] Model java's Map as Collections
6 years ago
Ezgi Çiçek 105e50d432 [inferbo,cost] Add models for SparseArray
6 years ago
Ezgi Çiçek 997ba7c151 [inferbo] Fix inferbo error for ondemand paths of Java Collections
6 years ago
Jules Villard 686231ec6e [SIL] change `variable_initialization()` builtin to a new auxiliary instruction
6 years ago
Ezgi Çiçek b802620bc8 [cost] Add cost models for loop invariant functions
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
Ezgi Çiçek ba42e3fa46 [inferbo] Add models for CF
6 years ago
Sungkeun Cho e5381a90d5 [inferbo] Propagate LatestPrune on function calls
6 years ago
Sungkeun Cho 4c0aa1f69d [inferbo] Revise substitution of array block
6 years ago
Sungkeun Cho f86f971497 [inferbo] More reachability checks on pruning
6 years ago
Sungkeun Cho 5663ea6fb6 [inferbo] Use return_param only when callee added it
6 years ago
Josh Berdine 4acad5ca90 [ocamlformat] upgrade ocamlformat to 0.9
6 years ago
Sungkeun Cho 5762c47ef2 [inferbo] Accumulate LatestPrune in sequential prunings
6 years ago
Sungkeun Cho a46130655e [inferbo] Address __return_param on function calls
6 years ago
Ezgi Çiçek 857c59e022 [inferbo] Add model for Java's cast
6 years ago
Ezgi Çiçek ce0ccc10ec [inferbo,cost] Add models for Java Strings
6 years ago
Sungkeun Cho c92d56e4ad [inferbo] Substitute symbolic value of unknown function call to top
6 years ago
Ezgi Çiçek 713c308fc7 [inferbo] Generalize models for Java iterators
6 years ago
Mehdi Bouaziz 564d0113b4 [Cost] More precise traces for Top
6 years ago
Sungkeun Cho bf096b4d4d [inferbo] Reset LatestPrune at the assignment of return variable
6 years ago
Mehdi Bouaziz defaccf032 [Cost] Avoid Top to Top performance variations
6 years ago
Mehdi Bouaziz e74b607cd0 [Cost] Do not print Top trace in trace step
6 years ago
Sungkeun Cho 22aea43f76 [inferbo] Assign unknown value for unknown functions
6 years ago
Sungkeun Cho 4ca8a32102 [inferbo] Do not add Unknown location to alias
6 years ago
Mehdi Bouaziz 264a97794d [inferbo] Exact result for (c1 - max(d, x)) + (c2 + x)
6 years ago
Sungkeun Cho b55996d01a [inferbo] Symbolic value for global variable
6 years ago
Mehdi Bouaziz b48884bce7 [Cost] Traces for Top values
6 years ago
Mehdi Bouaziz 725bf1ea18 [Inferbo] Small preparatory changes
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 c1950e9b9f [cost] Move bound trace to a separate module
6 years ago
Sungkeun Cho cc1e18e124 [inferbo] Differentiate proof obligations by allocsites
6 years ago
Ezgi Çiçek 14f8c3566f [cost] Add highest degree trace of the current cost to differential
6 years ago
Mehdi Bouaziz 453cb1336c [inferbo] Make Bound type abtract
6 years ago