727 Commits (130a729674a869eddcdb339aaf826fe5adcc1cad)

Author SHA1 Message Date
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
Jules Villard 2dbdf8f183 [config] kill load/save analysis results
7 years ago
Jeremy Dubreil 1d2d6b7976 [infer][report] fix performance issue when logging events
7 years ago
Jules Villard 1d80ce37ab [pp] print contents of argfiles, recursively, on error
7 years ago
Varun Arora 7f6920e0ed [base] alphabetize EventLogger event record type fields
7 years ago
Dulma Churchill 4218142a84 [retain cycles] Implement dotty files for retain cycles new
7 years ago
Varun Arora 97c36448b6 [reporting] add additional fields to AnalysisStats event
7 years ago
Jules Villard ab9c18b85d [clang] echo clang stdout when running non-plugin commands
7 years ago
Jules Villard 70c2a50b4e [db] record symbolic capture timestamps for source files
7 years ago
Varun Arora cbe6ea4456 [reporting] Added logging of procedures analysis stats to backend
7 years ago
Sam Blackshear 80b3d080ce [cleanup] sunset Context leaks
7 years ago
Jules Villard 4a71067c68 [tests] kill some new dead code
7 years ago
Tony Hu c1fd661648 [infer][genrule] Added command-line option --check-version
7 years ago
Jules Villard 58e0cbe6ee [base] move `Config.language` to its own `Language` module
7 years ago
Jules Villard f999f2ebb7 [cleanup] remove unused `ProcessPool.Execution_error`
7 years ago
Jules Villard 7396a613bb [tenv] change interface to take `SourceFile.t` instead of `DB.filename`
7 years ago
Jules Villard daa5154399 [capture] get rid of call graphs
7 years ago
Jules Villard f2029af50a [exe_env] do not record the call graph in the execution environment
7 years ago
Jules Villard 1d3e0741ac [cfg] get defined procs of file from cfg db
7 years ago
Sam Blackshear 4545f36875 [litho] prototype of required `@Prop` checker
7 years ago
Jules Villard 66ad5c3018 [driver] persist some global state across infer runs
7 years ago
Jules Villard 0c9b025857 [clopt] move command datatype to new InferCommand
7 years ago
Martino Luca 5b04b1ce89 Add CLI argument to Config
7 years ago
Jules Villard c0d578323e [config] make subprocesses read the same .inferconfig as toplevel infer invocation
7 years ago
Varun Arora 2ede6c1ac4 [clang] Added logging of caught exceptions of type Unimplemented to clang frontend
7 years ago
Jules Villard 52c4c4c767 [log] let early logging fall through instead of double-printing
7 years ago
Jules Villard 1d4128e0c0 [clang] blacklist some flags at the -### level
7 years ago
Jules Villard 1a5ba13778 [cfg][minor] do not duplicate the Hashtbl API
7 years ago
Jules Villard 4b1a7b1771 [cleanup] remove dead code
7 years ago
Jules Villard 92e3d56f2e [cleanup] add missing `open! IStd`
7 years ago
Varun Arora 0003c3acc9 change procedures_translated logging to use eventlogger framework
7 years ago
Jules Villard 8fe2d793b9 [db] name tables with respect to their keys
7 years ago
Vladimir Silyaev a0dfd699a8 [infer][PR] Clean temporary files created by the clang frontend
7 years ago
Jules Villard d3c6543cc8 [sqlite] more info on error
7 years ago
Jules Villard 7a37d5914d [sqlite] use `Sqlite3.exec` directly when possible
7 years ago
Jules Villard 54c1976945 [sqlite] reset prepared statement eagerly
7 years ago
Sam Blackshear 7f62154318 [quandary] separate sanitizers for different kinds of escaping
7 years ago
Josh Berdine 63439ecc02 [ocamlformat] Upgrade base and ocamlformat
7 years ago
Dino Distefano d83a9445f1 First extension to uninit inter-procedural analysis
7 years ago
Sam Blackshear ab3da5b1d1 [cleanup] remove unused dynamic dispatch modes
7 years ago
Martino Luca e950103428 Add the --log-events flag to turn on events logging
7 years ago
Martino Luca 7d78588f49 Emit log identifier in stderr, when Infer is launched
7 years ago
Martino Luca 67142e7478 Log events in machine-readable format, and dump them via `infer events` command
7 years ago
Sam Blackshear f37344358b [experimental] interprocedural should_update analysis
7 years ago
Jules Villard 303b79b6ae [sqlite] create `SQLite` serialization/deserialization modules where needed
7 years ago
Jules Villard a91e7dda50 [cfg] move cfgs to sqlite
7 years ago
Dulma Churchill 4db780d364 [retain cycles] Enable retain cycles, quality and message are better now
7 years ago
Martino Luca cd49acc1cf Refactor directory traversal into its own utility function
7 years ago
Jeremy Dubreil 1f6d73269e [infer] simplify the API to report errors
7 years ago
Jules Villard 5ce024bf6e [clang] do not error on bogus arguments to `fsanitize`
7 years ago
Sam Blackshear d3f4043bc0 [quandary] curl function for setting URL as sink
7 years ago
Sam Blackshear 7e8739de0a [quandary] more fine-grained issue types for Java
7 years ago
Sam Blackshear 647e1cd62d [dead stores] config file for custom scope guard types
7 years ago
Sam Blackshear 432fa4913c [quandary] report all Intents constructed from URIs
7 years ago
Sam Blackshear 6abbe66ee6 [quandary] file creation as sink
7 years ago
Dulma Churchill ed740600de [cleanup] Remove hidden field and related code that is not used anymore.
7 years ago
Sam Blackshear adde940be4 [cleanup] kill stats_mode option
7 years ago
Martino Luca 6b363ef063 [SQLite] Set the synchronous flag to OFF
7 years ago
Sam Blackshear ca3f71a8b3 [experimental] report call chains reachable from onCreateLayout
7 years ago
Mehdi Bouaziz 43758e9fd7 SourceFile: random stuff
7 years ago
Martino Luca 5588f5e1ea Invoke getconf correctly to extract the right number of cores
7 years ago
Martino Luca 09a807fe0a Add `late_epilogue` callback that gets invoked at the end of infer's lifecycle
7 years ago
Mehdi Bouaziz 168ce5a6bb [inferbo] Add alloc size safety condition
7 years ago
Jeremy Dubreil 1a4316065a [infer] no longer create the CSV report
7 years ago
Jeremy Dubreil c195e67dfe [infer] remove the utility functions to export debug information in LaTeX
7 years ago
Jeremy Dubreil 97927f6f46 [infer][checkers] remove the `-a biabduction` option and the related code
7 years ago
Jeremy Dubreil 716ff9b3d5 [infer] make `-a infer` an alias for `-a checkers`
7 years ago
Jules Villard 82c9201bfc [reactive] keep specs around in reactive mode
7 years ago
Jules Villard 6a8d71ad81 [style] s/_foo/foo_/ when `foo_` is not unused
7 years ago
Sam Blackshear 181959216b [cleanup] remove harness-related code
7 years ago
Sam Blackshear 8665386b8a [quandary] report USER_CONTROLLED_SQL_RISK on flows from endpoint -> SQL
7 years ago
vsilyaev@broadcom.com f63f48a52e [infer][PR] Use SQLite in a way that is compatible with current state of WSL
7 years ago
Dulma Churchill 3382b1b88a [iOS] Make xcpretty integration not default anymore, given that it has problems
7 years ago
Sam Blackshear e2f38423e5 [cleanup] delete repeated calls checker
7 years ago
Jeremy Dubreil adf5bb4a41 [infer][clang] the option `--cxx` no longer forces the option `--cxx-infer-headers`
7 years ago
Josh Berdine f62ab09e61 [ocamlformat] Upgrade ocamlformat to v0.2 from opam
7 years ago
Martino Luca a57a6078bc Never close db connection
7 years ago
Sam Blackshear 29fe7d1689 [quandary] thrift services as sources + remote code execution risk issue type
7 years ago
Josh Berdine 150bcff04b [config] Add separate option for limit on number of filtered issues
7 years ago
Josh Berdine 15d09ccac8 [config] Add first step of generalized filtering system
7 years ago
Martino Luca 259beab26a [Infer] Refactor sqlite-related code into its own module
7 years ago
Mehdi Bouaziz 6047264e4a [bug hash] Attempt for a better hash
7 years ago
Jules Villard 185e7f7131 [java] support Java9
7 years ago
Josh Berdine 3bab37b261 [thread-safety][c++] Change to LOCK_CONSISTENCY_VIOLATION issue type
7 years ago
Sam Blackshear 5f6d3a0d7f [quandary] new issue type for untrusted variable length array creation
7 years ago
Sam Blackshear 6ea6c74a5c [quandary] add new issue types for sql injection and shell injection
7 years ago
Mehdi Bouaziz a2f69050ac [buck] Unify buck command line arguments recognition, buck query invocation, and support target patterns and aliases
7 years ago
Jules Villard 71ed554c57 [cli] introduce `--linters` and `--capture`
7 years ago
Sam Blackshear 2d29b47855 [traces] allow reported traces to return an issue type
7 years ago
Jeremy Dubreil 55c585e1e0 [infer][biabduction] remove the bi-abduction based check for uninitialized values
7 years ago
Dulma Churchill 2f8b749045 [objc] Better names for the block translation and using temp variables
7 years ago
Josh Berdine f89e687efa [ocamlformat] Use ocamlformat from github
7 years ago
Sam Blackshear bc02bee737 [cleanup] rename thread-safety analysis
7 years ago
Jules Villard 664616faab [cli] print version on stdout
7 years ago
Jules Villard 69b136d7b8 [checkers] disable UNINITIALIZED_VALUE by default
7 years ago
Jules Villard bd74512c1a [cli] support all the analyzer forms in the filtering options
7 years ago
Jules Villard 06dec8177a [cli] make checkers the default when no analyzer is specified
7 years ago
Jules Villard 588142c908 [checkers] enable biabduction by default + docs and logs improvements
7 years ago
Dino Distefano f87447ba52 Uninitialized value/variable checker
7 years ago
Jules Villard e56af27b38 [driver] add a way to force infer to use a particular integration
7 years ago
Jeremy Dubreil 171ee61df0 [infer][checkers] fix the filtering mechanism based on the analyzer name
7 years ago
Jules Villard 9a21404ace [cli] introduce `-a biabduction` and make `-a infer` an alias to it
7 years ago
Jules Villard 3790ca5487 [checkers] declare --resource-leak with the other checkers
7 years ago
Jules Villard b95f29c8d1 various minor improvements
7 years ago
Jeremy Dubreil 03cb052ad9 [infer][checkers] run the Java biabduction tests using the checkers framework
7 years ago
Jeremy Dubreil 923a15fa60 [infer][clang] initial version of a nullable checker for Clang languages
7 years ago
Jeremy Dubreil 5741dbf2a5 [infer][java] remove unused list of dynamic dispatch policies
7 years ago
Jules Villard 485ece7ef1 [sql] bump busy timeout from 1s to 10s
7 years ago
Jules Villard 2d644b36af [clang] do not translate dependent types
7 years ago
Mehdi Bouaziz eff7bb5bdf [inferbo] Replace buckets with issue types
7 years ago
Sam Blackshear c3564c94be [cleanup] Remove L.progress printing of creating results database
7 years ago
Jules Villard 65a53a0c63 [cli] do not regenerate report.json when printing specs to stdout
7 years ago
Jules Villard f3d98eb807 [time] do not rely on gettimeofday for measuring time
7 years ago
Jules Villard 97efcd426f [sql] clean up temp files after running
7 years ago
Jules Villard 8012d61b0f [sql] do not generate the source file for attribute store if they are no-op
7 years ago
Jules Villard ee1b688e6d [sql] let sqlite handle the attributes update logic
7 years ago
Jules Villard b00451d23e [sql] Cache key blobs
7 years ago
Jules Villard 40c44b0378 [sql] reuse prepared statements
7 years ago
Jules Villard 993ee56fa1 [sql] disable compaction while merge results
7 years ago
Jules Villard 2adf654950 [sql] add proc attributes DB
7 years ago
Mehdi Bouaziz f37339bd38 Use SymOp.try_finally to avoid swallowing timeouts
7 years ago
Mehdi Bouaziz e8ca44c808 Ensures retry is tailrec
7 years ago
Jeremy Dubreil 3c09ae953d [infer][objc] Run the biabduction test using the checkers analyzer
7 years ago
Jeremy Dubreil 243fd57eb7 [infer] Add an option to specify the name of the nullable annotation
7 years ago
Mehdi Bouaziz bb15aba766 [log] Even better exception reraising
7 years ago
Jeremy Dubreil 7b8c46a04e [infer][biabduction] remove the flag to trigger on/off the angelic mode in the backend
7 years ago
Sam Blackshear b3e8e972d6 [thread-safety] separate warning type for interfaces called in non-threadsafe context
7 years ago
Jules Villard d2b4f3c8da [config] add option to force deletion of results dir
7 years ago
Jules Villard 72b1ac4b5a Turn off --keep-going by default
7 years ago
Martino Luca 35ad7dd8bf [AL] Use Parmap to schedule parallel processes on compilation-database-based analyses
7 years ago
Daiva Naudziuniene ac33bf6e66 [destructors] Injecting destructor calls of virtual bases inside destructor bodies
7 years ago
Dulma Churchill 59be79a81e [linters] Improve the linters-doc-url flag, by splitting the url from the left, so we allow urls with colons
7 years ago
Jules Villard 2fff3b0733 [clang] distinguish genuine internal failures from unimplemented features
7 years ago
Jules Villard d7057ece2b [log] disable --keep-going in strict mode
7 years ago
Jules Villard 0cc371d0a2 [driver] remove infer-clang fake command
7 years ago
Dulma Churchill 5f176f40e3 [linters] Add linters_doc_url flag for custom doc_urls for linters
7 years ago
Jules Villard b740533945 [pp] refactor Pp functions and make them more flexible
7 years ago
Jules Villard c07cd81392 [log] better exception reraising
7 years ago
Jules Villard 24a9e44dd1 [log] log to toplevel log file in infer subprocesses
7 years ago
Martino Luca 740e9973d6 Replace existing calls to `exit` with InferExit exceptions to better control flow of executions
7 years ago
Jules Villard b5ff17825f [log] print sensible backtrace and message on `Logging.die`
7 years ago