4763 Commits (86d4c5a55fe44e2461c901264d35bb2156da106e)

Author SHA1 Message Date
Mehdi Bouaziz 5a5a865bf4 Small refactorings: ReachingDefs
6 years ago
Mehdi Bouaziz 65499e36ce Small refactorings: Purity
6 years ago
Mehdi Bouaziz 52e8f73060 Small refactorings: Control
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 e3db5720ce [Cost] Always call substitute to record trace element
6 years ago
Mehdi Bouaziz c1950e9b9f [cost] Move bound trace to a separate module
6 years ago
Mehdi Bouaziz 5add974242 Express MakePPMonoMap in terms of MakePPMap
6 years ago
Sungkeun Cho cc1e18e124 [inferbo] Differentiate proof obligations by allocsites
6 years ago
Sungkeun Cho bae98c607f [infer] Translate VAArgExpr to the builtin function
6 years ago
Jeremy Dubreil 82c4b716bf [eradicate] rename the warning raised when dereferencing nullable types
6 years ago
Ezgi Çiçek 14f8c3566f [cost] Add highest degree trace of the current cost to differential
6 years ago
Mehdi Bouaziz 05ac5adfee Run Purity once
6 years ago
Boris Yakobowski 990d9daf10 [infer][PR] Fix minor typo
6 years ago
Boris Yakobowski c08dffeb36 [infer][PR] Remove function Utils.write_file_with_locking
6 years ago
Mehdi Bouaziz 453cb1336c [inferbo] Make Bound type abtract
6 years ago
Sungkeun Cho a56902dc9b [inferbo] Widening threshold by comparison
6 years ago
Jeremy Dubreil 7714f309d6 [nullsafe] change the human readable warning name
6 years ago
Mehdi Bouaziz b212f1ce6c [hoisting] Fix reporting logic
6 years ago
Sungkeun Cho 8ea92c51e0 [inferbo] Suppress ALLOC_IS_ZERO for C++'s array object
6 years ago
Sungkeun Cho c91d0a777d [inferbo] Avoid precision-losing pruning
6 years ago
Mehdi Bouaziz 023d608530 [cost] Make it more Kind-generic
6 years ago
Ezgi Çiçek cab28a9461 [inferbo] Check collection constructor size
6 years ago
Ezgi Çiçek 11af20ef86 [inferbo] Model list constructors with arguments
6 years ago
Jeremy Dubreil bef0a5638f [infer][biabduction] make sure the abort() is treated like exit()
6 years ago
Ezgi Çiçek cd20abfc88 [cost] Add trace to symbols in polynomial bounds
6 years ago
Sungkeun Cho ad08184d3b [inferbo] Keep alias of simple plus/minus arithmetic
6 years ago
Jeremy Dubreil 02e39c8b30 [infer] map issues that only differ by the index of the parameter to the same bug hash
6 years ago
Mehdi Bouaziz 3139ee5d46 [cost] Instantiate costs using formals not pname
6 years ago
Jeremy Dubreil a3ecfdb8ad [infer][nullsafe] add a NULLSAFE_ prefix to the internal name of the Nullsafe errors
6 years ago
Mehdi Bouaziz 7fa7ee4535 [cost] Report only after the analysis
6 years ago
Sungkeun Cho 82590756d9 [inferbo] Fix array member access in Java
6 years ago
Nikos Gorogiannis b243fae86c [starvation] template filters
6 years ago
Boris Valkov ea530390d3 [nullsafe][android] warn when passing null to ImmutableList, ImmutableSet, and ImmutableMap
6 years ago
Mehdi Bouaziz 7c688583e0 [cost] Simplify & optimize NodesBasicCost
6 years ago
Mehdi Bouaziz 17fc4ca5cf [cost] Simplify & optimize exit cost + threshold
6 years ago
Boris Yakobowski 31a6b92902 [infer][PR] fix installation of alias binaries
6 years ago
Jules Villard 4c4bb84e2c [liveness] blacklist of dangerous classes
6 years ago
Dino Distefano b52f2eb4be Simulate record domain in cost analysis
6 years ago
Mehdi Bouaziz 620099113d Fix some comments
6 years ago
Martin Trojer 053d16138e always report human readable polys in costs-report.json
6 years ago
Jules Villard 41abbe363d [clang] do not add extra dereferences
6 years ago
Jules Villard 5cee92941a [java] make some functions tail recursive
6 years ago
Jules Villard 7391cc31ae [dune] no need to link extlib
6 years ago
Jules Villard f8338d8faf [clang] ignore `__attribute__((unused))` variable initialisations
6 years ago
Jules Villard cfa33bd993 [clang] skip unknown `-fno-absolute-module-directory` flag
6 years ago
Jeremy Dubreil d904ab76ec [infer] remove the option --ignore-trivial-traces which is no longer used
6 years ago
Jeremy Dubreil adfd5a6418 [nullsafe] consistent models for the scrict containers
6 years ago
Jules Villard 168e9099f7 [clang] upgrade to 7.0.1
6 years ago
Mehdi Bouaziz d8846cf040 [inferbo] Parametric in Ondemand
6 years ago
Calascibetta Romain 137e070ece [infer][PR] Move to base64.3.0.0
6 years ago
Sungkeun Cho bd136ac24e [inferbo] Prune string length at "if(fgets(s, ...))"
6 years ago
Ezgi Çiçek ea486c59d8 [purity] Always show PURE_FUNCTION issues
6 years ago
Jules Villard a0bae375db [cfg] add option to print CFGs after the fact
6 years ago
Ezgi Çiçek 6e0682b463 [purity] Mark unmodeled functions as modifying global state
6 years ago
Jeremy Dubreil d08cabe7ed [eradicate] match the different re-definitions of Preconditions.checkState
6 years ago
Ezgi Çiçek 50b1533921 [loop-invariance] Make InvariantModels based on ProcName
6 years ago
David Lively c5890238f0 [Config] support arbitrary named symbol lists
6 years ago
Martin Trojer 9cce84ac6c dont report biabduction NPE's on tmp variables
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
Ezgi Çiçek c72f381520 [purity] Refactor global writes and get rid of BottomLifting
6 years ago
Nikos Gorogiannis 374538a02f [crashcontext] die
6 years ago
Dino Distefano e6d2872a4e Using record data structure for the cost domain
6 years ago
Sungkeun Cho 6621bc950a [inferbo] Do not copy callee's parameter
6 years ago
Mehdi Bouaziz 1b8927badd [inferbo/cost] Do not produce inferbo issues on Cost and Purity analysis
6 years ago
Mehdi Bouaziz e4bb3c9d68 [inferbo] Only callee formals are needed
6 years ago
Jeremy Dubreil 1765b66916 [eradicate] add model for com.google.common.base.Verify.verifyNotNull
6 years ago
Jeremy Dubreil dc290555f1 [eradicate] fix conflict between null assertions methods with a var args and the modeled methods using string formatter
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
Jeremy Dubreil 40ead0ac3d [infer] remove the visibility field from the Infer JSON report
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
Jeremy Dubreil 83dad3e1d4 [infer] set the default value for --ignore-trivial-traces to be false
6 years ago
Nikos Gorogiannis 9463b25702 [classloads] move sources to more appropriate location
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
Nikos Gorogiannis 2ee8ab2990 [class-loads] catch expressions
6 years ago
Sungkeun Cho 7a4862b994 [inferbo] Revise std::array::at model
6 years ago
Nikos Gorogiannis b4a22a5bdd [classloads] prune and multidimensional arrays
6 years ago
Nikos Gorogiannis 3e55f8eb60 [classloads] class object expressions
6 years ago
Nikos Gorogiannis 3f9eb37246 [classloads] casts and instanceof
6 years ago
Nikos Gorogiannis c1a00b2358 [classloads] restrict loads via fields
6 years ago
David Lively a8c946f1d9 new predicate is_in_source_file and placeholders %source_file% and %kind%
6 years ago
Sungkeun Cho ca463d17c1 [inferbo] Add strcpy model
6 years ago
Sungkeun Cho 371dc2060f [inferbo] Add strndup model
6 years ago
Nikos Gorogiannis f171d0496b [classloads] array expressions
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
Nikos Gorogiannis 3fc4ccbc14 [classloads] load super classes recursively
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
Jules Villard 49ca4eeecd [HIL][disjunctive] allow underlying transfer function to return disjunctions
6 years ago
Jules Villard 4ac9fb8fd8 [html] stop printing number of (biabduction) specs
6 years ago
Nikos Gorogiannis 89e396571d [classloads] treat loads and stores wrt to field derefs
6 years ago
David Lively d390a6f08a [CType_decl] Add missing case to `get_record_typename`
6 years ago
Nikos Gorogiannis 5686d67072 [classloads] fix treatment of static initializers
6 years ago
Nikos Gorogiannis 00df708f98 [classloads] record at most one load for each class
6 years ago
Sungkeun Cho 6e04a9469b [inferbo] Revise memcpy model
6 years ago
Nikos Gorogiannis 39b11619b8 [classloads] overhaul test infra & fix treatment of self-class loading in method calls
6 years ago
Jules Villard 13e8c21bef [lab] fix issues discovered during POPL tutorial
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
Jeremy Dubreil 87a8ddc8fa [nullsafe] merge the option names
6 years ago
Jeremy Dubreil 148c269b0d [infer] make the visibility field optional
6 years ago
Jules Villard 339911bb75 [labs] more instructions
6 years ago
Jules Villard 8e4fea7693 [labs] fiddling
6 years ago
Jules Villard 57451e65a2 [labs] fix Docker command
6 years ago
Jules Villard 16c0c03050 resource leaks tutorial
6 years ago
Nikos Gorogiannis 9e91c9298b [racerd] remove redundant ownership constructor/state
6 years ago
Nikos Gorogiannis e2bb049a5e [racerd] fix bug in ownership transitivity 2
6 years ago
Sungkeun Cho db441ffc8a [inferbo] Prevent deduplication of issues when different conditions
6 years ago
Nikos Gorogiannis 7bbb7fc869 [clang][objcpp] register exported methods and treat them as private in RacerD
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
Fabio Milano 499e6398b1 [CK][Linter Rule] Add CKRenderLayoutWithChildren component to Component Kit Conventional Superclass
6 years ago
Fabio Milano 28c3ed50de [CK][Linter Rule] Add CKRenderLayout component to Component Kit Conventional Superclass
6 years ago
David Lively 322066d248 Rename {has_,}cxx_full_name to {has_,}cxx_fully_qualified_name.
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 7f70251eff [infer] Fix filename to relative
6 years ago
Sungkeun Cho 0e5a902ac6 [inferbo] Add model of String::length
6 years ago
Mehdi Bouaziz 7ba4386199 [logging] Simplified and faster debug
6 years ago
Mehdi Bouaziz a726c34940 Logging: Fix delayed prints
6 years ago
Mehdi Bouaziz 5df11674dc Io_infer.with_color
6 years ago
Mehdi Bouaziz 1fa459967b Prune_node_kind: sum type rather than string
6 years ago
Mehdi Bouaziz 39207a644d HTML Printer: simplify start node & other things
6 years ago
Mehdi Bouaziz e53d3b990b Logging: higher-order color wrapper
6 years ago
Mehdi Bouaziz 908e1ab3ed Logging: Simplify d_instrs
6 years ago
Jules Villard 11eca94be7 [pulse] split PulseDomain.ml
6 years ago
Jules Villard 4c1ee2a485 [pulse] add traces to the domain
6 years ago
Jules Villard d9978bb897 [pulse] better pretty-printing of stacks
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 5d1a213f52 [Hil] Fix failure in exception node
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
Nikos Gorogiannis ddc15ad663 [racerd] move models and domain operations to respective source files
6 years ago
Nikos Gorogiannis 11373c8a6b [racerd] strip down domain interface
6 years ago
Daiva Naudziuniene c09068e3bf [HIL] Preserve ExitScope location information in the translation from SIL
6 years ago
Sungkeun Cho a48421aa0a [inferbo] XML escape in L.d_printfln
6 years ago
Nikos Gorogiannis 002e470137 [racerd] fix bug in ownership transitivity
6 years ago
Mehdi Bouaziz 33aa07357f [inferbo] Model Java collections using arrays
6 years ago
Nikos Gorogiannis b50f56de16 [racerd] properly recognize all non-source variables
6 years ago
Jeremy Dubreil 846d6fa23d [nullsafe][android] stop the analysis if there is no source file to analyze
6 years ago
Daiva Naudziuniene 2a139a2220 [pulse] Fix operator= case with temporaries
6 years ago
Mehdi Bouaziz 1827b42f68 [inferbo] Improve traces of binary operators when nothing changes
6 years ago
Ezgi Çiçek b46f55d0bc [purity] Mark functions with empty modified params as pure
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
David Lively 1f2b0d4152 Add new predicate has_cxx_qual_name and macro %cxx_full_name%
6 years ago
Mehdi Bouaziz a130556869 [quandary] Separate insecure intent handling issue type when call is in an exposed class
6 years ago
Nikos Gorogiannis 2d2d861686 [racerd] reduce size of IssueAuxData
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 9f333bb433 [quandary] Different source kinds for endpoints
6 years ago
Mehdi Bouaziz f6c2bd3f61 [quandary] Insecure Intent Handling
6 years ago
Mehdi Bouaziz 809100d612 [inferbo] Prettier field name for Java in traces
6 years ago
Mehdi Bouaziz dfd725d46c [quandary] Also use summary for direct sources
6 years ago
Jules Villard 9868f7f763 [pulse] warn on returning address of C++ temporary
6 years ago
Jules Villard db1814b1d1 [pulse] detect stack variable address escape
6 years ago
Jules Villard 1b79f13a18 [ownership] make heuristic for reporting on lambdas more shareable
6 years ago
Jeremy Dubreil 61d75d9991 [infer][nullsafe] use the same human readable error message for Eradicate and the new Nullsafe backend
6 years ago
Sungkeun Cho 6920532e12 [inferbo] Forget only updated locations from latest prune at Store
6 years ago
Mehdi Bouaziz a6d78db9b5 [quandary] Simplify endpoints config
6 years ago
Nikos Gorogiannis 19faf643dc [racerd] optional arguments and missing actuals
6 years ago
Nikos Gorogiannis a3f4bb01f4 [starvation] fix type bug occurring in class references
6 years ago
Mehdi Bouaziz 930dd2eb03 [quandary] Inline internal analyze_call
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 b3c8d1dc67 [HIL] Fix ExitScope
6 years ago
Mehdi Bouaziz 3ad33c979e [quandary] Split exec_instr
6 years ago
Nikos Gorogiannis 9d6a9f52ec [starvation] improve 2-way deadlock reports
6 years ago
Nikos Gorogiannis 8d855bdcdb [access paths] do not print class name of Java fields
6 years ago
Ezgi Çiçek 89b73e554e [purity] Mark functions that write to global static vars as impure
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
Daiva Naudziuniene e2b5a6f941 [pulse] Allow taking address of a field of an invalid object
6 years ago
Mehdi Bouaziz bdbf39aaa3 [inferbo] More physical equalities for Bounds
6 years ago
Mehdi Bouaziz 03d3a85f45 Enforce physical equality for Maps
6 years ago