232 Commits (2c48e61031be9eaed877daf512f7dfcbe4453840)

Author SHA1 Message Date
Jules Villard 6247437296 [pulse] unified API for arithmetic
5 years ago
Jules Villard 0a8ad85596 [pulse][minor] rename AbductiveDomain.Domain -> AbductiveDomain.PostDomain
5 years ago
Jules Villard af2aaf2a14 [pulse][minor] remove skipped_calls getter
5 years ago
Jules Villard bb9726bbd7 [pulse] enforce short forms for PulseDomainInterface
5 years ago
Jules Villard 94e3b06900 [pulse] enforce short forms for PulseBasicInterface
5 years ago
Jules Villard a0d1fee1dc [pulse] move SkippedCalls to its own file
5 years ago
Jules Villard c00de7ad27 [pulse] move interproc call to its own file
5 years ago
Jules Villard 9ed10d435b [pulse][minor] simplify rewriting of callee post attributes
5 years ago
Dulma Churchill 2382e3d613 [pulse] Model Core Graphics Create and Copy just like malloc
5 years ago
Dulma Churchill 59ea968de8 [pulse] Model the correct CFAutorelease
5 years ago
Ezgi Çiçek e1093159b0 [pulse] Distinguish error state at top level
5 years ago
Dulma Churchill b29d1a2f5f [pulse] Adding new value history for allocations
5 years ago
Ezgi Çiçek 5a2b285fff [pulse] Distinguish exit state at top level
5 years ago
Dulma Churchill dba4140a7b [pulse] Adding null case to malloc's model
5 years ago
Dulma Churchill 271946a178 [pulse] Model release functions from Core Graphics and Core Foundation
5 years ago
Dulma Churchill 6f2b52fcc7 [pulse] Model Core Graphics create and copy functions
5 years ago
Jules Villard 6dc0894eef [pulse][models] add the proc name being matched to the context
5 years ago
Dulma Churchill 902514dccd [pulse] Add unreachable point to the trace of memory leaks
5 years ago
Ezgi Çiçek d97e1c8fdb [pulse][impurity] Add model for System.exit()
5 years ago
Ezgi Çiçek f7baf845fd [pulse] Fix printing order in contradiction for CItv and add tests
5 years ago
Dulma Churchill e99295e0e9 [pulse] Memory leak check
5 years ago
Ezgi Çiçek 7ca2fcc948 [pulse][purity] Add more naive models for Java
5 years ago
Ezgi Çiçek 25c058f706 [deadcode] Fix deadcode
5 years ago
Ezgi Çiçek cc815f5d20 [pulse] Only propagate existing WrittenTo attributes at function calls
5 years ago
Ezgi Çiçek b372befee4 [pulse] Add more naive Java models
5 years ago
Ezgi Çiçek a65176de22 [pulse] Print SkippedCalls
5 years ago
Dulma Churchill d1923dcd71 [pulse] Changed the name of BaseDomain signature to avoid a name clash
5 years ago
Jules Villard 3ba91fd596 [pulse] refactor of PrePost.t vs AbductiveDomain.t
5 years ago
Jules Villard 7861752bf3 [pulse] rename "PulseArithmetic" to "PulseCItv"
5 years ago
Ezgi Çiçek e3c89b1f10 [impurity] Fix include_value_history
5 years ago
Dulma Churchill 2f90b05c2a [pulse] Add model for malloc
5 years ago
Ezgi Çiçek b90d7c42d3 [impurity] Do not add value history in impurity traces
5 years ago
Ezgi Çiçek c6237f5f9f [pulse] Add model for Object.clone()
5 years ago
Ezgi Çiçek c144761a26 [pulse] Pull skipped calls into AbductiveDomain
5 years ago
Ezgi Çiçek 5f8e6233bb [pulse] Take into account skipped calls for state comparison
5 years ago
Ezgi Çiçek 562a43621c [pulse] Remove NoJoin sig from PulseBaseDomain
5 years ago
Jules Villard 826fd8a999 [pulse] monad, monads everywhere
5 years ago
Jules Villard 72f560036d [pulse] formal/actual length mismatch is a contradiction
5 years ago
Ezgi Çiçek 239a5302f6 [pulse] Add more models for Java
5 years ago
Ezgi Çiçek 040442c93b [pulse] Don't write through pointer arguments in Java
5 years ago
Ezgi Çiçek 4677584018 [pulse] Remove map suffix from SkippedCalls
5 years ago
Ezgi Çiçek a0fd5a0e6a [pulse] Refactor attributes into domain
5 years ago
Jules Villard a8b2c58bfb [pulse] new option to turn pulse back into an intra-procedural analysis
5 years ago
Ezgi Çiçek 426b7dfe51 [pulse] Track skipped functions
5 years ago
Jules Villard 3bf771bff4 [pulse] add model for std::vector<>::at()
5 years ago
Ezgi Çiçek a187d1b0b6 [pulse] Fix unequal length
5 years ago
Ezgi Çiçek 6f64131ae6 [pulse] Do not havoc arguments of unknown functions that are pointers to const
5 years ago
Ezgi Çiçek 4cd595aebd [pulse] Add naive model for array length in Java
5 years ago
Ezgi Çiçek 598a4d5a55 [pulse] Ignore Exceptional CF
5 years ago
Ezgi Çiçek cb9bb2a73c [pulse] Add simplified models for Java iterators and `Object.equals`
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 59a95b316c [typ][fieldname] simplify and streamline interface
5 years ago
Sungkeun Cho bc5f740945 [infer] make deadcode is back
5 years ago
Jules Villard 9366c94bbc [pulse] avoid false positives involving `folly::fbstring`
5 years ago
Jules Villard 0a59e83190 [pulse] debug info about contradictions
5 years ago
Jules Villard e06a43a677 [pulsebo] use inferbo more in summaries
5 years ago
Jules Villard 1bde1ef0f0 [pulse] use inferbo's prune in `PRUNE` nodes
5 years ago
Jules Villard 6a8a811e69 [pulse][minor] simplifications in PulseOperations pruning
5 years ago
Jules Villard dd5adb9791 [pulse] add inferbo information to models
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 82db1c1350 [pulse] Share subst function of itv
5 years ago
Jules Villard 9610ceb4b8 [pulse] substitute inferbo attributes in callee summaries
5 years ago
Jules Villard df49f318f6 [pulse] havoc formals passed by reference to unknown procedures
5 years ago
Jules Villard 32f60f3d3c [pulse] model the fact `free(0)` is a no-op
5 years ago
Jules Villard 3fbefbad34 [pulse] model some of `std::atomic`
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
Ezgi Çiçek eb8c8af117 [pulse] Move models to ProcnameDispatcher style
5 years ago
Ezgi Çiçek 3d181bd831 [infer] Polymorphic value type for `FuncArg`
5 years ago
Jules Villard 997948914f [IR] remove dead no_return CallFlag
5 years ago
Jules Villard f81c9d56e3 [pulse] arithmetic operations
5 years ago
Jules Villard 6ecf4066e8 [pulse] model std::integral_constant
5 years ago
Jules Villard 6df4fb6a9b [pulse] report dereference of NULL and constants
5 years ago
Jules Villard a107b2dd2d [pulse] do not invalidate object *values* on destruction
5 years ago
Josh Berdine 8d20e4d64d [ocamlformat] Upgrade ocamlformat version
5 years ago
Ezgi Çiçek 9e5307b339 [pulse][impurity] Add Pulse Java models for get and cast
5 years ago
Jules Villard 2358c7b529 [pulse] add tracing of arithmetic facts
5 years ago
Jules Villard 00e5ec5a4c [pulse] separate traces from their action
5 years ago
Jules Villard 2e4fbb7fe5 [pulse] intervals!
5 years ago
Jules Villard b20c22a5ee [pulse] abduce arithmetic facts
5 years ago
Jules Villard 702602dcec [pulse] check MustBeValid from preconditions all at once at the end
5 years ago
Jules Villard 36ffe4722b [pulse] stop the analysis when precondition cannot be applied for reasons others than errors
5 years ago
Nikos Gorogiannis e9b0ca9ce4 [AI] rename Domain.( <= ) to Domain.leq
5 years ago
Jules Villard 127ba72982 [pulse][minor] reduce code duplication for attribute "getters"
5 years ago
Jules Villard 0f625659d0 [pulse][minor] refactor `check_valid` to expose `abduce_attribute`
5 years ago
Jules Villard b6a343f7a0 [pulse] no need to expose `PulseOperations.TBool`
5 years ago
Jules Villard 991685dba0 [pulse][trivial] unused module open
5 years ago
Jules Villard cf6f107b88 [pulse][11/9] carve out PulseBaseStack
5 years ago
Jules Villard 2fd3f9a37b [pulse][10/9] carve out PulseBaseMemory
5 years ago
Jules Villard 1652144176 [pulse][9/9] add PulseDiagnostic to PulseBasicInterface
5 years ago
Jules Villard e3285d1340 [pulse][8/9] Domain interface
5 years ago
Jules Villard 72ee18e445 [pulse][7/9] kill `AddrTracePair`
5 years ago
Jules Villard 4ded39240f [pulse][6/9] add PulseAbstractValue to PulseBasicInterface
5 years ago
Jules Villard 994d35ed38 [pulse][5/9] add PulseAttribute{,s} to PulseBasicInterface
5 years ago