5878 Commits (b59ff499c745750c7dbef4525d4b13743f7f115d)

Author SHA1 Message Date
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
Jules Villard e572bbe2b6 [make] do not call external build systems to clean
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
Daiva Naudziuniene 6d562fc7b0 [dead store] Dead store false positive caused by forgetting expression inside decltype
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 9bb5738675 [inferbo] Add test for contents of std::array
6 years ago
Sungkeun Cho 6226722c22 [inferbo] Add a test of comparison operator as function
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
Sungkeun Cho 09a5671ef4 [inferbo] Add a test for conditional inequality
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 910def4262 [nullsafe] rename the method for unsafe access to lists and maps
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 98cd2e59da [inferbo] Add tests: values representing multiple values
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
Ezgi Çiçek f7deed7593 [cost] Add examples that we can't handle currently
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
Jeremy Dubreil be4c5aaa0f [infer] ignore the visibility field when creating the HTML reports
6 years ago
Sungkeun Cho 05ceaebb7d [inferbo] Add model of String::operator==
6 years ago
Sungkeun Cho 5c1b862bbd [infer] Fix test script (build_utf8_in_pwd_test)
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
Daiva Naudziuniene b19ad38dae [pulse] Example of use after destructor for temporaries
6 years ago
Ezgi Çiçek b46f55d0bc [purity] Mark functions with empty modified params as pure
6 years ago
Nikos Gorogiannis 24bd229ada [infer][eradicate] example of error messages involving the temporary variables used to translate logical operations and conditional assignment
6 years ago
Mehdi Bouaziz de3c7bac45 [inferbo][easy] Shift right zero
6 years ago
Jules Villard 8d3363f677 [pulse] record simple double free test
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 c77f22310a [pulse] rewrite test to avoid stack variable address escape
6 years ago
Jules Villard 1b79f13a18 [ownership] make heuristic for reporting on lambdas more shareable
6 years ago
Jules Villard 2bb9e5ad85 [pulse] rename function that was never a pulse FP
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
Mehdi Bouaziz af6e4ff9d1 Fix quandary tests output
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
Mehdi Bouaziz 87b3907628 [quandary] Allow several kinds for external sources/sinks
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
Mehdi Bouaziz 4860ab39a1 Enforce physical equality for BottomLifted, TopLifted, Pair domains
6 years ago
Fabio Milano 72f6540893 [CK][Linter Rule] Fix Component Kit Unconventional Superclass tests
6 years ago
Daiva Naudziuniene 220d29766d [pulse] Model stack as a map from addresses of variables
6 years ago
Jules Villard 77179d2c5c [pulse] switch back to having a single abstract address per stack variable and heap location
6 years ago
Jules Villard 2a46a54060 [pulse] use the disjunctive domain and make it configurable
6 years ago
Jules Villard 156f5946c2 [HIL][pulse] add disjunctive domain
6 years ago
Jules Villard d9a014f71b [pulse] take array indices into account
6 years ago
Nikos Gorogiannis 101283f9d0 [starvation] fix trace description strings for taking locks
6 years ago
Jules Villard 26d4a2d14f [HIL] simplify some functors around TransferFunctions
6 years ago
Jules Villard 65d031af66 [pulse] model lambda captures
6 years ago
Fabio Milano afed12ad52 [CK][Linter Rule] Added CKRenderWithChildrenComponent as conventional component kit superclass
6 years ago
David Lively 5a531ac755 Make is_cxx_method_overriding predicate take regex matching class/name
6 years ago
Ezgi Çiçek 61b51b09db [hoisting] Rename hoisting message
6 years ago
Nikos Gorogiannis fc80179394 [starvation] use compare ppx
6 years ago
Daiva Naudziuniene fcfb6cc361 [pulse] Model more std::vector functions that can invalid references to elements
6 years ago
Jules Villard 95fab102bf [pulse] do not destroy `this` even if asked to
6 years ago
Sungkeun Cho f409450d8b [inferbo] Add tests for conditional proof obligations
6 years ago
Ezgi Çiçek 88850d5119 [cost] Show simplified procname for Callsite paths
6 years ago
Nikos Gorogiannis f8fc40cea9 [starvation] improve debugging output
6 years ago
Mehdi Bouaziz ed82a0e572 [debug] LowerHIL: print id map
6 years ago
Jeremy Dubreil 1baf723e3e [infer][nullsafe] make the error message more explicit about the typing nature of the analysis
6 years ago
Nikos Gorogiannis a47ec3611f [starvation] tune logging and avoid dieing on non-struct locks
6 years ago
Ezgi Çiçek dde9723926 [inferbo] Add tests for Java collections
6 years ago
Jules Villard 92c06e4f1f [HIL][4/4] array offsets are now HilExp.t
6 years ago
Jules Villard 1ee5877aa2 [HIL][3/4] remove compatibility AccessExpression.ml
6 years ago
Jules Villard d59e6ac1bf [HIL][2/4] move AccessExpression into HilExp
6 years ago
Jules Villard c89f7dc6ae [HIL][1/4] make `Access.t` polymorphic in the array access
6 years ago
Nikos Gorogiannis 2701073b3e [starvation] C++ deadlock FPs due to recursive and unknown mutexes
6 years ago
Nikos Gorogiannis 9c240ed978 [starvation] skip analysis option should be used at top level too
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
Jeremy Dubreil 49e832ed7f [infer] remove the Printf Args checker from the list of analyses run by default
6 years ago
Jeremy Dubreil 1c4630d370 [infer][nullable] remove report de-duplication between the bi-abduction analysis and Eradicate
6 years ago
Nikos Gorogiannis 27d8a65906 [starvation][concurrency] split guard lock treatment and add support for non-recursive locks (per language)
6 years ago
Sungkeun Cho a37d85dddc [inferbo] Rename Allocsite.Param to Allocsite.Symbol
6 years ago
Jeremy Dubreil 69af58506d [infer][nullsafe] rename the option to run the Nullsafe checker
6 years ago
Sungkeun Cho 98d05044fb [inferbo] Visit every nodes at narrowing
6 years ago
Mehdi Bouaziz a689301c53 [inferbo] eval_locs
6 years ago
Daiva Naudziuniene 332b150be9 [pulse] Model std::vector::reserve to invalidate references to elements
6 years ago
Ted Reed 28b346a903 quandary: Detect flows to EnvironmentChange that includes putenv only
6 years ago
Ezgi Çiçek 80de133482 [inferbo,cost] Add symbols for unknown function calls
6 years ago
Jeremy Dubreil 81cfbe893f [infer][nullsafe] move all the Nullsafe related files in the same directory
6 years ago
Nikos Gorogiannis abee2a5cb0 [AI] fix top interface
6 years ago
Ezgi Çiçek 6017c2ec54 [cost] Fix control variables to pick up global vars in prune instructions
6 years ago
Sungkeun Cho 4b2c65f2e2 Revert "[inferbo] Instantiate symbolic locations in function parameters"
6 years ago
Nikos Gorogiannis 53fc45d39e [concurrency] remove bad lock model
6 years ago
Sungkeun Cho 9013e38594 [inferbo] Add/remove _FP in repro1.cpp test
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
Daiva Naudziuniene 485b9c7bf5 [pulse] Abstract Location Set
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
Nikos Gorogiannis 31653ca6c3 [racerd] more precise trace expansion
6 years ago
Sungkeun Cho f70d6da8f2 [inferbo] Use record type for eval_sym_trace
6 years ago
David Lively 33eabe6bfd New is_cxx_method_overriding predicate
6 years ago
Daiva Naudziuniene e59d9632b1 [Pulse] Improve example to illustrate FP caused by an allocation in a branch
6 years ago
Sungkeun Cho 0086c34364 [inferbo] Add symbolic locations for parameters
6 years ago
Ezgi Çiçek a835a3511d [logging] Log unanalyzed procedures
6 years ago
Jules Villard 9510549cf6 [ios] kill flaky linter test
6 years ago
Jules Villard ecbe8eca76 [pulse] remove nullptr model
6 years ago
Jules Villard 1c668c4d41 [SIL][preanalysis] add call flag for functions treating first formal as return
6 years ago
Jules Villard f3411a2203 [HIL] Add `ExitScope` instruction
6 years ago
Jules Villard 0b2dcbf406 [pulse] add non-passing tests about join
6 years ago
Jules Villard e3b4a135ae [ai][pulse] fix minor html indentation issues
6 years ago
Jules Villard 55586b581b [preanalysis] do not delay killing variables taken by reference
6 years ago
Nikos Gorogiannis 91f115fcaa [biabduction] Don't raise on timeout without location
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
Mehdi Bouaziz 3b9bccf126 [html debug] Do not escape non-ascii chars
6 years ago
Sungkeun Cho 442fecc030 [inferbo] Fix performance of issue deduplication
6 years ago
Ted Reed 22bebd2cee quandary: Break out deserialization from endpoints into a _risk category
6 years ago
Mehdi Bouaziz b0b96b453b [cost] Do not need to load inferbo summary at calls
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
Ezgi Çiçek 305b2a74b8 [hoisting] Add new issue type for only invariant-modeled calls
6 years ago
Mehdi Bouaziz 8abe07ba20 [html debug] Cleanup unused CSS classes + use UTF-8
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 8443cd73f6 [quandary] Allow sinks to have multiple taints
6 years ago
Mehdi Bouaziz 8de2b93cab [cost] Abstract type for polynomial degree
6 years ago
Nikos Gorogiannis bbd26769c9 [starvation] c++/Obj C deadlocks
6 years ago
Mehdi Bouaziz 5b3bca5562 [quandary] Allow sources to have multiple taints
6 years ago
Mehdi Bouaziz 8240ca4430 More unicode fun: bottom & top
6 years ago
Mehdi Bouaziz 5f60ffaa8f [inferbo] Trace refactoring
6 years ago
Nikos Gorogiannis 2c6a705116 [racerd] kill stability
6 years ago
Mehdi Bouaziz f4e9975783 [inferbo] Fix deadcode
6 years ago
Jules Villard c00b076a05 [setup] opam 2
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
Nikos Gorogiannis 1121efbe59 [concurrency] refactor C++ models
6 years ago
Daiva Naudziuniene b640d69021 [pulse] An example of false positive caused by an allocation in a branch
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
Ezgi Çiçek 613c4a2848 [purity] Fix wrong invalidation of all params
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
Sungkeun Cho 1486a5f105 [infer] Translate casting expressions of integer pointers
6 years ago
Dino Distefano 0d5a7028ab Removing unnecessary printing
6 years ago
Nikos Gorogiannis 3b5262f185 [racerd] refactor method matching for all languages
6 years ago
Jules Villard 646aa30797 [cfg] print dotty *after* pre-analysis
6 years ago
Mehdi Bouaziz 4a4e8c6e1b concat_traces: always print labels
6 years ago
Mehdi Bouaziz acf740e145 Print Unicode chars only if the locale allows it
6 years ago
Ezgi Çiçek 5fa89e2563 [purity] Disable clang
6 years ago
Martino Luca 77a5fbd7ba [Perf] Emit reports as Advice
6 years ago
Martino Luca b61d21cbff [Perf] Better message for PERF VARIATION type
6 years ago
Mehdi Bouaziz ed25b70ff2 RacerD: use concat_traces
6 years ago
Mehdi Bouaziz efcfea5454 First step for multiple traces
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 bc1e048fe3 [compilation database] Disable C++ modules
6 years ago
Martino Luca 6d12d67613 [Perf] Embed filtering for costs reports
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
Nikos Gorogiannis 68a08a8a09 [starvation] stop reporting on AccountManager.setUserData
6 years ago
Mehdi Bouaziz fac9932168 [inferbo] Add traces to Conditions always true/false and Unreachable code
6 years ago
Ezgi Çiçek 6683c71f8b [purity, hoisting] Add more purity models for fblite and instagram
6 years ago
Nikos Gorogiannis ab046a4128 memcached intra-build
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
Nikos Gorogiannis f3194e00c9 [starvation] silence some strict mode models
6 years ago
Nikos Gorogiannis d53c81c65c [concurrency] add model for android.app.Application
6 years ago
Nikos Gorogiannis 276c25b563 [starvation] no starvation warnings on constructors
6 years ago
Martino Luca 28e7063ac4 [Perf] Do not fail when encountering non-ASCII chars in JSON payloads
6 years ago
Dino Distefano c4701f8a04 Fix ERROR RUNNING BACKEND
6 years ago
Mehdi Bouaziz 716caf91bf Add is_singleton_or_more to Set and Map
6 years ago
Nikos Gorogiannis a3df8f9f99 [starvation] simplify report format
6 years ago
Nikos Gorogiannis b5094cda9b [starvation] suppress the number of reports suppressed
6 years ago
Dino Distefano c8c895dbc0 Fix buck
6 years ago
Martino Luca 71d5b2f8ff [Infer][Perf] Enrich messages with Markup syntax
6 years ago
Jules Villard b42d625606 [tests] fix buck tests
6 years ago
Mehdi Bouaziz 0ba4c2c892 [cost] Pretty-printing exponents
6 years ago
Mehdi Bouaziz 5ed59b1655 [Inferbo/cost] Improve pretty-printing
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
Sungkeun Cho 50ebea5faa [inferbo] Fix path of allocsite in declaration
6 years ago
Mehdi Bouaziz 42b16d45fa [inferbo] New tests
6 years ago
Mehdi Bouaziz 2a60a988e7 [buck] Update parameters with arguments list
6 years ago
Martino Luca 0547878898 Update InferBO tests
6 years ago
Mehdi Bouaziz a7921536da [quandaryBO] New test
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
Daiva Naudziuniene 2c06254800 [pulse] False positive caused by multiple variables captured by value in lambda
6 years ago
Ezgi Çiçek 2f06fd768f [purity, hoisting] Keep track of modified args
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
Dino Distefano d10f6855f2 Making error message more explicit in CXX Reference rule
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
Sungkeun Cho b3bfa8100b [inferbo] Add test
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
Martin Trojer 448a2dcaec [osx] fix multi-process sqlite crash
6 years ago
Martino Luca 8d410d63c0 [Infer][Perf] Make reports more human readable
6 years ago
Martino Luca ef2cfa7b40 [Infer][Perf] Deduplication of identical perf reports
6 years ago
Mehdi Bouaziz 9a4416f7d4 [quandary] String concatenation sanitizes class loading
6 years ago
Mehdi Bouaziz 174bdcd22b [quandary] Add class-loading sinks
6 years ago
Mehdi Bouaziz 141d0da672 Use the exceptional CFG to compute loop-heads
6 years ago
Sungkeun Cho 72ce05c039 [inferbo] Fix width of bool
6 years ago
Daiva Naudziuniene 86f52e52ed [pulse] Operator= copy assignment
6 years ago
Dino Distefano 888d5b2cdb Switch WRONG_SCOPE_FOR_DISPATCH_ONCE_T on for diff analysis
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
Martin Trojer 0d4a0ba35c [objc] add test for strong/weak self references
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
Jules Villard 54fb38b7e8 [clang] ensure we get the correct file path
6 years ago
Josh Berdine 6a4d8b72f0 [doc] Fix some invalid/suspicious docstrings
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
Ezgi Çiçek 39335bb095 [hoisting] Invalidate all dependencies of invalidated parameters
6 years ago
Sungkeun Cho acdb624723 [inferbo] More deduplication
6 years ago
Sungkeun Cho fed56fd0d8 [inferbo] Revise deduplication
6 years ago
Dino Distefano 5d533bba5c New Infer rule for dispatch_once_t
6 years ago
Sungkeun Cho 9e9deb93be [inferbo] Use set instead of list on get_symbols
6 years ago
Ezgi Çiçek 8a51a70162 [Hoisting] Add FP test for indirect modification in loop
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
Sungkeun Cho a2312462eb [inferbo] Use values of global constant variables in C
6 years ago
Sungkeun Cho e5ee023aa3 [infer] Add integral constant expression info
6 years ago
Sungkeun Cho f0fd0fd7ac [infer] Use inline record in Pvar
6 years ago
Jules Villard c8aced1df1 [absint] separate id map bookkeeping from checker transfer functions in LowerHIL
6 years ago
Jules Villard 9a4155f4ef [absint] unify html debug for HIL and SIL
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 fd9f0e8101 IntLit: more types
6 years ago
Mehdi Bouaziz fa222ac259 [inferbo] Move most debug from logs to html
6 years ago
Mehdi Bouaziz 17ff54f17a Logging: increase/decrease indent
6 years ago
Mehdi Bouaziz 18c45947da Logging.d_printf
6 years ago
Mehdi Bouaziz 320a859a8a Remove some uninteresting dead code
6 years ago
Mehdi Bouaziz 1606b95f1b Logging: merge d_str_color with d_str
6 years ago
Mehdi Bouaziz b6323db37b Some pp functions
6 years ago
Mehdi Bouaziz 1c7cdb02de Logging: fix some color printing
6 years ago
Sungkeun Cho 87dd2047ec [infer] Use big int in IntLit
6 years ago
Nikos Gorogiannis 77f7e70417 [racerd] cleanups in reporting function
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
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
Sungkeun Cho 423b732cb4 [inferbo] Fix condition of narrowing termination
6 years ago
Sungkeun Cho b66f3af827 [inferbo] Fix PrunePairs domain
6 years ago
Mehdi Bouaziz 10804588b2 New function pointer preanalysis without recursion
6 years ago
Mehdi Bouaziz 7fd21e056c [inferbo] Limit narrowing to 5 iterations
6 years ago
Mehdi Bouaziz 6131b1fd13 Allow ints for int options in .inferconfig
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
Dino Distefano 6fe3edc44e Extending type matching to BlockExpr
6 years ago
Jules Villard 6cce767d19 [pulse] copy tests from ownership
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
Jules Villard cb4bf4443f [sqlite] increase timeout to avoid BUSY errors
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
Nikos Gorogiannis 342bfb418a [racerd] fix NSObject.init treatment of ownership
6 years ago
Nikos Gorogiannis b0b8459c3a [racerd] detect ObjC "private" methods
6 years ago
Jeremy Dubreil bb5518b221 [infer] no need to store the procedure attributes for the Java methods
6 years ago
Nikos Gorogiannis 105b772cff [racerd] iOS first steps
6 years ago
Mehdi Bouaziz 33872ff0e9 [buck] Disable C++ modules
6 years ago
Mehdi Bouaziz 148664a7d4 Fix objc tests
6 years ago
Mehdi Bouaziz 139f02449a [inferbo] Remove useless opens
6 years ago
Mehdi Bouaziz ce34dcb695 Format everything
6 years ago
Mehdi Bouaziz ecedb27d77 Add missing FB copyrights
6 years ago
Sungkeun Cho fd3f298156 [inferbo] Add narrowing
6 years ago
Daiva Naudziuniene 5dab665fc2 [pulse] Model placement new
6 years ago
Daiva Naudziuniene 50da07e922 [pulse] Invalidate addresses for destructors
6 years ago
Sungkeun Cho 85ef451701 [infer] Use integer widths on constructing Sizeof exp
6 years ago
Mehdi Bouaziz 3dd97cc40f [inferbo] Use WTO abstract interpreter
6 years ago
Sungkeun Cho f28faad627 [inferbo] Filter integer_overflow_l5 and _u5 by default
6 years ago
Nikos Gorogiannis ea7b185b6b [classloads] add option for specifying root methods and add tests
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
Mehdi Bouaziz 2d4e58f57f Mangled.this/is_this
6 years ago
Mehdi Bouaziz e72cd6c00f [inferbo] More precise min/max
6 years ago
Sungkeun Cho 38ab5fda4e [inferbo] Add some tests of imprecise pruning on unsigned int
6 years ago
Mehdi Bouaziz 2bb95e3da6 [AI][debug] Simplify output with phys_equal
6 years ago
Mehdi Bouaziz 592efbf5fa [inferbo] Refine <= for MinMax
6 years ago
Nikos Gorogiannis 4d4f053c62 [classloads] no abstract interpreter
6 years ago
Nikos Gorogiannis 70ed9b146f [classloads] sil version
6 years ago
Nikos Gorogiannis 4334225e67 [class loading] initial commit
6 years ago
Nikos Gorogiannis 7e7913d5ee [racerd] recognize more class member types as concurrency hints for C++
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
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 6d9943f2aa Uninit: fix test
6 years ago
Martin Trojer 0d4b88ae29 [objc] fixing false positive for weak pointers inside c++ structs
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
Mehdi Bouaziz 5e2d5c6f6b [Uninit][10/13] Other non-functional changes
6 years ago
Jules Villard 8360465284 [cfg] always store specialized proc desc CFGs
6 years ago
Mehdi Bouaziz 81f31068e2 [Uninit][9/13] Check rhs using prestate
6 years ago
Mehdi Bouaziz d8ecfbfc4b Do not compare types of array elements in access paths and access expressions
6 years ago
Mehdi Bouaziz b3cef556b7 [debug] Print types in access paths/expressions in verbose mode
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
Jules Villard 3821be4b7f [pulse] fix compilation error in test
6 years ago
Mehdi Bouaziz dffdd9c2ad [cost] Print constraints in HTML debug
6 years ago
Jules Villard d28d0528d1 [pulse] initial commit
6 years ago
Jules Villard 98f65298c5 [log] do not crash when logging errors
6 years ago
Mehdi Bouaziz a2230bca9d [debug] Print nodes using weak topological order
6 years ago
Mehdi Bouaziz 8ef9bf7641 Expose WTO in ProcCfg
6 years ago
Mehdi Bouaziz b324dbd8dd Use WTO to get loop heads
6 years ago
Mehdi Bouaziz 0d4c06efc5 WTO: use a partial ProcCfg
6 years ago
Jules Villard dd2b9675d6 [log] print only innermost source file context of crash
6 years ago
Jules Villard bee7649048 [perf] fix capture traces and record clang events
6 years ago
Sungkeun Cho fd660f42f5 [inferbo] Suppress exception on placement new
6 years ago
Dino Distefano 2e64566a6c Finding stateless CKComponents
6 years ago
Mehdi Bouaziz 371e1267d9 [debug] Get rid of proof_cover/isproof
6 years ago
Mehdi Bouaziz b71af05f00 Stats: merge visited_fp and visited_re
6 years ago
Mehdi Bouaziz f873debc96 [inferbo] Debug latest prune abstract value
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
Nikos Gorogiannis 9eecd1bb9b [racerd] reconcile java and clang report corellation code
6 years ago
Dino Distefano 08a26d4ba1 First approximation of stateless
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 eca0b491d6 Weak Topological Order and Abstract Interpreter using it
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 5679105c15 [Uninit][7/13] Add new tests
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
Dino Distefano 89700a7d95 Added new predicated for captured values
6 years ago
Mehdi Bouaziz f639906496 [Uninit][2/13] Move summary type
6 years ago
Mehdi Bouaziz 8cac7df447 [Uninit][1/13] Move interproc tests
6 years ago
Mehdi Bouaziz b90c2f3bfc [debug] Print proc attributes on the procedure page
6 years ago
Mehdi Bouaziz 15839539a7 Annot.Method: record rather than pair
6 years ago
Nikos Gorogiannis 0b4beda1cd [starvation] also consider subclasses of Future
6 years ago
Sungkeun Cho 1330475032 [infer] Fix placement_new translation
6 years ago
Sungkeun Cho f4ee2a0234 [inferbo] Revise placement new model
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
Jeremy Dubreil 56709b4ccb [infer] the bug hash should also consider the anonymous classes in the qualifier
6 years ago
Jules Villard 8c7bff0210 [proc-cfg][5/5] remove file-wide cfgs from the db
6 years ago
Jules Villard 2b30dec50a [proc-cfg][4/5] kill Cfg.load
6 years ago
Jules Villard 31e01a9aa0 [proc-cfg][3/5] stop caching whole-file cfgs in exe_env
6 years ago
Jules Villard 7615963bf4 [proc-cfg][2/5] fix duplicate symbols detection
6 years ago
Jules Villard 7e20c8d380 [proc-cfg][1/5] add per-procedure cfgs to the procedures table
6 years ago
Jules Villard b8240eadc1 [cfgs] only analyse *defined* procedures
6 years ago
Jules Villard 2a51bdabaf [cfgs] move specialize_* functions to another module to avoid circular dependencies
6 years ago
Sungkeun Cho 67d14d692e [infer] Avoid twice of xml escaping
6 years ago
Nikos Gorogiannis 41e43b5c1e [starvation] fix typo in reporting
6 years ago
Nikos Gorogiannis 309ce2d362 [racerd] folly spinlock models
6 years ago
Jeremy Dubreil 78505af836 [infer] fix typo in the computation of the bug hash
6 years ago
Jeremy Dubreil fd29aff3a7 [infer] remove the special case to always create summaries for the Java methods
6 years ago
Nikos Gorogiannis 8521d7590a [starvation] allow propagation of order constraints to any class
6 years ago
Jules Villard e3efc0e465 [sql] batch write of attributes
6 years ago
Sungkeun Cho 96cbdb15c7 [inferbo] Use big_int in interval domain
6 years ago
Jules Villard cd49a0c72d [cfg] store the same version of the attributes as the attributes table
6 years ago
Nikos Gorogiannis 1644e99499 [starvation] add issue type STRICT_MODE and make distinct reports on it
6 years ago
Nikos Gorogiannis cbe4d9b0fd [concurrency] drop option type from method matcher records
6 years ago
Nikos Gorogiannis 2989b339a1 [starvation] streamline and enable strict mode
6 years ago
Jules Villard 116ec5ae55 [clang] changes to accomodate the new version of clang
6 years ago
Ezgi Çiçek b54307f5d0 [Hoisting] Add test for FP due to no purity check
6 years ago
Ezgi Çiçek aca0b8e130 [Hoisting] Fix hoisting of void functions
6 years ago
Jeremy Dubreil 2f7e4563c6 [eradicate] also lookup the procedure attributes in the super class
6 years ago
Nikos Gorogiannis 9b02c497f8 [starvation] extract explicit traces
6 years ago
Mehdi Bouaziz e11ec33289 arc: add Java formatter
6 years ago
Jeremy Dubreil ae1861ca42 [eradicate] match the number of parameters when iterating over the list of overridden methods
6 years ago
Jules Villard a3f428e90f [sql] make busy timeout configurable
6 years ago
Mehdi Bouaziz 7c89d92851 [RFC] Format all java files
6 years ago
Ezgi Çiçek d4f943e953 [purity] Don't report on access methods
6 years ago
Sungkeun Cho 86d1560984 [inferbo] Add tests of integer overflow and unsafe casting
6 years ago
Jeremy Dubreil 1989ef7e28 [eradicate] add example false positive caused by not finding the attributes
6 years ago
Ezgi Çiçek 43b3f80de5 Add simple purity analysis
6 years ago
Julian Sutherland 93690dfa0e Check that the end the traces of inferBO and quandary issues match before matching them to form an quandaryBO issue
6 years ago
Jules Villard bb037c39ee [kill -a][4/4] kill `Config.analyzer`, deprecate `--analyzer`
6 years ago
Jules Villard 16dd1ddfaf [kill -a][3/4] remove dead python constants
6 years ago
Jules Villard ea463ce960 [kill -a][2/4] always register checkers in `InferAnalyze`
6 years ago
Jules Villard a29e769b61 [kill -a][1/4] stop using `-a foo` in the infer repo
6 years ago
Jules Villard c257f68226 [kill -a][0/4] do not rely on `Config.analyzer`
6 years ago
Jeremy Dubreil 878add3fad [eradicate] no longer report Field Not Nullable warnings on the Fragment onDestroy method
6 years ago
Julian Sutherland ae924d35ac changes missed in commit "[starvation] refactor method matching ; kill dev-android-strict-mode option"
6 years ago
Nikos Gorogiannis 631959ced0 [starvation] refactor method matching ; kill dev-android-strict-mode option
6 years ago
Mehdi Bouaziz 90fd5ec4a4 Optimize generate_key_stmt/decl
6 years ago
Jules Villard 515d9f6769 [man] check in manual pages
6 years ago
Nikos Gorogiannis 0c7a8556dc [concurrency] treat @MainThread annotation
6 years ago
Jules Villard a2adde8948 try harder not to print empty option names on error
6 years ago
Martin Trojer 6d17ba7044 make tests work in xcode10
6 years ago
Mehdi Bouaziz 82a7f14f90 QuandaryBO issue filtering: fix --no-filtering behavior
6 years ago
Vincent Siles 69f8ebaef6 have infer automatically figure out when `--merge` is needed
6 years ago
Nikos Gorogiannis 66392db8d5 [starvation] allow specifying method patterns for skipping analysis via cmdline and inferconfig
6 years ago
Julian Sutherland 0e9d8380c2 filter issues correctly
6 years ago
Dino Distefano 3c04f32709 hadoc const version
6 years ago
Julian Sutherland b838b7bc46 limited widening to 10 steps
6 years ago
Jules Villard 590f1faac5 [perf] trace pipe operations
6 years ago
Jules Villard 5a894df3af [perf] trace serialization functions
6 years ago
Jules Villard d5c59743b7 [callbacks] trace each checker's execution time
6 years ago
Jules Villard 6837629654 [perf] emit Trace Event json
6 years ago
Jeremy Dubreil eccfb4de10 [nullsafe][Objective C] more models of methods asserting the paramters to be different from nil
6 years ago
Jeremy Dubreil f2282a8277 [infer][buck] use a unique name for the Infer Javac wrapper
6 years ago
Mehdi Bouaziz 88bdf7a797 Fix IList.inter
6 years ago
Julian Sutherland 60784ad045 Updated QuandaryBO issue matching.
6 years ago
Martin Trojer f1353ec3da Turn --buck-blacklist into a string list
6 years ago
Thomas M. DuBuisson 75e4226ea3 [infer][PR] Fix getcwd model to allow NULL argument
6 years ago
Jules Villard 5478f3be64 [log] source location info when dying in the backend
6 years ago
Jules Villard 86f8f3e949 [log] log dying message and backtrace to log file
6 years ago
dWiGhT 704c7cf680 [infer][PR] added `<version>` tag for `maven-compiler-plugin`
6 years ago
Julian Sutherland f6afe3a092 quandaryBO now filters out quandary and inferBO errors if they are not enabled.
6 years ago
Julian Sutherland 5cf66f6da8 InferBO strncpy model
6 years ago
Julian Sutherland 949aae560b Added traces to QuandaryBO errors
6 years ago
Nikos Gorogiannis bca942c694 [python] kill python frontend
6 years ago
Julian Sutherland a5d3203ce8 inferBO calloc model
6 years ago
Martin Trojer 5dff755691 Lock objc_missing_fld to one thread.
6 years ago
Martin Trojer f94e760c7e Adding model and tests for NSString_stringByAppendingString
6 years ago
Jeremy Dubreil 48f03f06f4 [eradicate] skip the analysis of the method in external methods
6 years ago
Mehdi Bouaziz bd8d2eb941 ProcAttributes: simplify var_attribute
6 years ago
Jeremy Dubreil ff851040fc [eradicate] read the procedure attributes directly
6 years ago
Julian Sutherland e24ce31744 Added inferBO model for the C memset function.
6 years ago
Mehdi Bouaziz d9fb7b3004 ProcAttributes: removed unused by_vals
6 years ago
Mehdi Bouaziz 9608c4d340 PrintfArgs: removed unused fixed_pos
6 years ago
Jeremy Dubreil 3442ce1999 [eradicate] no longer report Inconsistent Subclass Return Annotation when overriding external methods
6 years ago
Mehdi Bouaziz f57e7028a8 ProcAttributes: removed unused proc_flags
6 years ago
Julian Sutherland 16c70d1c23 Fixed a bug that caused the stride of symbolic arrays to not be set.
6 years ago
Dino Distefano 21145c75c9 Added new predicate is_const_expr()
6 years ago
Jeremy Dubreil 0d4007e6be [nullsafe] translate the more attributes
6 years ago
Nikos Gorogiannis 52eef069b2 [concurrency] fix UI thread models
6 years ago
Sungkeun Cho b86b6b44f3 [inferbo] Substitute free symbols to Itv.top
6 years ago
Jeremy Dubreil c38163a83a [eradicate] the Java map put method does not accept nullable parameters
6 years ago
Jeremy Dubreil 30bec802aa [infer] more terminal colors for the Infer reports
6 years ago
Daiva Naudziuniene 0bbeb85295 [ownership] Stack reference wrapper example
6 years ago
Martino Luca b0cfd73b19 [Perf] Emit traces alongside cost issues
6 years ago