696 Commits (90a544ad2e53de86eff6c1a71589e8b26435cd6c)

Author SHA1 Message Date
Sungkeun Cho bd136ac24e [inferbo] Prune string length at "if(fgets(s, ...))"
6 years ago
Sungkeun Cho caf61461ac [inferbo] Update reachability conditions at function call
6 years ago
Sungkeun Cho 5a5f83a492 [inferbo] Add strcat model
6 years ago
Sungkeun Cho f250ca7e06 [inferbo] Evaluation of abstract location of literal string
6 years ago
Sungkeun Cho 6621bc950a [inferbo] Do not copy callee's parameter
6 years ago
Mehdi Bouaziz e4bb3c9d68 [inferbo] Only callee formals are needed
6 years ago
Mehdi Bouaziz 5ba8bbe08f [inferbo] Split summary
6 years ago
Mehdi Bouaziz 3fabbfdcad [inferbo] Split Analysis and Checker
6 years ago
Sungkeun Cho 0447c5b8d5 [inferbo] Give a widening threshold for array offset
6 years ago
Sungkeun Cho 7b7e6990e4 [inferbo] Add models for basic array iterator
6 years ago
Nikos Gorogiannis 764e9ee1be [AI] empty is not (necessarily) bottom
6 years ago
Mehdi Bouaziz 8a3592c34e [inferbo] Uncouple numerical analysis and numerical checks
6 years ago
Mehdi Bouaziz 5e7fd7c326 [inferbo] Uncouple condition reporting and propagating
6 years ago
Mehdi Bouaziz c3182b7032 [inferbo] Collect all issues before reporting
6 years ago
Mehdi Bouaziz 34ed67fea3 [inferbo] Stronger typing to ensure absence of on-demand env in summary
6 years ago
Mehdi Bouaziz c6b222c757 [inferbo] Always update summary
6 years ago
Sungkeun Cho 7a4862b994 [inferbo] Revise std::array::at model
6 years ago
Sungkeun Cho ca463d17c1 [inferbo] Add strcpy model
6 years ago
Sungkeun Cho 371dc2060f [inferbo] Add strndup model
6 years ago
Sungkeun Cho 7fda4f1cc2 [inferbo] Revise strncpy model
6 years ago
Sungkeun Cho 11854ac037 [inferbo] Print reachability of proof obligation in debug mode
6 years ago
Sungkeun Cho 1bcdc6e761 [inferbo] Extend conditional proof obligation for inequalities
6 years ago
Sungkeun Cho bc6829344f [inferbo] Change RiskyLibCall trace to non-final
6 years ago
Sungkeun Cho 0d07a240ea [inferbo] Literal string on stack location
6 years ago
Sungkeun Cho 6e04a9469b [inferbo] Revise memcpy model
6 years ago
Sungkeun Cho 9bd1191669 [inferbo] Add fgets model
6 years ago
Sungkeun Cho 58cdefc118 [inferbo] Add strlen model
6 years ago
Sungkeun Cho 5aa26dc32e [inferbo] Add an allocsite type for literal strings
6 years ago
Sungkeun Cho f4b4f68e6f [inferbo] Move decl_local to BufferOverrunUtils
6 years ago
Sungkeun Cho db441ffc8a [inferbo] Prevent deduplication of issues when different conditions
6 years ago
Sungkeun Cho 10f4ad06ba [inferbo] Add traces on cast
6 years ago
Mehdi Bouaziz 405dee5ceb [inferbo] Consider `this` to never be a pointer inside an array
6 years ago
Sungkeun Cho 05ec029e50 [inferbo] Suppress intended integer overflow
6 years ago
Sungkeun Cho d6494f725b [inferbo] Prepare supressing intended integer overflow
6 years ago
Sungkeun Cho d5faf2de52 [inferbo] Ignore encoding error in the snprintf model
6 years ago
Sungkeun Cho 05ceaebb7d [inferbo] Add model of String::operator==
6 years ago
Sungkeun Cho 0e5a902ac6 [inferbo] Add model of String::length
6 years ago
Sungkeun Cho b84c519070 [inferbo] Add model of String::empty
6 years ago
Sungkeun Cho 196a602c25 [inferbo] Add model of basic_string
6 years ago
Sungkeun Cho 0f8444e235 [inferbo] Substitute conditions of proof obligations strictly
6 years ago
Sungkeun Cho 6a8f389c35 [inferbo] Prune (p=null)
6 years ago
Mehdi Bouaziz 5616940ec0 [inferbo] Symbols for one value
6 years ago
Mehdi Bouaziz 5ce86a1501 [inferbo] Do not compare deref_kind
6 years ago
Mehdi Bouaziz 85bab87d16 [cost] The first cost model is a log
6 years ago
Mehdi Bouaziz 2ebbf554e5 [inferbo] Do not expose unsafe Itv.lb/ub
6 years ago
Sungkeun Cho a48421aa0a [inferbo] XML escape in L.d_printfln
6 years ago
Mehdi Bouaziz 33aa07357f [inferbo] Model Java collections using arrays
6 years ago
Mehdi Bouaziz 1827b42f68 [inferbo] Improve traces of binary operators when nothing changes
6 years ago
Mehdi Bouaziz de3c7bac45 [inferbo][easy] Shift right zero
6 years ago
Mehdi Bouaziz 8f060939d6 [inferbo] Java pointers, arrays and collections
6 years ago
Mehdi Bouaziz 4343f9c8b2 [cost] Adds Log elements to polynomials
6 years ago
Sungkeun Cho fc26f79b92 [inferbo] Weaken canonical path in on-demand value generation
6 years ago
Mehdi Bouaziz 397f4a1973 [inferbo] pp fields
6 years ago
Martino Luca 3acf5bf2ad [Cost] Do not flag variations to/from zero-costing functions
6 years ago
Mehdi Bouaziz 809100d612 [inferbo] Prettier field name for Java in traces
6 years ago
Sungkeun Cho 6920532e12 [inferbo] Forget only updated locations from latest prune at Store
6 years ago
Sungkeun Cho e52b1e077e [inferbo] Conditional proof obligation
6 years ago
Sungkeun Cho 4ad5d38b69 [inferbo] Revise join of LatestPrune
6 years ago
Sungkeun Cho 2531c75cea [inferbo] Add literal string assignment
6 years ago
Mehdi Bouaziz b8fb4b5abc [inferbo] Separate Java from C arrays
6 years ago
Mehdi Bouaziz 703cec791d [inferbo] Restore type models
6 years ago
Mehdi Bouaziz fd8b4795b8 [inferbo] Symbolic length for no-size flexible arrays
6 years ago
Sungkeun Cho 879f8d6fe8 [inferbo] Remove deadcode
6 years ago
Mehdi Bouaziz bdbf39aaa3 [inferbo] More physical equalities for Bounds
6 years ago
Mehdi Bouaziz 00b052826a [inferbo] Enforce physical equality for bottom lifted mem operations
6 years ago
Mehdi Bouaziz 5c4de212fb [inferbo] New test + more debug
6 years ago
Mehdi Bouaziz 6a59abd234 [inferbo] HTML debug for checking pass
6 years ago
Mehdi Bouaziz e5e7237d9d [inferbo] Move type models to their own file
6 years ago
Mehdi Bouaziz bb1a19b6f9 [inferbo] Move OndemandEnv to its own file
6 years ago
Mehdi Bouaziz 52e09aed13 [inferbo] Move get_formals from Domain to Procdesc
6 years ago
Ezgi Çiçek 88850d5119 [cost] Show simplified procname for Callsite paths
6 years ago
Sungkeun Cho a8dbaf082d [inferbo] Weak update for array contents
6 years ago
Sungkeun Cho f9161b164f [inferbo] On-demand heap symbol using path
6 years ago
Sungkeun Cho a37d85dddc [inferbo] Rename Allocsite.Param to Allocsite.Symbol
6 years ago
Mehdi Bouaziz a689301c53 [inferbo] eval_locs
6 years ago
Ezgi Çiçek 80de133482 [inferbo,cost] Add symbols for unknown function calls
6 years ago
Sungkeun Cho 4b2c65f2e2 Revert "[inferbo] Instantiate symbolic locations in function parameters"
6 years ago
Sungkeun Cho 8a37d7caf1 [inferbo] Move get_formals
6 years ago
Sungkeun Cho 760fabe825 [inferbo] Ignore __variable_initialization
6 years ago
Sungkeun Cho 2a94e907e2 [inferbo] Revise pp of Symb.partial
6 years ago
Sungkeun Cho 62d45f9c01 [inferbo] Copy callee's values that are reachable from parameters
6 years ago
Sungkeun Cho c3823671f5 [inferbo] Lift the Init module up
6 years ago
Sungkeun Cho 4e166f3375 [inferbo] Instantiate symbolic locations in function parameters
6 years ago
Sungkeun Cho f70d6da8f2 [inferbo] Use record type for eval_sym_trace
6 years ago
Sungkeun Cho 0086c34364 [inferbo] Add symbolic locations for parameters
6 years ago
Jules Villard 55586b581b [preanalysis] do not delay killing variables taken by reference
6 years ago
Sungkeun Cho 15b77ee8c8 [inferbo] Give semantics for unsigned int casting of minus one
6 years ago
Sungkeun Cho 5f925869b6 [infer] Translate more casts (unsigned int)
6 years ago
Sungkeun Cho 442fecc030 [inferbo] Fix performance of issue deduplication
6 years ago
Mehdi Bouaziz 52e2fb9f81 [inferbo] Rename is_collection_add -> last_included
6 years ago
Mehdi Bouaziz b92800a716 [inferbo] Do not join traces if Prune changed nothing
6 years ago
Mehdi Bouaziz e091d229f8 [inferbo] Keep traces for iterators
6 years ago
Nikos Gorogiannis 6aba4b7ca2 [AI] kill astate type
6 years ago
Mehdi Bouaziz 0ec75c587f [inferbo] Minor simplifications
6 years ago
Mehdi Bouaziz e505fd2dba [inferbo] Pointer comparison
6 years ago
Mehdi Bouaziz 8de2b93cab [cost] Abstract type for polynomial degree
6 years ago
Mehdi Bouaziz 5f60ffaa8f [inferbo] Trace refactoring
6 years ago
Mehdi Bouaziz f4e9975783 [inferbo] Fix deadcode
6 years ago
Mehdi Bouaziz 94e723bc82 [inferbo] Use Flat in relational domain
6 years ago
Mehdi Bouaziz 8292323307 [inferbo/cost] Move Polynomials out of Itv.ml
6 years ago
Mehdi Bouaziz 3cd57849c4 [inferbo] Remove duplicated module NonNegativeBound
6 years ago
Sungkeun Cho 8010b27cbd [inferbo] Prepare delayed integer overflow reporting
6 years ago
Sungkeun Cho edc090544a [inferbo] Improve pp of Inferbo in traceview
6 years ago
Mehdi Bouaziz 1f96fd03cc [inferbo] SymbolPath: rename Index -> Deref
6 years ago
Mehdi Bouaziz a93e05e9fe [inferbo] AliasRet: use AbstractDomain.Flat
6 years ago
Mehdi Bouaziz 3a5d995369 [inferbo] AliasMap: use AbstractDomain.Map
6 years ago
Mehdi Bouaziz d6423cf598 [inferbo] Preparing for trace rewrite
6 years ago
Mehdi Bouaziz 828fa236d4 [Inferbo] represents_multiple_values from path
6 years ago
Dino Distefano 9028b91ec7 Load data from performance profiler
6 years ago
Martino Luca 664978d654 Revert D12819709 to patch OOM events
6 years ago
Sungkeun Cho b4683d965d [inferbo] Resize array on casting
6 years ago
Sungkeun Cho c8a17b9d0e [inferbo] Pass integer type widths to eval for cast
6 years ago
Mehdi Bouaziz acf740e145 Print Unicode chars only if the locale allows it
6 years ago
Mehdi Bouaziz 8d990d6470 [inferbo] Move Boolean to their own module
6 years ago
Mehdi Bouaziz 8fcbfcb741 [inferbo] Pretty-print more abstract locations
6 years ago
Sungkeun Cho aa3fa55f05 [inferbo] Fix check of access condition
6 years ago
Sungkeun Cho e912bf2aa5 [inferbo] Prune more for "(x + e1) < e2" cases
6 years ago
Sungkeun Cho e190325b82 [inferbo] Distinguish collection add against array access in pp
6 years ago
Sungkeun Cho 0d2b0e1ab7 [inferbo] Fix check function for is_collection_add
6 years ago
Mehdi Bouaziz 29631b7358 [Inferbo] Differentiate array and pointer in SymbolPaths
6 years ago
Mehdi Bouaziz 4671bab088 [inferbo] Preparing for one-value symbols
6 years ago
Mehdi Bouaziz 7c00591747 [inferbo] Type name for eval_sym
6 years ago
Mehdi Bouaziz fac9932168 [inferbo] Add traces to Conditions always true/false and Unreachable code
6 years ago
Sungkeun Cho 1503f63c27 [inferbo] Fix evaluation of multi-dimensional arrays
6 years ago
Sungkeun Cho 07f8855185 [inferbo] Fix condition check of multi-dimensional array
6 years ago
Mehdi Bouaziz 716caf91bf Add is_singleton_or_more to Set and Map
6 years ago
Mehdi Bouaziz 0ba4c2c892 [cost] Pretty-printing exponents
6 years ago
Mehdi Bouaziz 5ed59b1655 [Inferbo/cost] Improve pretty-printing
6 years ago
Sungkeun Cho 50ebea5faa [inferbo] Fix path of allocsite in declaration
6 years ago
Martino Luca 32f448a6f0 [Infer][Perf] Emit messages using the asymptotic Bachmann–Landau notation, aka Big O notation
6 years ago
Martino Luca ce5d3e469f [Infer][Perf] pp symbols without bound-end information when not in developer-mode
6 years ago
Martino Luca 210dcef513 [Infer][Perf] do not emit 0 + when pretty-printing polynomials
6 years ago
Sungkeun Cho 1cbcbe6fb3 [inferbo] Improve division on constant
6 years ago
Sungkeun Cho 01a83e694b [inferbo] Improve semantics of binary and
6 years ago
Martino Luca 8d410d63c0 [Infer][Perf] Make reports more human readable
6 years ago
Sungkeun Cho 2401f6f6eb [inferbo] Give a widening threshold of zero
6 years ago
Sungkeun Cho 00081274cb [inferbo] Preciser pruning: (x != 0)
6 years ago
Sungkeun Cho b2189c1c17 [inferbo] Loosen similar bounds condition
6 years ago
Sungkeun Cho bf29bd9772 [inferbo] Fix xcompare of Itv
6 years ago
Sungkeun Cho acdb624723 [inferbo] More deduplication
6 years ago
Sungkeun Cho fed56fd0d8 [inferbo] Revise deduplication
6 years ago
Sungkeun Cho 9e9deb93be [inferbo] Use set instead of list on get_symbols
6 years ago
Sungkeun Cho a2312462eb [inferbo] Use values of global constant variables in C
6 years ago
Mehdi Bouaziz fa222ac259 [inferbo] Move most debug from logs to html
6 years ago
Mehdi Bouaziz 18c45947da Logging.d_printf
6 years ago
Mehdi Bouaziz 1606b95f1b Logging: merge d_str_color with d_str
6 years ago
Sungkeun Cho 5653dfac32 [inferbo] Give limit on pretty print of condition set
6 years ago
Sungkeun Cho 120c8785eb [inferbo] Update pp of buffer overflow condition
6 years ago
Jules Villard 5c30ea1051 [debug] print full types in instructions on error
6 years ago
Sungkeun Cho b66f3af827 [inferbo] Fix PrunePairs domain
6 years ago
Sungkeun Cho a40a7984c7 [inferbo] Try division on minmax value conservatively
6 years ago
Sungkeun Cho 3f71cf327b [inferbo] Separate offset and index in condition
6 years ago
Sungkeun Cho 0ce0ec03d9 [inferbo] Support global constant
6 years ago
Mehdi Bouaziz 3ee96263a7 [inferbo] Simplify and improve Itv.prune_comp
6 years ago
Mehdi Bouaziz 2824056af5 [inferbo] Normalize intervals after substitution
6 years ago
Mehdi Bouaziz 139f02449a [inferbo] Remove useless opens
6 years ago
Mehdi Bouaziz ecedb27d77 Add missing FB copyrights
6 years ago
Sungkeun Cho fd3f298156 [inferbo] Add narrowing
6 years ago
Mehdi Bouaziz 3dd97cc40f [inferbo] Use WTO abstract interpreter
6 years ago
Mehdi Bouaziz e72cd6c00f [inferbo] More precise min/max
6 years ago
Mehdi Bouaziz 592efbf5fa [inferbo] Refine <= for MinMax
6 years ago
Sungkeun Cho 3f969414fe [inferbo] Check integer overflow when really need
6 years ago
Sungkeun Cho 5d9f11c68e [inferbo] Do not raise integer overflow when multiplying 1
6 years ago
Sungkeun Cho cd1981a567 [inferbo] Change pp of BinaryOperationCondition
6 years ago
Sungkeun Cho fb4086c6f6 [inferbo] Add integer overflow issue type
6 years ago
Sungkeun Cho 1ae393dc76 [infer] Get widths of build-in integer types
6 years ago
Sungkeun Cho fd660f42f5 [inferbo] Suppress exception on placement new
6 years ago
Mehdi Bouaziz f873debc96 [inferbo] Debug latest prune abstract value
6 years ago
Ezgi Çiçek 99c2a6da8d [hoisting] Hoist only expensive pure functions
6 years ago
Mehdi Bouaziz c3f2fbc8c6 [inferbo] Do not alias values representing multiple values (Java, C partially)
6 years ago
Sungkeun Cho d94ba863c6 [infer] Add type in binary operator
6 years ago
Mehdi Bouaziz c9b89b54dd Preparing for WeakTopologicalOrder-based abstract interpreter
6 years ago
Sungkeun Cho f4ee2a0234 [inferbo] Revise placement new model
6 years ago
Sungkeun Cho 96cbdb15c7 [inferbo] Use big_int in interval domain
6 years ago
Julian Sutherland 5cf66f6da8 InferBO strncpy model
6 years ago
Julian Sutherland a5d3203ce8 inferBO calloc model
6 years ago
Julian Sutherland e24ce31744 Added inferBO model for the C memset function.
6 years ago
Julian Sutherland 16c70d1c23 Fixed a bug that caused the stride of symbolic arrays to not be set.
6 years ago
Sungkeun Cho b86b6b44f3 [inferbo] Substitute free symbols to Itv.top
6 years ago
Julian Sutherland e2150d1579 Wired up model for memmove which is identical to memcopy
6 years ago
Martino Luca c078bf5a12 [Perf][CI] Differential of costs, based on degree variation
6 years ago
Mehdi Bouaziz ddbb7e05d3 Reporting cleanup 22: log_error/warning -> use IssueType rather than exception
6 years ago
Mehdi Bouaziz 051c9d5e1f [inferbo] Report Unreachable_code_after with Checkers exception
6 years ago
Mehdi Bouaziz 0a9606b2b4 [inferbo] Report conditions always true/false using Checkers exception
6 years ago
Sungkeun Cho 3aab371b1f [inferbo] Detach Summary from Domain module
7 years ago
Sungkeun Cho 6759763a98 [inferbo] Simplify instantiate_ret_alias
7 years ago
Julian Sutherland b7353c961c Added model for memcpy C function to inferBO
7 years ago
Martino Luca e46bf6a3d9 [Perf] Perform comparisons of costs-reports by using costs-report.json files
7 years ago
Sungkeun Cho 0cffc52b3b [inferbo] Simplify memory instantiation of function call
7 years ago
Sungkeun Cho d261f94624 [inferbo] Use algebraic data type for allocsite
7 years ago
Josh Berdine 40ab73037e [ocamlformat] upgrade to ocamlformat 0.7
7 years ago
Mehdi Bouaziz 060924adff [inferbo] Get rid of condition trace for proof obligations in summary
7 years ago
Sungkeun Cho 1bf8ed95b8 [inferbo] Simplify stack/heap memory domain
7 years ago
Mehdi Bouaziz a06685c517 [inferbo] Add mli for proof obligations
7 years ago
Sungkeun Cho 524ae3a7e2 [inferbo] Return unknown value on non-const function calls
7 years ago
Mehdi Bouaziz 277fd06782 [inferbo] Simplify condition trace
7 years ago
Mehdi Bouaziz 5817ff6adc [inferbo] Do not re-report issues if the precision hasn't improved
7 years ago
Mehdi Bouaziz 5a4d4f0882 [inferbo] Fail if trying to substitute non-symbolic conditions
7 years ago
Mehdi Bouaziz 1a75fa9ebd [inferbo] Propagate INFERBO_ALLOC_MAY_BE_ even when the bound is infinity
7 years ago
Mehdi Bouaziz 693089ab08 [inferbo] Alloc site in the trace for INFERBO_ALLOC_xx issues
7 years ago
Mehdi Bouaziz 364099530e [inferbo] Retrieve callee_pdesc and payload at the same time
7 years ago
Mehdi Bouaziz 07f22daada [inferbo] Report calls without ()
7 years ago
Martino Luca 55c2188615 [Perf] Emit costs to a separate file named costs-report.json
7 years ago
Ezgi Çiçek bedf32bed5 [Cost, InferBo] generalize ArrayLists to Collections and Iterators
7 years ago
Ezgi Çiçek 9022228804 add support for hasNext() and iterator() for Java
7 years ago
Mehdi Bouaziz ad986dffde Get rid of Declare_locals
7 years ago
Ezgi Çiçek 832e0130cd [Inferbo] Fix the way pointers to arrays are handled in Java
7 years ago
Mehdi Bouaziz 12c0e245c6 [Inferbo] Simplify interval pretty-print
7 years ago
Sungkeun Cho fec87c8b95 [inferbo] Move functions constructing array values
7 years ago
Mehdi Bouaziz 427bb440d6 Inferbo: use Procdesc.get_locals rather than the Declare_locals instruction
7 years ago
Sungkeun Cho 65997b6a44 [inferbo] Remove sizeof function
7 years ago
Martino Luca 632cb0e513 [Perf] Emit ZERO_EXECUTION_TIME_CALL issue-type, when zero-costing functions are met
7 years ago
Sungkeun Cho c50b28480b [inferbo] Add trace on make_sym
7 years ago
Julian Sutherland 70ab21d33c Finished splitting itv.ml
7 years ago
Mehdi Bouaziz 96323b68e6 ProcnameDispatcher: allow matching to depend on a context
7 years ago
Sungkeun Cho df80ccda08 [inferbo] Use SymbolPath map in summary instead of entry memory
7 years ago
Sungkeun Cho b5ba9a74d1 [Inferbo] Fix trace print condition
7 years ago
Sungkeun Cho 9eca72d405 [Inferbo] Add relational domains
7 years ago
Mehdi Bouaziz d90a87d743 [inferbo] Remove temporary fix for Java path
7 years ago
Julian Sutherland 66e737a3b4 refactoring itv, moved Ints and NonZeroInt module to seperate file
7 years ago
Ezgi Çiçek 396caca5d6 Fix array size for Java in `get_malloc_info`
7 years ago
Martino Luca c50b250576 [Perf] Compute the degree of polynomials
7 years ago
Ezgi Çiçek 2d889791e2 Fix Java's handling of pointer parameters in Inferbo
7 years ago
Ezgi Çiçek 9ed18e958a Add support for ArrayList.remove
7 years ago
Ezgi Çiçek f540aa47a3 Add support for Java's ArrayList.set and ArrayList.get
7 years ago
Ezgi Çiçek 0c6eacc902 Add support for Java's ArrayLists.add*
7 years ago
Ezgi Çiçek 34c2899a69 Fix printing of fields in Java
7 years ago
Nikos Gorogiannis c2416defed Fix IntLit.to_int interface and uses.
7 years ago
Sungkeun Cho 06a04ca9f5 Revert "[Inferbo] Add relational domain"
7 years ago
Sungkeun Cho 1f7a6e53fb [Inferbo] Add relational domain
7 years ago
Ezgi Çiçek 5cff9c91f9 Add Java support to ProcnameDispatcher
7 years ago
Mehdi Bouaziz e5de1b6663 Cost: simplify range of parameters
7 years ago
Mehdi Bouaziz bea71d9168 Inferbo/perf: path rather than symbols
7 years ago
Mehdi Bouaziz 3c240fc880 Inferbo: rewrote subst
7 years ago
Mehdi Bouaziz a8e84d1657 Cost: improve NonNegativePolynomial.(<=)
7 years ago
Sungkeun Cho 4c6ddb7808 [Inferbo][Refactoring] Use named parameter
7 years ago
Mehdi Bouaziz bd725602ee Inferbo: size of arrayblk is unsigned
7 years ago
Mehdi Bouaziz 5b6430e739 Cost solver
7 years ago
Mehdi Bouaziz dc49cb6124 Cost: Polynomial.min_default_left
7 years ago
Mehdi Bouaziz 21ced6af62 PartialOrder
7 years ago
Mehdi Bouaziz 507de1e96c Inferbo models: separate ret
7 years ago
Mehdi Bouaziz 69ead917c3 Instrs: Arrays and RevArrays only
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 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