867 Commits (fbe1c92c17b224d6be1b4e626efc3e152d46bb2b)

Author SHA1 Message Date
Jules Villard a0bae375db [cfg] add option to print CFGs after the fact
6 years ago
David Lively c5890238f0 [Config] support arbitrary named symbol lists
6 years ago
Nikos Gorogiannis 374538a02f [crashcontext] die
6 years ago
Jeremy Dubreil 40ead0ac3d [infer] remove the visibility field from the Infer JSON report
6 years ago
Jeremy Dubreil 83dad3e1d4 [infer] set the default value for --ignore-trivial-traces to be false
6 years ago
Jeremy Dubreil 87a8ddc8fa [nullsafe] merge the option names
6 years ago
Sungkeun Cho 05ceaebb7d [inferbo] Add model of String::operator==
6 years ago
Sungkeun Cho 7f70251eff [infer] Fix filename to relative
6 years ago
Mehdi Bouaziz 7ba4386199 [logging] Simplified and faster debug
6 years ago
Mehdi Bouaziz a726c34940 Logging: Fix delayed prints
6 years ago
Jules Villard 4c1ee2a485 [pulse] add traces to the domain
6 years ago
Sungkeun Cho a48421aa0a [inferbo] XML escape in L.d_printfln
6 years ago
Mehdi Bouaziz a130556869 [quandary] Separate insecure intent handling issue type when call is in an exposed class
6 years ago
Mehdi Bouaziz f6c2bd3f61 [quandary] Insecure Intent Handling
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
Jules Villard 2a46a54060 [pulse] use the disjunctive domain and make it configurable
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 69af58506d [infer][nullsafe] rename the option to run the Nullsafe checker
6 years ago
Ted Reed 28b346a903 quandary: Detect flows to EnvironmentChange that includes putenv only
6 years ago
Ezgi Çiçek a835a3511d [logging] Log unanalyzed procedures
6 years ago
Ted Reed 22bebd2cee quandary: Break out deserialization from endpoints into a _risk category
6 years ago
Ezgi Çiçek 305b2a74b8 [hoisting] Add new issue type for only invariant-modeled calls
6 years ago
Nikos Gorogiannis 2c6a705116 [racerd] kill stability
6 years ago
Dino Distefano 9028b91ec7 Load data from performance profiler
6 years ago
Mehdi Bouaziz acf740e145 Print Unicode chars only if the locale allows it
6 years ago
Nikos Gorogiannis ab046a4128 memcached intra-build
6 years ago
Jules Villard 0a2cb44667 [pulse] introduce the more precise `VECTOR_INVALIDATION` issue type
6 years ago
Jules Villard f627812541 [pulse] new issue type `USE_AFTER_DESTRUCTOR`
6 years ago
Mehdi Bouaziz 17ff54f17a Logging: increase/decrease indent
6 years ago
Mehdi Bouaziz 18c45947da Logging.d_printf
6 years ago
Mehdi Bouaziz 1606b95f1b Logging: merge d_str_color with d_str
6 years ago
Mehdi Bouaziz 1c7cdb02de Logging: fix some color printing
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
Jules Villard 38ced865f3 [pulse] more issue types and add details about why locations get invalidated
6 years ago
Jules Villard cb4bf4443f [sqlite] increase timeout to avoid BUSY errors
6 years ago
Mehdi Bouaziz ecedb27d77 Add missing FB copyrights
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
Nikos Gorogiannis 4334225e67 [class loading] initial commit
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
Jules Villard d28d0528d1 [pulse] initial commit
6 years ago
Jules Villard bee7649048 [perf] fix capture traces and record clang events
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
Jules Villard 8c7bff0210 [proc-cfg][5/5] remove file-wide cfgs from the db
6 years ago
Jules Villard 7e20c8d380 [proc-cfg][1/5] add per-procedure cfgs to the procedures table
6 years ago
Jules Villard e3efc0e465 [sql] batch write of attributes
6 years ago
Nikos Gorogiannis 1644e99499 [starvation] add issue type STRICT_MODE and make distinct reports on it
6 years ago
Nikos Gorogiannis 2989b339a1 [starvation] streamline and enable strict mode
6 years ago
Jules Villard a3f428e90f [sql] make busy timeout configurable
7 years ago
Ezgi Çiçek 43b3f80de5 Add simple purity analysis
7 years ago
Jules Villard bb037c39ee [kill -a][4/4] kill `Config.analyzer`, deprecate `--analyzer`
7 years ago
Jules Villard c257f68226 [kill -a][0/4] do not rely on `Config.analyzer`
7 years ago
Nikos Gorogiannis 631959ced0 [starvation] refactor method matching ; kill dev-android-strict-mode option
7 years ago
Jules Villard 515d9f6769 [man] check in manual pages
7 years ago
Jules Villard a2adde8948 try harder not to print empty option names on error
7 years ago
Mehdi Bouaziz 82a7f14f90 QuandaryBO issue filtering: fix --no-filtering behavior
7 years ago
Vincent Siles 69f8ebaef6 have infer automatically figure out when `--merge` is needed
7 years ago
Nikos Gorogiannis 66392db8d5 [starvation] allow specifying method patterns for skipping analysis via cmdline and inferconfig
7 years ago
Julian Sutherland 0e9d8380c2 filter issues correctly
7 years ago
Jules Villard 590f1faac5 [perf] trace pipe operations
7 years ago
Jules Villard 5a894df3af [perf] trace serialization functions
7 years ago
Jules Villard 6837629654 [perf] emit Trace Event json
7 years ago
Martin Trojer f1353ec3da Turn --buck-blacklist into a string list
7 years ago
Jules Villard 86f8f3e949 [log] log dying message and backtrace to log file
7 years ago
Nikos Gorogiannis bca942c694 [python] kill python frontend
7 years ago
Martino Luca aea1b4095e [Perf][CI] Disable threshold based cost reports
7 years ago
Martino Luca c078bf5a12 [Perf][CI] Differential of costs, based on degree variation
7 years ago
Jeremy Dubreil 3c220f7dbb [eradicate] remove the unused code to do the nullability inferrence
7 years ago
Jules Villard 817f83972c [epilogues] do not rely on `at_exit`
7 years ago
Nikos Gorogiannis a6e5ab7fdb [starvation][strict mode] disable strict mode violation reporting and analysis by default
7 years ago
Nikos Gorogiannis 96e698a458 [starvation] strict mode meta-analyzer for Android
7 years ago
Julian Sutherland e715d48c12 QuandaryBO
7 years ago
Julian Sutherland 3afec7f2f9 Re-enabling noisy inferBO issues to have better QuandaryBO coverage
7 years ago
Mehdi Bouaziz bc737851b1 Move biabduction config/state to its own module
7 years ago
Mehdi Bouaziz 4c0e217410 Remove dead Config.pp_simple
7 years ago
Mehdi Bouaziz 348d0a0326 Remove Config.forcing_delayed_prints
7 years ago
Mehdi Bouaziz 636da5954b Remove dead Config.arc_mode
7 years ago
Mehdi Bouaziz 7964dd76ca Reporting cleanup 19: use IssueType for CIssue.issue_desc
7 years ago
Martino Luca e46bf6a3d9 [Perf] Perform comparisons of costs-reports by using costs-report.json files
7 years ago
Martino Luca 11f12648ef [Perf] Move EXPENSIVE_EXECUTION_TIME_CALL among filtered issue types
7 years ago
Jeremy Dubreil 35eba40452 [infer] remove the "kind" field from the analysis report
7 years ago
Mehdi Bouaziz 0cb31a8057 Reporting cleanup 18: move linters_def_file from reporting to issue type
7 years ago
Mehdi Bouaziz 249ef9d75b Reporting cleanup 17: move doc_url from reporting to issue type
7 years ago
Julian Sutherland 34b0a6165c Added new issues to differentiate tainted buffer accesses and heap allocations
7 years ago
Ezgi Çiçek 50e6d491ca [java] Add support for blacklisting in capture mode for Javac
7 years ago
Mehdi Bouaziz 882285a44e Simplify linters_doc_url
7 years ago
Josh Berdine 40ab73037e [ocamlformat] upgrade to ocamlformat 0.7
7 years ago
Mehdi Bouaziz b4b54025bf Remove C++ mutex DOUBLE_LOCK checker
7 years ago
Ezgi Çiçek 49e582fa49 [Loop-hoisting] Add a new checker for hoisting invariant function calls
7 years ago
Jeremy Dubreil 735b28f359 [infer] remove the bug_class from the Infer report
7 years ago
Jeremy Dubreil 3cffdb9745 [infer] remove the field procedure_id in the analysis report
7 years ago
Ezgi Çiçek 527fb90bbe [Cost] Add a Java model for functions to be considered invariant
7 years ago
Martino Luca 55c2188615 [Perf] Emit costs to a separate file named costs-report.json
7 years ago
Martin Trojer 451f8f1efa Add --Xbuck-no-inline and --Xclang flags to enable jackalope/ios builds.
7 years ago
Jules Villard 47fdee6000 add tips about debugging infer
7 years ago
Jules Villard 59f09ef697 [opam] upgrade atdgen to version 2
7 years ago
Martino Luca 632cb0e513 [Perf] Emit ZERO_EXECUTION_TIME_CALL issue-type, when zero-costing functions are met
7 years ago
Jules Villard ae8632b0be [test determinator] clean up options help
7 years ago
Jules Villard f00d73b574 [taskbar] more informative non-interactive mode
7 years ago
Sungkeun Cho 9eca72d405 [Inferbo] Add relational domains
7 years ago
Jules Villard 83a4a8fa5b [dune] jbuilder -> dune
7 years ago
Jules Villard 0bf9666639 [taskbar] less flicker and garbage
7 years ago
Jules Villard c53f35fcf2 [taskbar] migrate compilation db jobs from `Parmap` to `Tasks`
7 years ago
Sungkeun Cho 06a04ca9f5 Revert "[Inferbo] Add relational domain"
7 years ago
Sungkeun Cho 1f7a6e53fb [Inferbo] Add relational domain
7 years ago
Jules Villard 0d8c2dedd6 [cli] add the ability to rerun the analysis on some files with different options
7 years ago
Jules Villard f70f413c54 [sqlite] API to retrieve rows of more than one column
7 years ago
Jules Villard aebeca3388 [sqlite] do not wrap results into `Some _` needlessly
7 years ago
Jules Villard 0f79fd8d94 [minor] adjust some comments
7 years ago
Jules Villard be855d3589 [explore] change filtering options to filter in OCaml rather than SQLite
7 years ago
Jules Villard a5a106c83a [cli] create missing directory
7 years ago
Jules Villard 36f8d8f869 [lint] linter to force every file to `open! IStd`
7 years ago
Dulma Churchill e667c32324 [biabduction] Log the status of using dynamic dispatch
7 years ago
Jules Villard 19a6185a54 [taskbar] truncate output at terminal size
7 years ago
Jules Villard b0427c9390 [taskbar] die when a child errors
7 years ago
Martin Trojer 5156ff7f65 [infer][PR] handle improper version strings in @available clauses
7 years ago
Jules Villard 4a1379ebc5 [taskbar] it is born
7 years ago
Jules Villard dd8b0bcd51 [cli] exit with user error in case of unsupported build command
7 years ago
Jules Villard 8461786f02 [cli] remove support for deprecated `infer -- analyze`
7 years ago
Mehdi Bouaziz 4eef0d90c8 Logging/Printer: better code
7 years ago
Jules Villard 710dae8ee4 [doc] add `make doc` target for building html API doc
7 years ago
Jules Villard 30c470eb48 [tests] record error bucket in expected output
7 years ago
Jules Villard 8b882ac1df Change license to MIT
7 years ago
Jeremy Dubreil e7714d52f3 [infer][java] remove the code to cache the summaries extracted from the jar files
7 years ago
Martino Luca f46034cfb3 [Test determinator] Better logging through debug flags
7 years ago
Jules Villard fecabb3bf3 [siof] do not report on standard streams
7 years ago
Jeremy Dubreil a4531b6fa0 [infer][java] make sure the analysis does not default to absolute path on Buck projects
7 years ago
Jeremy Dubreil cc5708bb4e [infer] convert absolute paths to relative with respect to the common prefix betwen the path and the project root
7 years ago
Nikos Gorogiannis 5e8b118151 [starvation] fix reported location
7 years ago
Dino Distefano d922b37ab8 Making Test Determinator parametric to Java and Clang
7 years ago
Martino Luca 858c5aab01 [Test determinator] New format for the profiler samples passed in input to TD
7 years ago
Sam Blackshear ee4584e2e2 [quandary] off-by-default
7 years ago
Jules Villard 8715c4f892 [clang] make switch statement translation more robust
7 years ago
Jules Villard dd22e187ef [java] delete unused `models` field in `ZipLib.zip_library`
7 years ago
Dulma Churchill 7bbf349a76 [logs] Add the callee clang_method_kind and the callee source file to the skip logs
7 years ago
Jeremy Dubreil ed0c550905 [infer][genrule] add an option to make the genrule integration compatible with the Buck cache
7 years ago
Jeremy Dubreil 8ce79a0613 [infer][backend] no longer rely on make to drive the Infer internal parallelism
7 years ago
Jules Villard dfe2ad5229 [camel] call `Format.pp_print_*` directly where appropriate
7 years ago
Jules Villard 1fd11ee3cc [log] add colors to console output
7 years ago
Nikos Gorogiannis a7bd92de2f [starvation] enable starvation checker
7 years ago
Jeremy Dubreil bc6afc5d32 [infer][config] remove the per_procedure_parallelism option which was always true
7 years ago
Nikos Gorogiannis c104ea11dc [racerd] switch to external issue logs
7 years ago
Nikos Gorogiannis 538bcd9135 [starvation] store issues to issue-logs like linters do
7 years ago
Nikos Gorogiannis 9a2c494454 [infer] refactor LintIssues for general use.
7 years ago
Dino Distefano bac1c85546 Hide test determinator option from infer help
7 years ago
Jules Villard ce0ffaf877 [ocaml] detect and kill dead modules
7 years ago
Dino Distefano c80a2b0940 Test Determinator for MobileLab
7 years ago
Frédéric Bour 8069559bd8 [sqlite] infer explore --source-files
7 years ago
Dino Distefano 6b37e61ec1 Switching uninit analysis on by default
7 years ago
Jules Villard 507ba9493c [minor] small readability improvements
7 years ago
Martino Luca 49b4a26a93 New module FileDiff to compute relevant lines on a modified file
7 years ago
Josh Berdine 16988b0a7a [ocamlformat] Upgrade to ocamlformat 0.5
7 years ago
Jeremy Dubreil fd6a1e0e2b [infer] no longer create .lock files and only rely on Unix.rename to avoid write-write races
7 years ago
Jules Villard 705a2f97b2 [sqlite] use pname BLOB as the sqlite key, include readable pname for debug
7 years ago
Jules Villard 97ac7662f8 [sqlite] options to output procedures db
7 years ago
Ezgi Çiçek af5265f75d "Report infinity as error per function"
7 years ago
Jeremy Dubreil f63a9c0836 [infer][backend] the sserialization should not swallow the Sys_error when unmarshalling data from strings
7 years ago
Jules Villard 007f057f3a [reactive] kill the changed bit of procedure attributes
7 years ago
Jules Villard 5155417800 [debug] add `Logging.debug_dev` for temporary debugging
7 years ago
Sam Blackshear 33fe8879a5 [quandary] report flows originating from `UserControlledEndpoint` as `_RISK`
7 years ago
Sam Blackshear f621dda0be [infer][clang] models off-by-default
7 years ago
Nikos Gorogiannis b335fb9c50 [deadlock] rebrand to starvation
7 years ago
Jules Villard 6f187a954c base and IR build separately, biabduction/ directory
7 years ago
Jules Villard a2d3a0ec73 [events] use the same JsonBuilder everywhere
7 years ago
Varun Arora f5731ed1bf [config][reporting] add new command line option job-id and log it to EventLogger
7 years ago
Jules Villard 84d3144c98 [istd] break IStd.ml into sensible components
7 years ago
Jules Villard e48cc3a370 [capture] store compilation db arguments one per line
7 years ago
Jules Villard 1f04a5eda0 [IList] move to base/ and use Core
7 years ago
Sam Blackshear 7efb5cb549 [ownership] allow placement new on non-var expressions
7 years ago
Varun Arora fba4014d1c [reporting][perf] Add PerfStats support for reporting time and memory related stats separately
7 years ago
Jules Villard 5014e7d9eb upgrade ocaml version to 4.06.1
7 years ago
Sungkeun Cho bd040cf696 [inferbo] Add an issue type for alarms by unknown function call
7 years ago
Varun Arora 9387706a54 add clang_method_kind field to AnalysisIssue
7 years ago
Jeremy Dubreil d74f189dfe [infer] add the report kind to the list of expected output
7 years ago
Nikos Gorogiannis 3bcfbd6a64 [deadlock] abstract domain
7 years ago
Varun Arora 77e643ee1e combine ocaml_pos and ml_loc
7 years ago
Varun Arora 4cd110b85f [logging] Move Driver perf stats to driver_stats directory
7 years ago
Varun Arora 37720e1bbf [logging] performance stats logging via EventLogger
7 years ago
Dulma Churchill eef8774aa2 [clang] Restore the debug tenv file for the clang frontend
7 years ago
Tony Hu 56872d8126 [java] Add command-line option to specify external Java packages
7 years ago
Jules Villard bc7a71d413 [IR] add API for Sil and Exp.FreeVar
7 years ago
Varun Arora 32b2a707e8 [reporting] Exceptions of visibility Exn_developer are now logged using EventLogger when not running in developer mode
7 years ago
Dino Distefano 69bfc0535c [Experimental] First very basic version of performance analysis tool
7 years ago
Jules Villard 4c002f0c98 [sqlite] migrate tenv to sqlite
7 years ago
Josh Berdine 3534838b73 [ocamlformat] Upgrade to ocamlformat 0.4
7 years ago
Varun Arora bb8ba0e7a4 [reporting] remove ProcAttributes dependency from EventLogger
7 years ago
Varun Arora 7721280fa7 [reporting] log reason for skipping call in EventLogger.CallTrace
7 years ago
Sam Blackshear 4799fb6b82 [racerd] skeleton for testing access path stability
7 years ago
Jeremy Dubreil 4d8fdb1462 [infer][java] map all failures to convert absolute paths to relative paths to the same value
7 years ago
Jeremy Dubreil 81b936eede [infer][java] no longer use the version of javac as cache key for the Buck integration
7 years ago
Varun Arora e90eaeab49 [reporting] add logging of call stats to backend
7 years ago
Nikos Gorogiannis ae8b73e480 [ownership] set default to off
7 years ago
Varun Arora d6e546950a [backend] make use of clang_method_kind more consistent and prevent logging it for non-clang procedures
7 years ago
Varun Arora a2861229bb [logging] add_string_opt function that takes a string option as its data
7 years ago
Sam Blackshear d76d20a9ca [ownership] prototype of ownership analysis for tracking reads/moves
7 years ago
Sam Blackshear 72a49962f0 [logging] use dummy logger when log_events flag is off
7 years ago