4872 Commits (6d9943f2aa835bab7e680ded43517dd4c7767689)

Author SHA1 Message Date
Mehdi Bouaziz 051c9d5e1f [inferbo] Report Unreachable_code_after with Checkers exception
6 years ago
Mehdi Bouaziz 0a9606b2b4 [inferbo] Report conditions always true/false using Checkers exception
6 years ago
Jeremy Dubreil 3c220f7dbb [eradicate] remove the unused code to do the nullability inferrence
6 years ago
Jules Villard 817f83972c [epilogues] do not rely on `at_exit`
6 years ago
Jules Villard 4ddbc714ba [SIL] remove dead `Typ substitution
6 years ago
Nikos Gorogiannis 888a169dce [starvation] make a trace out of our explanation as to why a method runs on the UI thread
6 years ago
Nikos Gorogiannis a6e5ab7fdb [starvation][strict mode] disable strict mode violation reporting and analysis by default
6 years ago
Nikos Gorogiannis 96e698a458 [starvation] strict mode meta-analyzer for Android
6 years ago
Sungkeun Cho 3aab371b1f [inferbo] Detach Summary from Domain module
6 years ago
Sungkeun Cho 6759763a98 [inferbo] Simplify instantiate_ret_alias
6 years ago
Julian Sutherland b7353c961c Added model for memcpy C function to inferBO
6 years ago
Martino Luca dcdc5ec168 [Perf] Add hash to costs report
6 years ago
Julian Sutherland e715d48c12 QuandaryBO
6 years ago
Julian Sutherland 3afec7f2f9 Re-enabling noisy inferBO issues to have better QuandaryBO coverage
6 years ago
Mehdi Bouaziz bc737851b1 Move biabduction config/state to its own module
6 years ago
Mehdi Bouaziz 247e785ae4 Reporting cleanup 21: do not keep in-re-execution issues
6 years ago
Mehdi Bouaziz 9318a22b29 Update plugin
6 years ago
Mehdi Bouaziz 4c0e217410 Remove dead Config.pp_simple
6 years ago
Mehdi Bouaziz 348d0a0326 Remove Config.forcing_delayed_prints
6 years ago
Mehdi Bouaziz 636da5954b Remove dead Config.arc_mode
6 years ago
Martino Luca 37bf7a5039 Emit human-readable cost info when in developer-mode
6 years ago
Ezgi Çiçek 15bdcca119 [Loop-hoisting] Add a new model for Javax's Provider.get() and make it invariant only
6 years ago
Daiva Naudziuniene e5b38a42d8 [ownership] More examples
6 years ago
Martin Trojer e2c08e4085 Decouple objc tests from xcode-select
6 years ago
Mehdi Bouaziz 1141c8c5a8 Linters: remove def_file
6 years ago
Mehdi Bouaziz 7964dd76ca Reporting cleanup 19: use IssueType for CIssue.issue_desc
6 years ago
Jeremy Dubreil 5e2fcd62d4 [infer][java] translate the name of the field when the class is not found
6 years ago
Julian Sutherland a3753885bb Reordered elements of severity array to make compare more meaningful. This will be helpful in merging inferBO and Quandary commits in QuandaryBO
6 years ago
Martino Luca e46bf6a3d9 [Perf] Perform comparisons of costs-reports by using costs-report.json files
6 years ago
Mehdi Bouaziz d331a7ad19 Start/Exit_node don't need the procname
6 years ago
Martino Luca 11f12648ef [Perf] Move EXPENSIVE_EXECUTION_TIME_CALL among filtered issue types
6 years ago
Jeremy Dubreil 22157739b8 [infer] fix dead code
6 years ago
Mehdi Bouaziz e8d8caeecd CFrontend_errors: avoid exposing a global reference
6 years ago
Jeremy Dubreil 35eba40452 [infer] remove the "kind" field from the analysis report
6 years ago
Mehdi Bouaziz 56612796e6 Node.pname_opt doesn't have to be an option
6 years ago
Mehdi Bouaziz 3b96912f64 Reporting cleanup 20: only log_issue_external uses access
6 years ago
Mehdi Bouaziz 539addf1de Biabduction state: option for last_node
6 years ago
Julian Sutherland 7baac52788 Refactored Issue for QuandaryBO integration
6 years ago
Mehdi Bouaziz 0cb31a8057 Reporting cleanup 18: move linters_def_file from reporting to issue type
6 years ago
Mehdi Bouaziz 46cd49df8d PrintfArgs is not an Eradicate checker
6 years ago
Mehdi Bouaziz 249ef9d75b Reporting cleanup 17: move doc_url from reporting to issue type
6 years ago
Martino Luca b5efc56afb [Perf] Add more fields to the perf profiler json parser
6 years ago
Mehdi Bouaziz 911a2e1906 Reporting cleanup 16: UnknownNode -> no node key
6 years ago
Mehdi Bouaziz 98f29bceb4 Reporting cleanup 15: simplify log_issue_deprecated_using_state
6 years ago
Mehdi Bouaziz b8426be310 Dummy_exception: use IssueType.analysis_stops
6 years ago
Daiva Naudziuniene 2a35d6579b [dead store] Removed special case for constexpr in lambda captures
6 years ago
Julian Sutherland 34b0a6165c Added new issues to differentiate tainted buffer accesses and heap allocations
6 years ago
Sungkeun Cho 0cffc52b3b [inferbo] Simplify memory instantiation of function call
6 years ago
Mehdi Bouaziz 39a146a56a Reporting cleanup 14: log error using state
6 years ago
Mehdi Bouaziz ec9f4c2c6a node_key: option type
6 years ago
Mehdi Bouaziz 1c24102e45 DifferentialFilters: simplify relative_complements
6 years ago
Ezgi Çiçek 50e6d491ca [java] Add support for blacklisting in capture mode for Javac
6 years ago
Mehdi Bouaziz 882285a44e Simplify linters_doc_url
6 years ago
Nikos Gorogiannis 365ebd8873 [concurrency] split RacerD+starvation models into three modules
6 years ago
Mehdi Bouaziz 6597d701a1 DifferentialFilters: simplify find_previous
6 years ago
Mehdi Bouaziz f7fe76e043 Renamings: list -> map
6 years ago
Julian Sutherland 7fc29b3248 Added unit tests for function pointers
6 years ago
Ezgi Çiçek b2e7a785ba [Loop-hoisting] Add more models for invariant analysis
6 years ago
Daiva Naudziuniene bfab195d08 [dead store] Do not report dead stores on constexpr
6 years ago
Sungkeun Cho da51a736ec [inferbo] Add a test showing empty fields of structure
6 years ago
Mehdi Bouaziz 87d2f67c91 DifferentialFilters: removed two dead types
6 years ago
Sungkeun Cho d261f94624 [inferbo] Use algebraic data type for allocsite
6 years ago
Jeremy Dubreil bdc1ad751d [eradicate] fix the shaddowing between the annotated signature of the caller and the one of the callee
6 years ago
Jeremy Dubreil 19c7f0497f [eradicate] remove commented out code
6 years ago
Jeremy Dubreil 9349f0d6e2 [eradicate] remove the constant flags remove_temps
6 years ago
Martino Luca 808dd8ee91 [Perf] Merge costs report files coming from buck-based analyses
6 years ago
Jules Villard 5894258f43 [ownership] do not warn on returning ref to outer local
6 years ago
Daiva Naudziuniene 8e753c2b74 [deadstore] Do not report on __tmp
6 years ago
Josh Berdine 40ab73037e [ocamlformat] upgrade to ocamlformat 0.7
6 years ago
Mehdi Bouaziz 060924adff [inferbo] Get rid of condition trace for proof obligations in summary
6 years ago
Mehdi Bouaziz b4b54025bf Remove C++ mutex DOUBLE_LOCK checker
6 years ago
Jeremy Dubreil 066204fcf0 [eradicate] always allow to refine nullable types using repeated calls
6 years ago
Jeremy Dubreil 93e42a5a25 [eradicate] fix the Ambiguous or-pattern variables under guard warning
6 years ago
Sungkeun Cho 1bf8ed95b8 [inferbo] Simplify stack/heap memory domain
6 years ago
Ezgi Çiçek 49e582fa49 [Loop-hoisting] Add a new checker for hoisting invariant function calls
6 years ago
Jeremy Dubreil 66ef5f5c15 [eradicate] always check that non-nullable fields are initialized
6 years ago
Mehdi Bouaziz f8380f9480 Trying to fix comments on Localise.ml
6 years ago
Nikos Gorogiannis 14556f52b4 [starvation] whitelist @WorkerThread methods
6 years ago
Mehdi Bouaziz a06685c517 [inferbo] Add mli for proof obligations
6 years ago
Jeremy Dubreil 426ddb5e1c [nullable] make the Eradicate flag use_models to be the default mode
6 years ago
Sungkeun Cho 524ae3a7e2 [inferbo] Return unknown value on non-const function calls
6 years ago
Jules Villard a3d5f0283d [clang] only pass `--Xclang` args to driver commands
6 years ago
Sungkeun Cho 76bf31bc17 [inferbo] Add a test case of global constant
6 years ago
Jeremy Dubreil ed638de189 [eradicate] remove the check extension flag which was always false
6 years ago
Mehdi Bouaziz 277fd06782 [inferbo] Simplify condition trace
6 years ago
Mehdi Bouaziz 5817ff6adc [inferbo] Do not re-report issues if the precision hasn't improved
6 years ago
Jeremy Dubreil 735b28f359 [infer] remove the bug_class from the Infer report
6 years ago
Jeremy Dubreil 3cffdb9745 [infer] remove the field procedure_id in the analysis report
6 years ago
Mehdi Bouaziz 5a4d4f0882 [inferbo] Fail if trying to substitute non-symbolic conditions
6 years ago
Mehdi Bouaziz 6bb429ef63 Reporting cleanup 13: log_issue_external
6 years ago
Mehdi Bouaziz 9dad4c3648 Reporting cleanup 12: node_id_key -> node
6 years ago
Mehdi Bouaziz 3986a823f8 Reporting cleanup 11: node_id
6 years ago
Mehdi Bouaziz 1a75fa9ebd [inferbo] Propagate INFERBO_ALLOC_MAY_BE_ even when the bound is infinity
6 years ago
Mehdi Bouaziz 693089ab08 [inferbo] Alloc site in the trace for INFERBO_ALLOC_xx issues
6 years ago
Mehdi Bouaziz 364099530e [inferbo] Retrieve callee_pdesc and payload at the same time
6 years ago
Jeremy Dubreil 1938c4b758 [eradicate] remove TypeState extensions
6 years ago
Dino Distefano 370f33c8dc Added predicate for CXX11ConstantExpr
6 years ago
Nikos Gorogiannis af14da6a13 [starvation] stop considering View.get... as blocking.
6 years ago
Ezgi Çiçek 527fb90bbe [Cost] Add a Java model for functions to be considered invariant
6 years ago
Jeremy Dubreil 070f541226 [infer][nullsafe] cleanup of the Eradicate code 1
6 years ago
Jeremy Dubreil 98c596c546 [infer][biabduction] generate the Objective C and C++ models in single core mode
6 years ago
Mehdi Bouaziz 07f22daada [inferbo] Report calls without ()
6 years ago
Mehdi Bouaziz 34a6a487c5 Reporting cleanup 10: log_frontend_issue
6 years ago
Ezgi Çiçek cc18f9883d [Cost] Fix invariant variable analysis to be based on all reaching defns
6 years ago
Mehdi Bouaziz eb282797ab Reporting cleanup 9: move NodeKey to Procdesc
6 years ago
Jules Villard d9e12850b9 [biabd] do not try to bypass `Ondemand` to get proc desc of models
6 years ago
Martino Luca 55c2188615 [Perf] Emit costs to a separate file named costs-report.json
6 years ago
Mehdi Bouaziz 04af716fba Reporting cleanup 8: move errlog to summary
6 years ago
Mehdi Bouaziz ac5633bf58 Reporting cleanup 7: session
6 years ago
Mehdi Bouaziz fbe1e853f4 Reporting cleanup 6: mandatory loc for reporting errors
6 years ago
Mehdi Bouaziz 7024543dc9 Reporting cleanup 5: log_warning/error node_id_key
6 years ago
Mehdi Bouaziz 2ee4b5da18 Reporting cleanup 4: clang_method_kind
6 years ago
Martin Trojer 451f8f1efa Add --Xbuck-no-inline and --Xclang flags to enable jackalope/ios builds.
6 years ago
Mehdi Bouaziz 919d05b5ef Reporting cleanup 3: NodeKey
6 years ago
Julian Sutherland dd4ee55d5a fixed error in java expected test results
6 years ago
Mehdi Bouaziz 114c4e436d Reporting cleanup 2: Errlog.log_issue
6 years ago
Julian Sutherland b7c90c3fe0 Fixed incorrect reporting of tainted index in function call by quandary
6 years ago
Martino Luca 90a3315042 [InferPrint] Refactor common aspects to emit json reports
6 years ago
Mehdi Bouaziz f08ba1c016 Reporting cleanup 1: log_issue_deprecated
6 years ago
Mehdi Bouaziz e3e521afca Kill MinTree
6 years ago
Mehdi Bouaziz add478d97d Remove Errlog.equal
6 years ago
Jeremy Dubreil 54946ce08e [infer] use the procedure name to match Java methods instead of the procedure id
6 years ago
Jeremy Dubreil d000a27bd4 [infer] use a fully qualified name for the procedure field in the final report
6 years ago
Mehdi Bouaziz 6d134762b6 Remove dead print_key
6 years ago
Mehdi Bouaziz 35848a5284 Move 4 eradicate files
6 years ago
Mehdi Bouaziz 96d1f00687 Minor simplifications
6 years ago
Ezgi Çiçek bedf32bed5 [Cost, InferBo] generalize ArrayLists to Collections and Iterators
6 years ago
Ezgi Çiçek 9022228804 add support for hasNext() and iterator() for Java
6 years ago
Daiva Naudziuniene e8c5a84acd [Ownership] Add ownership to return param
6 years ago
Jules Villard 47fdee6000 add tips about debugging infer
6 years ago
Ezgi Çiçek 65491b79ff [Java] Do not generate the same intermediate variable in java translation
6 years ago
Mehdi Bouaziz ad986dffde Get rid of Declare_locals
6 years ago
Jules Villard 59f09ef697 [opam] upgrade atdgen to version 2
6 years ago
Ezgi Çiçek 832e0130cd [Inferbo] Fix the way pointers to arrays are handled in Java
6 years ago
Jeremy Dubreil df34917342 [infer] print all the severities in the debug html
6 years ago
Jeremy Dubreil 802d67ab64 [infer] fix the dependencies for the Buck javac_jar test
6 years ago
Jeremy Dubreil 59b7915177 [infer] rename the severity variants
6 years ago
Jules Villard b8c5dc84ba [absint] escape for xml when dumping info to html debug
6 years ago
Jules Villard e5a5d64760 [caml] do not use `let _ =`
6 years ago
Mehdi Bouaziz 12c0e245c6 [Inferbo] Simplify interval pretty-print
6 years ago
Sungkeun Cho fec87c8b95 [inferbo] Move functions constructing array values
6 years ago
Mehdi Bouaziz 427bb440d6 Inferbo: use Procdesc.get_locals rather than the Declare_locals instruction
6 years ago
Sungkeun Cho 65997b6a44 [inferbo] Remove sizeof function
6 years ago
Mehdi Bouaziz 66d37a496a Tabulation.log_call_trace: do nothing if footprint is false
6 years ago
Jeremy Dubreil 8a6aa4b1fd [infer] fix the internal confusion between the issue kind and the severity
6 years ago
Jeremy Dubreil 3767716c86 [infer][scheduler] simplify the callbacks API
6 years ago
Martino Luca 632cb0e513 [Perf] Emit ZERO_EXECUTION_TIME_CALL issue-type, when zero-costing functions are met
6 years ago
Dino Distefano 4065b76663 Fixed has_type for iterator type
6 years ago
Jules Villard 9ea6d4723f [toplevel] install infertop in infer/bin/ to get models and stuff
6 years ago
Jules Villard 69142ccad4 [biabd] do not get summary of pname to then get pname from summary
6 years ago
Jules Villard cc53c99ad4 [biabd] get rid of `Summary.get` in retain cycle detection
6 years ago
Jules Villard d3a36947bd [specs] do not expose specs cache
6 years ago
Sungkeun Cho c50b28480b [inferbo] Add trace on make_sym
6 years ago
Jeremy Dubreil bdbb8242cf [infer][java] no longer fail on Buck Java project using a custom javac_jar compiler
6 years ago
Jules Villard 987ef9ef67 [biabd] ondemand analysis for `pthread_create` builtin
6 years ago
Julian Sutherland 70ab21d33c Finished splitting itv.ml
6 years ago
Ezgi Çiçek 0a668c2161 [DEAD_STORE] Capture `constexpr`s in lambdas
6 years ago
Jeremy Dubreil 797eedba8b [infer][scheduler] remove one use of Summary.get
6 years ago
Jules Villard ae8632b0be [test determinator] clean up options help
6 years ago
Mehdi Bouaziz 96323b68e6 ProcnameDispatcher: allow matching to depend on a context
6 years ago
Jeremy Dubreil d5a5e7da10 [infer] remove ad hoc treatment of anonymous class renaming
6 years ago
Martino Luca 974e134061 [Perf] Count polynomials costs when computing differential
6 years ago
Sungkeun Cho df80ccda08 [inferbo] Use SymbolPath map in summary instead of entry memory
6 years ago
Daiva Naudziuniene ba4f33089e [stack variable address escape] Do not report on temporary variables
6 years ago
Sungkeun Cho b5ba9a74d1 [Inferbo] Fix trace print condition
6 years ago
Jules Villard f00d73b574 [taskbar] more informative non-interactive mode
6 years ago
Dino Distefano 1efc44c27f Fix has_type when used in the context of namespace
6 years ago
Nikos Gorogiannis 3870ebb747 [starvation] catch calls to Thread.sleep
6 years ago
Nikos Gorogiannis 332bd365e8 [starvation] fix report string when class is annotated @UIThread
6 years ago
Martin Trojer 562f9d1c7c Add guard against triggering static self logic when we have nested class calls
6 years ago
Sungkeun Cho 9eca72d405 [Inferbo] Add relational domains
6 years ago
Mehdi Bouaziz d90a87d743 [inferbo] Remove temporary fix for Java path
6 years ago
Julian Sutherland 66e737a3b4 refactoring itv, moved Ints and NonZeroInt module to seperate file
6 years ago
Jeremy Dubreil ad8c5d68a2 [infer][java] make sure the type definition of the class always exists in the type environment when translating one of its method
6 years ago
Ezgi Çiçek 396caca5d6 Fix array size for Java in `get_malloc_info`
6 years ago
Nikos Gorogiannis 4cc8563212 [starvation] catch Object.wait calls on main thread
6 years ago
Martin Trojer 4ba7218133 Added test to verify a NSArray nil insert case.
6 years ago
Jeremy Dubreil 3539388ea6 [infer][tests] fix the expected test output
6 years ago
Daiva Naudziuniene a8d80a590b [cfg] Add variant type for statement node
6 years ago
Nikos Gorogiannis 14aa1edbf5 [starvation] Avoid FPs in guava Futures
6 years ago
Martino Luca 9e048c11f8 [Perf] Emit cost polynomial and their degree as part of the report
6 years ago
Martino Luca c50b250576 [Perf] Compute the degree of polynomials
6 years ago
Martin Trojer 46e2c153f1 Add std::string as container-method for objc, and change string matching to regexes.
6 years ago
Jules Villard 6e44cae7cd [c] record complex sizeof() and leak from #86
6 years ago
Katie Ots d86737946c Validate buck linters used with compilation database
6 years ago
Ezgi Çiçek 2d889791e2 Fix Java's handling of pointer parameters in Inferbo
6 years ago
Ezgi Çiçek 9ed18e958a Add support for ArrayList.remove
6 years ago
Jules Villard 2761a62e94 [java] record HashMap get from `KeySet()` FP from #128
6 years ago
Jules Villard b23449a7d2 [c] record C lists FP from #120
6 years ago
Jules Villard 398e97183f [java] record Closeable example from #49
6 years ago
Ezgi Çiçek f540aa47a3 Add support for Java's ArrayList.set and ArrayList.get
6 years ago
Ezgi Çiçek 0c6eacc902 Add support for Java's ArrayLists.add*
6 years ago
Martino Luca cccef6261d Revert "[Perf] Add cost information to the hashing function"
6 years ago
Martino Luca ac64be761f [Perf] Add cost information to the hashing function
6 years ago
Nikos Gorogiannis 6b156f71fe [racerd] special-case for Litho's getThis
6 years ago
Martin Trojer ee7f07a1a9 Add missing case to block instruction converter
6 years ago
Jules Villard 83a4a8fa5b [dune] jbuilder -> dune
6 years ago
Jules Villard 0bf9666639 [taskbar] less flicker and garbage
6 years ago
Jules Villard 8977011737 [taskbar] display on-demand nesting
6 years ago
Daiva Naudziuniene 84cfd0a450 [frontend] Do not create exceptional successors for return nodes
6 years ago