6043 Commits (7ecd091ff377d5ba928e60d34bbf68440b8722ab)

Author SHA1 Message Date
Ezgi Çiçek 98ecc13a5e [inferbo,cost] Add models for java.util.Arrays and java.util.List
6 years ago
Martin Trojer 90a1324ed3 make blacklisted clang flags configurable
6 years ago
Dino Distefano 24728dc093 New ObjC checker for calls to @optional methods
6 years ago
Nikos Gorogiannis 88d31a7a21 [infer][tests] avoid races in less hacky way
6 years ago
Peter O'Hearn 9b8a908ad3 [Pulse] model folly delayed destruction
6 years ago
Jules Villard 1a19cd5e2d [clang] change `offsetof()` test
6 years ago
Jules Villard 1395d5581d [clang] upgrade to 8.0.0
6 years ago
Jules Villard 4697b22fb4 [clang] make ndk-build integration compatible with clang 8
6 years ago
Ezgi Çiçek 2c15245260 [loop-invariance] Take purity models into account
6 years ago
Ezgi Çiçek c14b917e7f [purity] Rename tests
6 years ago
Ezgi Çiçek a01a4a3658 [purity] Enhance purity models with invalidated arguments
6 years ago
Nikos Gorogiannis 4e0808f1ca [infer][test_build] add fatal warning and fix instance
6 years ago
Radu Grigore 3cf774a142 Fixed typos in comments.
6 years ago
Jules Villard d4e4ed55bc [objc] make quandary test run
6 years ago
Jules Villard 8330394eff [clang] new option to override `-I` paths
6 years ago
Jules Villard 2fff66b1c9 [clang] refactor argument dispatch logic
6 years ago
Ezgi Çiçek a092c4f3f9 [cost] Generalize Java's sort model
6 years ago
Nikos Gorogiannis c697222a04 [scheduler] fix deadlock introduced in D15373840
6 years ago
Ezgi Çiçek bc082da199 [cost] Make unmodeled functions pure by default
6 years ago
Ezgi Çiçek 75cfdf23ea [clang] Fix arc lint
6 years ago
Jules Villard 1241e98403 [clang] avoid error on ObjC model
6 years ago
Dino Distefano 2f3b376996 Added is_optional_objc_method predicate
6 years ago
Ezgi Çiçek b455baae5d [loop-invariance] Invalidate args to T function calls
6 years ago
Ezgi Çiçek 639c91c29f [loop-invariance] Add FPs for modified global and static invalidation
6 years ago
Jeremy Dubreil b06bb42a02 [infer] more nullable tests
6 years ago
Jeremy Dubreil c96e72b990 [eradicate] record example of false positive with invariants between variables
6 years ago
Nikos Gorogiannis eb15e931d1 [callgraph] better progress info
6 years ago
Jeremy Dubreil 79b0b8172d [eradicate] add a model for java.nio.file.Path.getParent()
6 years ago
Nikos Gorogiannis 08ba3e2acb [callgraph] log a bit more
6 years ago
Mitya Lyubarskiy 04c3ccaac5 [infer][logging] support passing arbitrary scuba columns to infer
6 years ago
Mitya Lyubarskiy 6f06e9b20f [infer] Ability to present a list of key-value pairs as a map
6 years ago
Nikos Gorogiannis d9853aa53d [scheduler] quiet at procedure level
6 years ago
Mehdi Bouaziz 64dea4dc0f [inferbo] No need to canonicalize paths in on-demand
6 years ago
Nikos Gorogiannis 66f6f54035 [oomguard]
6 years ago
Jules Villard d586630edf [pules] do not print templated part of function names
6 years ago
Jules Villard 5de9bc29d2 [pulse] better error messages
6 years ago
Jules Villard b700af9ffb [hil] do not put parens around trivial expressions
6 years ago
Mehdi Bouaziz 9db3a3a0b6 [Inferbo] Abstract repeated fields in paths
6 years ago
Mehdi Bouaziz ca28d07cfc [debug] Session kinds
6 years ago
Jules Villard 9717be7e2f [biabd] various very minor changes
6 years ago
Jules Villard 3b3139a29e [biabd] kill Config.undo_join
6 years ago
Ezgi Çiçek d033e72196 [purity] Add tests for locality
6 years ago
Dino Distefano c077cab1a9 (Hopefully) fixed problems with AL
6 years ago
Nikos Gorogiannis 5b4cb893de [processpool] schedule work to idle workers once per refresh cycle
6 years ago
Nikos Gorogiannis 4bdc6efd2e [scheduler] bottom-up callgraph scheduling
6 years ago
Andrew Adams-Moran 0ad15356c2 Add @Cleanup annotation
6 years ago
Mehdi Bouaziz 0a5810c579 [NodePrinter] Force usage of with_session
6 years ago
Jeremy Dubreil 4a44bd4430 [eradicate] remove the constant flag return_nonnull_silent
6 years ago
Jules Villard 6364199b94 [pulse] traces record how values were constructed
6 years ago
Jules Villard 70d38cea77 [pulse] rename PulseTrace.t -> PulseTrace.breadcrumbs
6 years ago
Jeremy Dubreil dc89f3b5a4 [eradicate] remove dated debug info
6 years ago
Mehdi Bouaziz c52125cfcf Debug html for header files
6 years ago
Mehdi Bouaziz 57eb7395d7 Ensure source-file-html files are written
6 years ago
David Lively 94c0cffd56 [checkers] Fiddling w/annotation-reachability-cxx trace format
6 years ago
Jeremy Dubreil 8d36c33d20 [eradicate] record false positive when testing the return on an assignment
6 years ago
Jeremy Dubreil 80ecc959a4 [eradicate] recording false positive example with nullability information stored into a boolean
6 years ago
Jeremy Dubreil adbf6861e9 [eradicate] record false positive when incorrectly looking up overriden methods
6 years ago
Jeremy Dubreil 4725c97fc9 [eradicate] record false positive with nullability information lost after assignment
6 years ago
Dino Distefano 10ca0c3269 Fix detection of return type for instancetype when using NS_ASSUME_NONNUL
6 years ago
Mehdi Bouaziz 12687b2948 Preparatory changes in Printer
6 years ago
Mehdi Bouaziz b27c02ad35 [clang] Correct value for offsetof
6 years ago
Mitya Lyubarskiy 03927af1d0 [infer][realtime log] initial scuba API
6 years ago
Martin Trojer e7ad99eed0 Using DB to store modified functions
6 years ago
Nikos Gorogiannis 7106de35a3 [issuelogs] less imperative
6 years ago
Nikos Gorogiannis 1d846ba631 [racerd] kill original paths from summary
6 years ago
Jules Villard a53d139466 [tests] record ant test
6 years ago
Nikos Gorogiannis d082f36448 [sqlite] calls in the db
6 years ago
Jules Villard d5755fe5c0 [config] starvation on by default
6 years ago
Jules Villard a6ab0cbb0d [CLI] print all available issue types
6 years ago
Dino Distefano 144847219e Making the name and error message for performance variation in cold start stronger
6 years ago
Nikos Gorogiannis 5a18ad5c69 [tasks] relax task generator interface contract
6 years ago
Jeremy Dubreil b47e2d13f3 [eradicate] simplify the analysis traces
6 years ago
Dino Distefano 4f982e9f63 Add predicate for Unavailable attr
6 years ago
Nikos Gorogiannis 65824ed7a9 [tasks] move to a task generator interface
6 years ago
Dino Distefano df438016f2 Adding SourceExp transition to AL
6 years ago
Ezgi Çiçek da13e52b27 [inferbo] Generalize String.length to CharSequence.length
6 years ago
Jeremy Dubreil 5b76bb876f [infer] make the censor reason an option field in the analysis report
6 years ago
Nikos Gorogiannis 711e7d1611 [sqlite] always die on error
6 years ago
Mehdi Bouaziz 4333d5f9cc Summary fields stats
6 years ago
Nikos Gorogiannis 8450ac36d8 [trivial] procname should implement Hashable
6 years ago
Jeremy Dubreil 95ddfd04ca Revert "[topl] Synthesize trivial procedures."
6 years ago
David Lively e0ce8c4392 Add --annotation-reachability-cxx-sources override option
6 years ago
Ezgi Çiçek c85563d606 [inferbo,cost] Add cost models for java.util.Collections
6 years ago
Mehdi Bouaziz 0414024314 [inferbo] Clean up exit state from unreachable locations
6 years ago
Mehdi Bouaziz 2a0ec8c0db Fix infer explore --source-files-procedure-names
6 years ago
Mehdi Bouaziz 8bf0f66f15 Simplify Payloads.pp
6 years ago
Nikos Gorogiannis 941b63a426 [classloads] remove possible race
6 years ago
Radu Grigore 86aae0b8ed [topl] Synthesize trivial procedures.
6 years ago
Nikos Gorogiannis cbf0d00d09 [cost] reduce noise
6 years ago
Mehdi Bouaziz 06caabd50d Fix deadcode
6 years ago
Mehdi Bouaziz 68d0fa8f44 [inferbo] Rename forget_locs
6 years ago
Mehdi Bouaziz 9d2e9102ad Simplify payloads with ppx_fields_conv
6 years ago
Mehdi Bouaziz 4e249b8cc3 Improve man page for infer explore
6 years ago
Jeremy Dubreil 07d6ab2dd6 [infer][racerd] report the thread safety violations as warnings instead of errors
6 years ago
Jeremy Dubreil 8201bc1c4e [infer] add the Fragment from the androidx package to the hard copied lists
6 years ago
Jules Villard 4a91616390 [man] fix bogus markup
6 years ago
Jules Villard 1e3fafb558 [report] avoid embarrassing "object `null` could be null" message
6 years ago
Jules Villard 95132bc3f0 [report] restore missing "could be null and is dereferenced" message for nullable dereference
6 years ago
Lee Howes 183e9ed9fa Add call_cxx_method predicate
6 years ago
Jeremy Dubreil 86d4c5a55f [infer] make the Fragment Retains View checker support the androidx Fragment class name
6 years ago
Daniel Mercier 3fef754b66 [infer][PR] Escape double quotes in urls
6 years ago
Ezgi Çiçek c114a4b9f2 [control,cost] Add test for dangling global enum
6 years ago
Mehdi Bouaziz 21b5eb72e6 [Hoisting] Simplify fetching callee cost
6 years ago
Ezgi Çiçek 478e278ba0 [control] Don't fail hard on undefined control variables
6 years ago
Ezgi Çiçek f4cdc23543 [hoisting] Turn on hoisting of expensive functions by default
6 years ago
Ezgi Çiçek 7e16aafdba [loop-hoisting] Incorporate cost trace into EXPENSIVE_LOOP_INVARIANT_CALL issues
6 years ago
Ezgi Çiçek 6d25b0990d [cost,purity] Model java's Map as Collections
6 years ago
Ezgi Çiçek 105e50d432 [inferbo,cost] Add models for SparseArray
6 years ago
Ezgi Çiçek 4eec73c2f2 [loop-hoisting] Add complexity to EXPENSIVE_LOOP_INVARIANT_CALL issue message
6 years ago
Ezgi Çiçek a2140c3ae4 [hoisting] Rename LOOP_INVARIANT_CALL to EXPENSIVE_LOOP_INVARIANT_CALL and remove VariantForHoisting
6 years ago
Mitya Lyubarskiy 71a2f9bd1d [infer] fix a compiler warning
6 years ago
Mitya Lyubarskiy 244953c04d [infer] Add +14 as warn-as error
6 years ago
Ezgi Çiçek 997ba7c151 [inferbo] Fix inferbo error for ondemand paths of Java Collections
6 years ago
Martin Trojer 52fd4c50de Clang Diff Determinator
6 years ago
David Lively 67cd0e1cd7 More tweaking of annotation-reachability-cxx output
6 years ago
Jules Villard b5589661ce [pulse] improve error messages and traces
6 years ago
Jules Villard 9dbbd68472 [pulse] apply summaries to globals too
6 years ago
Jules Villard 3ba05b8cee [pulse] be more careful about what to consider as a variable going out of scope
6 years ago
Jules Villard 31c2a39e81 [pulse] tighten up summaries
6 years ago
Jules Villard ab30cdb379 [pulse] allow models to return disjuncts
6 years ago
Jules Villard 7c90480758 [pulse] do not create `&` back-edges eagerly
6 years ago
Jules Villard ada032ee2c [pulse] improve error messages and traces
6 years ago
Jules Villard db4e1ea433 [pulse] reallocate variables on initialisation
6 years ago
Jules Villard f659aa1004 [pulse] lower max disjuncts to 20 and loop unrollings to 3
6 years ago
Jules Villard ac62b64009 [pulse][minor] improve debug html
6 years ago
Jules Villard d03271d318 [pulse] no need to keep location information in `PulseInvalidation.t` anymore
6 years ago
Jules Villard 3ce095a288 [pulse] more efficient representation of attributes
6 years ago
Jules Villard d57ed5086e [pulse] better treatment of variables going out of scope
6 years ago
Jules Villard 53b1577b4c [pulse][interproc 3/3] interproc call
6 years ago
Jules Villard 08fb93022f [ai] read proc_desc too
6 years ago
Jules Villard 0300d5374c [pulse][interproc 2/3] abductive domain
6 years ago
Jules Villard f0f66daa4c [pulse][interproc 1/3] save/restore fresh abstract address generator across ondemand calls
6 years ago
Radu Grigore 344889775b [infer][PR] Don't join postconditions. Fixes #678.
6 years ago
Jules Villard 686231ec6e [SIL] change `variable_initialization()` builtin to a new auxiliary instruction
6 years ago
Jules Villard 2151be9c25 [issues] do not dedup issues when `Config.filtering` is unset
6 years ago
Ezgi Çiçek bbc417cb44 [cost] Fix class name lookup in Cold Start
6 years ago
Ezgi Çiçek b802620bc8 [cost] Add cost models for loop invariant functions
6 years ago
David Lively 2682cdb463 Tweak formatting of CxxAnnotationSpecs output
6 years ago
David Lively 996f7c4f02 Allow Cxx annotation-reachability src/sink/override w/paths AND symbols
6 years ago
Jules Villard 74b7345fd2 [payloads][trivial] alphabetise
6 years ago
Jules Villard ebe5028ca1 [SIL] add `Skip` metadata instruction
6 years ago
Jules Villard b665e1c575 [SIL][HIL] distinguish auxiliary instructions as `Metadata`
6 years ago
Nikos Gorogiannis 70b7beac1c [infer] randomise source files list in deterministic way
6 years ago
Ezgi Çiçek f127d1ca9e [reportdiff] Remove Internal error
6 years ago
David Lively f12bbacbdd [annotation-reachability] stop merging sanitized nodes' callees
6 years ago
David Lively 87391f6f2f [annotation-reachability] make CxxAnnotationSpecs.report more user-friendly
6 years ago
David Lively 5d4a27ea54 RFC: stop using _ to separate ObjC/C++ class name from method in Typ.Procname.to_string
6 years ago
Nikos Gorogiannis 3e94fc7e16 [racerd] consider interfaces extending android.os.IInterface as automatically threadsafe
6 years ago
Dino Distefano e2caf19d4f Fixed constexpr false positive
6 years ago
Nikos Gorogiannis cf6ced0580 [racerd] on-annotations
6 years ago
Dino Distefano 1172e6de50 Translate SynchronizedStmt
6 years ago
Dino Distefano b500b5ffa0 Reporting Performance Variation on Cold Start
6 years ago
Ezgi Çiçek ba42e3fa46 [inferbo] Add models for CF
6 years ago
Katie Ots d805a0ddba [CostReport] Add procedure name to cost report items
6 years ago
Josh Berdine de1ae90a27 [ocamlformat] Move .ocamlformat config file to the project root
6 years ago
Nikos Gorogiannis 7be696a0ed [racerd] kill dead tests
6 years ago
David Lively 20b21698f6 [checkers] enable config-driven annotation reachability for Cxx
6 years ago
Sungkeun Cho e5381a90d5 [inferbo] Propagate LatestPrune on function calls
6 years ago
Sungkeun Cho 4c0aa1f69d [inferbo] Revise substitution of array block
6 years ago
Sungkeun Cho f86f971497 [inferbo] More reachability checks on pruning
6 years ago
Sungkeun Cho 5663ea6fb6 [inferbo] Use return_param only when callee added it
6 years ago
Josh Berdine 4acad5ca90 [ocamlformat] upgrade ocamlformat to 0.9
6 years ago
David Lively 757460ade7 [buck] introduce --buck-targets-blacklist so fbcode can exclude targets incompatible with C++ modules
6 years ago
Nikos Gorogiannis fdcd4cf591 [racerd] modulo loc
6 years ago
Jeremy Dubreil 4700f7684c Revert "[infer] add an option to deactivate the list of previously registered checkers"
6 years ago
Sungkeun Cho 5762c47ef2 [inferbo] Accumulate LatestPrune in sequential prunings
6 years ago
Jeremy Dubreil 261f1ba171 [infer] update the Pulse tests expected output
6 years ago
Jules Villard 605bc5e01a [pulse] fix some tests and add interproc tests
6 years ago
Jules Villard 4cdb65c237 [pulse] |- is now true only of isomorphic graphs
6 years ago
Jules Villard 3126c4f5c2 [pulse] remove last traces of join/widen
6 years ago
Jules Villard 4988523104 [AI] make join and widen use the same argument order
6 years ago
Jules Villard 628b9daf92 [pulse] move source files into their own pulse/ directory
6 years ago
Jules Villard 2f09a38e24 [AI] refactor html debug and add convergence messages
6 years ago
Sungkeun Cho 3b5ef0b31b [inferbo] Translate re-declared globals to point to original ones
6 years ago
Sungkeun Cho a46130655e [inferbo] Address __return_param on function calls
6 years ago
Jeremy Dubreil 5769e8bfeb [infer][racerd] use markup formatting for the Interface Not Thread Safe error message
6 years ago
Ezgi Çiçek 857c59e022 [inferbo] Add model for Java's cast
6 years ago
Nikos Gorogiannis 9e4d096d8e [racerd] fix report text for interface not thread safe
6 years ago
Ezgi Çiçek ce0ccc10ec [inferbo,cost] Add models for Java Strings
6 years ago
Nikos Gorogiannis f78dfbaeda [racerd] guardeby checks on uithread
6 years ago
Jeremy Dubreil 9ad37a3712 [infer] add an option to deactivate the list of previously registered checkers
6 years ago
Mehdi Bouaziz 6df295060c [inferbo] Added FN test
6 years ago
Nikos Gorogiannis 98e796b006 [racerd] gate GuardedBy
6 years ago
Nikos Gorogiannis 4a75df2a83 [racerd] report only writes for GuardedBy
6 years ago
Sungkeun Cho c92d56e4ad [inferbo] Substitute symbolic value of unknown function call to top
6 years ago
Nikos Gorogiannis f32db5382f [racerd] restrict guarded by to one field/same or superclass
6 years ago
Radu Grigore 8bf65086e3 [topl] Parser for temporal properties
6 years ago
Nikos Gorogiannis 582609b558 [racerd] androidx models
6 years ago
Ezgi Çiçek 713c308fc7 [inferbo] Generalize models for Java iterators
6 years ago
Ezgi Çiçek fb8faaf38a [objc] Fix performance Makefile to allow jackalope runs
6 years ago
Nikos Gorogiannis 59a10d00d4 [racerd] guardedby
6 years ago
Nikos Gorogiannis e7374bc62e [racerd] More cleanup in transition function
6 years ago
Ezgi Çiçek 1884994cc0 [cost] Allow program variables to occur in control variables
6 years ago
Ezgi Çiçek b537685fc2 [purity] Enable Clang in purity analysis
6 years ago
Dino Distefano 67b42bf021 Added new issue types for Allocation and IO
6 years ago
David Lively 692a844e0c [AL] use found_decl_ref in recently added predicates/placeholders
6 years ago
Ezgi Çiçek ce190547a5 [java] Add support for openjdk11
6 years ago
Nikos Gorogiannis 5839a5d6b4 [racerd] handle reads of actuals for container actions + cleanup
6 years ago
Radu Grigore e226cf8ec4 Fresh footprint variables in added frame.
6 years ago
Nikos Gorogiannis 05f14391a6 [racerd] replace quandary traces with explicit ones
6 years ago
Ezgi Çiçek 9790eb5a78 [cpp][linters] Hotfix: linter error
6 years ago
Dino Distefano 52b72f4bbe Added more allocation primitives
6 years ago
Lee Howes 5c2ef731ff Add support for qualified functions and a call_qualified_function predicate
6 years ago
David Lively 5aedc7e71c [AL] expose source loc of decl referenced by decl_ref
6 years ago
Wenzhe Lu ead4c44f9d Adding Long.parseLong model to nullsafe/modelTables.ml
6 years ago
David Lively f00950a3c8 [AL] fix ast_node_cxx_fully_qualified_name for constructor exprs
6 years ago
David Lively 96beec5e53 [AL] fix ast_node_cxx_fully_qualified_name w/non-global vars
6 years ago
Mehdi Bouaziz 564d0113b4 [Cost] More precise traces for Top
6 years ago
Nikos Gorogiannis e3a4a11ec8 [buck][java] clean more
6 years ago
Sungkeun Cho bf096b4d4d [inferbo] Reset LatestPrune at the assignment of return variable
6 years ago
Radu Grigore 86861498a5 Slightly more precise pi_partial_meet
6 years ago
Ezgi Çiçek 88a1dedb90 [cost] Ignore counting dummy loads
6 years ago
Nikos Gorogiannis f4c6072a59 [racerd] bit less work
6 years ago
Jules Villard 89bdab173a [pulse] add HTML debug for various cases of call models
6 years ago
Jules Villard c3cadace86 [SIL][3/3] add CallFlag for synthetised destructor calls
6 years ago
Jules Villard a36db66940 [SIL][2/3] print all the CallFlags
6 years ago
Jules Villard be61022bff [SIL][1/3] delete never produced cf_targets CallFlag
6 years ago
Jules Villard 3f8dc91b2a [pulse] perf win: separate edges from attrs in memory
6 years ago
Jules Villard bb3c8cfcc2 [pulse][minor] move attributes function around
6 years ago
Jules Villard 38435fec03 [pulse][minor] do not record abstract address in diagnostics
6 years ago
Jules Villard a49645ed61 [AI][pulse] avoid revisiting disjuncts over and over again
6 years ago
Jules Villard 363d69430d [ai][pulse] use subgraph-based implication between states
6 years ago
Jules Villard aae17242d7 [pulse] no addresses in attributes
6 years ago
Mehdi Bouaziz defaccf032 [Cost] Avoid Top to Top performance variations
6 years ago
Mehdi Bouaziz e74b607cd0 [Cost] Do not print Top trace in trace step
6 years ago
Nikos Gorogiannis 817b1bdf31 [racerd] no need for quadratic check
6 years ago
Sungkeun Cho 22aea43f76 [inferbo] Assign unknown value for unknown functions
6 years ago
Nikos Gorogiannis d6fb8248b2 [racerd] process one summary at a time
6 years ago
Dino Distefano 3b8782a6c1 added allocation
6 years ago
Jeremy Dubreil 34a9d36d31 [infer] no longer run the annotation reachability and immutable cast checkers by default
6 years ago
Jeremy Dubreil 8a7363b16b [infer] make the Fragment Retains View warnings pretty-printable
6 years ago
Sungkeun Cho 4ca8a32102 [inferbo] Do not add Unknown location to alias
6 years ago
Jeremy Dubreil 130a729674 [infer] report the Fragment Retains View issues as warnings instead of errors
6 years ago
Jeremy Dubreil f637f4229e [infer] simplify the warning name for the Fragment Retains View checker
6 years ago
Nikos Gorogiannis d1697fc34c [driver] delete DB file in buck/java
6 years ago
Jules Villard a19db6605c [AI][pulse] lists of disjuncts instead of sets
6 years ago
Jules Villard 44007f054c [pulse] collect garbage (unreachable) heap parts from time to time
6 years ago
Jules Villard e118fe2ea4 [pulse] RIP join
6 years ago
Jules Villard c02edf85a9 [ai] remove option to join sometimes in disjunctive domain
6 years ago
Jules Villard c4c66b76f5 [HIL] change `address_of` to return option type
6 years ago
Jules Villard 2037074ee3 [ai][trivial] flush less and stuff
6 years ago
Jules Villard 47e2c68b7c [pp] print html-friendly option types
6 years ago
Mehdi Bouaziz 264a97794d [inferbo] Exact result for (c1 - max(d, x)) + (c2 + x)
6 years ago
Sungkeun Cho 4a013f5bf6 [inferbo] Add FN test of using global constant
6 years ago
Sungkeun Cho b55996d01a [inferbo] Symbolic value for global variable
6 years ago
Mehdi Bouaziz b48884bce7 [Cost] Traces for Top values
6 years ago
Mehdi Bouaziz 725bf1ea18 [Inferbo] Small preparatory changes
6 years ago
Mehdi Bouaziz f20e0737fd [inferbo] Extract abstract domain functor for 'set represented by its smallest element'
6 years ago
Nikos Gorogiannis 2d0c9a6c47 [racerd] don't fail on no receiver
6 years ago
Ezgi Çiçek 340ac9d1c9 [purity] Fix global modification via argument passing
6 years ago
Ezgi Çiçek 274570f499 [objc] Fix test results for linters
6 years ago
Nikos Gorogiannis 4031c7e4a0 [multicore] is dead
6 years ago
Nikos Gorogiannis 1f017bf781 [buck][java] dead stores
6 years ago
Mehdi Bouaziz c991f0c157 Small refactorings: Cost
6 years ago
Mehdi Bouaziz 212bd978e7 [purity] Allow Clang
6 years ago
Dino Distefano aae5192b79 fix vardecl const
6 years ago
Mehdi Bouaziz 4d5f8e6fea Small refactorings: Hoisting
6 years ago
Mehdi Bouaziz 48298f9bcc Small refactorings: Loop_control
6 years ago
Mehdi Bouaziz 21c9227529 Small refactorings: LoopInvariant
6 years ago
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
Sungkeun Cho ab5496d192 [infer] do not use variable in shebang line of python script
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
Jeremy Dubreil 60bde6da6e [infer][java] no longer fail when the Java Buck target has no output
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
Sungkeun Cho 78d786da41 [inferbo] Add a test showing limitation of min/max domain
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
Jules Villard 1ee74dc967 [java] add `@Nullable` annotations to Integer and Double models
6 years ago
Dino Distefano b52f2eb4be Simulate record domain in cost analysis
6 years ago
Jules Villard adb74f7c31 update ant tests that should have been done in D14005228
6 years ago
Jules Villard c79f966279 [java] model `Double` like `Integer`
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 4d46f8631e [objc] unbreak frontend test
6 years ago
Jeremy Dubreil 50eae0739d [nullsafe] add an example using Guava Verify.verifyNotNull(...)
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
Jules Villard 1aa413a65d [classloads] add `replace` target to tests
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
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