1201 Commits (360151eb10020915c904e6895c31a8378b220d01)

Author SHA1 Message Date
Jules Villard 4958130297 [reportdiff] take key into account for file renamings
8 years ago
Jeremy Dubreil 53278f780c [infer][biabduction] simplify the symbolic execution of the execute load instruction
8 years ago
Jules Villard cfecff03c3 [reportdiff] allow "current" and "previous" to be specified in any order and among other fields in file_renamings.json
8 years ago
Jules Villard 0c7f08d29d [wibble] `driver_mode` -> `mode` in `Driver` module
8 years ago
Jules Villard 833b093174 [diff] make use of --changed-file-index
8 years ago
Jeremy Dubreil e0ad3a9d75 [infer][differential] remove the option to prevent the conflicts between Eradicate and Biabduction
8 years ago
Jeremy Dubreil f2cb85e3ab [infer][backend] remove unused code
8 years ago
Sam Blackshear 8ab998acf5 [obj-c] don't warn that self might be null
8 years ago
Jia Chen 7642d86c68 Oversized shift no longer produce an assertion failure
8 years ago
Radu Grigore e52b3f22b5 [infer][PR] Flush output after printing bugs in txt format.
8 years ago
Andrzej Kotulski c2207f5b06 small fixes to infer/src/*/README.md files
8 years ago
Jia Chen c9a2dcf7b1 Added constant-folding support for shifting
8 years ago
Jia Chen c4f153947b Removed unused option `allow_missing_index_in_proc_call`
8 years ago
Jeremy Dubreil f49d292c3b [infer][backend] remove the bi-abduction based code for taint analysis
8 years ago
Jia Chen a8897c2412 Properly model the copy semantics of NSString.stringWithUTF8String and NSString.stringWithString.
8 years ago
Jules Villard 54fdab889a [driver] do not complain if results directory is empty
8 years ago
Jia Chen acb0650e96 Preserve the name of abduced by-ref logical variables in re-execution phase
8 years ago
Jia Chen c80812453f Fix a corner case in Normalize.normalize where it could drop useful information during normalization
8 years ago
Jules Villard d07c8a0403 introduce new "diff" command
8 years ago
Jules Villard b0c2cfd7d4 [config] kill --bugs-json option
8 years ago
Josh Berdine 6bbb186ce2 [format] Attach docstrings to be warning 50 clean, other doc fixes
8 years ago
Jules Villard 36b6ab1779 [log] die in a proper fashion
8 years ago
Jeremy Dubreil ad54126dab [infer][ondemand] add a `--keep-going` command line option to specify when to catch the exceptions raised during the analysis
8 years ago
Josh Berdine bab3d81cb0 Convert Reason to OCaml, and auto-format OCaml
8 years ago
Mehdi Bouaziz 7411298def [cleanup] Killed Const.Cptr_to_fld and Binop.PtrFld
8 years ago
Josh Berdine f07de2d9c9 Replace long structured string literals with 'quoted strings'
8 years ago
Jia Chen c1905b87b1 Making the report blacklist configurable through command line
8 years ago
Jules Villard 50dc0bcad4 [driver] refuse to nuke suspicious results directories
8 years ago
Dulma Churchill 3aa68e23d9 [linters] Be able to specify human readable bug type in the rules
8 years ago
Jia Chen 7c41d3ee48 [infer][backend] Invalidate by-ref parameters for logical variables as well as program variables when calling undefined functions
8 years ago
Andrzej Kotulski e5556949d3 [backend] Introduce type substitution to expressions and instructions
8 years ago
Andrzej Kotulski 621ace48af [backend] Make Sil.subst type variant to allow more types of substitution
8 years ago
Jia Chen 89ef9356d0 Useful but insignificant changes in Prover
8 years ago
Jia Chen 77c56de7a9 [infer][backend] Do not create abduced var for addresses of local variables that are marked as Aundef
8 years ago
Jia Chen 10f1969bcf [infer][cpp] Fixed the error message for dangling pointer dereference when the dereference comes from C++ `delete` operator
8 years ago
Jia Chen afc8c1b762 [infer][backend] Deallocate local variables before formal parameters
8 years ago
Jia Chen b5b9c28a02 Add --write-html-regex-whitelist option that prints out debugging html only for selected source files
8 years ago
Josh Berdine e04dd37df3 update opam deps
8 years ago
Jia Chen 301ebd4cd5 Teach do_imply additional aliasing rules
8 years ago
Jules Villard 068622ce1b [-notest] goodnight, sweet prince
8 years ago
Jules Villard b9c59b2b1d [vector] model beginPtr and endPtr separately
8 years ago
Jules Villard 2f569e2b97 [driver] move things around
8 years ago
Jules Villard 83148a71aa [rundiff] thread the changed files list through the code instead of using the Config-time value
8 years ago
Andrzej Kotulski 61aa7aaae5 Move Fieldname module inside Typ
8 years ago
Jia Chen a8ad84b9d3 Prevent addresses of local vars from appearing in function summary
8 years ago
Jules Villard cd83a24381 [merge] only try to read/create multilink files when --merge is specified
8 years ago
Jia Chen 806585db26 Fix aliasing rules about local variables introduced before
8 years ago
Dulma Churchill 7d680b3b0c [linters] Add an optional doc_url field to linters to specify the url to some documentation online.
8 years ago
Jules Villard f38462407e [utils] make `read_file` return a `Result.t`
8 years ago
Jules Villard b158f5cd30 [reportdiff] add filtered out bugs to preexisting
8 years ago
Jia Chen 62cfd554c7 Teach the Prover additional aliasing rules about local variables
8 years ago
Mehdi Bouaziz 7e9f859896 More detailed error message for typ_get_recursive_flds
8 years ago
Dulma Churchill 45a8e48e00 [linters] Adapt the debugger and linters-developer-mode to the new logs
8 years ago
Martino Luca 20a6131ccf Compute differential of certain files only, if desired
8 years ago
Dulma Churchill ad7028cb49 [printing] Make sure that error messages end in a dot.
8 years ago
Jules Villard 0554da99e7 [perfstats] do not register the same file twice in the same process
8 years ago
Jules Villard a84df4673a [flock] truncate locked files explicitly to prevent race conditions
8 years ago
Mehdi Bouaziz f8eb9c2466 @\n only for format strings
8 years ago
Jeremy Dubreil 29d42a5e32 [infer][backend] Only call the prover to check that an expression being dereferenced is not null after checking if the expression is associated with @Nullable
8 years ago
Martino Luca acb7cf8dfe Remove unused `--filter-report-paths` argument
8 years ago
Jia Chen 938425020d [infer] Do not treat static locals as stack-allocated in the biabduction analysis
8 years ago
Jeremy Dubreil 7dd7b460e0 [infer][java] skip reports on generated methods
8 years ago
Jeremy Dubreil cddd1b4ca2 [infer][ondemand] rename the logging functions to outline the deprecated ones
8 years ago
Sam Blackshear 08586f3e81 [checkers] logging to summary in printf args checker
8 years ago
Jules Villard bfccb5222e [buck] do not generate non-deterministic data inside buck-out
8 years ago
Jules Villard 8f50c9dd3b [buck] do not pass unused --buck to python
8 years ago
Jules Villard 93cc3266e8 [log] log to a single file with different categories and debug levels
8 years ago
Jules Villard b50f9f2695 [police] open IStd everywhere
8 years ago
Jules Villard a121e4bb01 [oops] do not report in analysis sub-processes
8 years ago
Jules Villard 644066f4be [driver] make clear when the results dir becomes available
8 years ago
Jules Villard 5fae8ca712 [CLI] deprecate `-a capture/compile` and `-- analyze`
8 years ago
Mehdi Bouaziz ec7b096ff6 [inferbo] Add warnings and errors for unreachable code
8 years ago
Jules Villard 84b9901b22 [driver] run analysis and reporting for "analyze" commands
8 years ago
Jules Villard 0404641ab3 [utils] move parts of utils into their own submodules to avoid future dependency cycle
8 years ago
Andrzej Kotulski 5522365479 [IR] Add Typ.TVar variant to Typ.desc
8 years ago
Mehdi Bouaziz 2d73c71845 [debug] Links to non-visited nodes
8 years ago
Sam Blackshear 1d9d7a3ee0 [guarded-by] fix error message
8 years ago
Dulma Churchill 470a409d76 [clang] Blacklist retain cycles for now
8 years ago
Don Stewart 1a41d9dc89 Add location information to boolean conditions in paths. Improves comprehension a little
8 years ago
Dulma Churchill f5d3870485 [linters] Adding a new error type like
8 years ago
Sam Blackshear 927b08346e [SRI summer school] skeleton code for lab
8 years ago
Jules Villard 71f20908a1 [logging] revert to using `assert false` since we catch `Assert_failure` in some places
8 years ago
Jeremy Dubreil 16b87a3675 [infer] more cleanup for the tracing mode options
8 years ago
Martino Luca 34a0efd626 Add optional field in serialized output
8 years ago
Jules Villard 741e527826 [console] print progress-like messages on stderr
8 years ago
Jules Villard b964f6ab74 [CLI] options to unset default checkers and to print active checkers
8 years ago
Jeremy Dubreil 441bf7131a [infer][CLI] remove the Tracing analyzer option and only rely on the --tracing option for the biabduction analysis
8 years ago
Jules Villard 500f0fd5d5 [analyze] same parallelisation for `infer-analyze` and `infer -- analyze`
8 years ago
Sam Blackshear 32ead76a3b [absint] make Set and Map functors take an ordered type
8 years ago
Jeremy Dubreil 11ebad7cea [infer][checkers] finaly remove the unecessary 'checkers' flag
8 years ago
Jules Villard 9c3e92d9fd [toplevel] small changes in the stdout output
8 years ago
Jeremy Dubreil 73e9963b76 Revert "[infer][checkers] remove the unecessary 'checkers' flag"
8 years ago
Jeremy Dubreil 5773a903c6 [infer][checkers] remove the unecessary 'checkers' flag
8 years ago
Jeremy Dubreil 3b9aa9ad15 [infer][checkers] filter out the experimental issues instead of using a whitelist
8 years ago
Jules Villard 93ec47a5f4 [IR] add stride to array type
8 years ago
Mehdi Bouaziz 491cc2587b [infer] More mutex models
8 years ago
Jules Villard 801c605c26 [CLI] switch to infer-<command> (symlinks) executables
8 years ago
Jules Villard 709376945f [config] migrate help to use man pages
8 years ago
Jeremy Dubreil 8de5b7b85c [infer][checkers] fix performance issue when running the biabduction analysis as a checker
8 years ago
Martino Luca 6d1d78bb60 Change invariant to compute differential of reports
8 years ago
Martino Luca 30bcc6b5ce Simple refactoring of Localise
8 years ago
Jeremy Dubreil 7e12885f98 [infer][checkers] remove the quandary analyzer option and rely on the --quandary flag only
8 years ago
Jeremy Dubreil 6f85980e6e [infer][ondemand] try to load the summary when the procedure description cannot be found
8 years ago
Jeremy Dubreil be0cd4fa73 [infer][ondemand] use the attributes from the procedure description without filesystem lookup
8 years ago
Sam Blackshear 9157f42b7c [test] diagnose invalid source file issue
8 years ago
Sam Blackshear 52ed886886 [quandary] log error to summary instead of pdesc
8 years ago
Jeremy Dubreil 7bc2d6de12 [infer][ondemand] confine the concept of currently analyzed method to the Ondemand module
8 years ago
Jeremy Dubreil 9e4cbc919b [infer][checkers] Using the same filtering mechanisim for the biabduction analysis for the main Infer analysis and when using the checkers framework
8 years ago
Jules Villard 29f7967f26 [build] remove unused values
8 years ago
Mehdi Bouaziz 5a57be9003 [infer][checkers] remove the bufferoverrun analyzer option and rely on the --bufferoverrun flag only
8 years ago
Jeremy Dubreil 8064ac2614 [infer][checkers] remove the siof analyzer option and rely on the --siof flag only
8 years ago
Jeremy Dubreil ef354e6e2b [infer][checkers] remove the threadsafey as analyzer option and rely on the --threadsafety flag only
8 years ago
Jeremy Dubreil 0097d8a5cb [infer] First step to the biabduction analysis using the checkers framework
8 years ago
Sam Blackshear 6680126af9 [cleanup] replace Location.dummy with Location.none where acceptable
8 years ago
Jeremy Dubreil 548a36d71f [infer][backend] some more non-functional cleanup
8 years ago
Jeremy Dubreil b3af2ad4b6 [infer][ondemand] The source parameter from the analysis callback was never used
8 years ago
Jeremy Dubreil 224c1fea86 [infer][backend] remove the unecessary parameter source when printing node data
8 years ago
Jeremy Dubreil 33f9a2f864 [infer][backend] remove the unsafe function Specs.get_specs
8 years ago
Jeremy Dubreil 2e50022eb1 [infer][backend] remove unecessary check for analyzer kind
8 years ago
Jeremy Dubreil 8bbaf12500 [infer][backend] remove the function Specs.get_specs_formals
8 years ago
Jeremy Dubreil b790ac8c14 [infer][java] load the global type environment at most once per process
8 years ago
Jules Villard 1b0ee6fbc3 [clang] add sizeof static value to translation
8 years ago
Martino Luca 233d6a53c0 [Infer] Emit potential exception lines into qualifier's message
8 years ago
Andrzej Kotulski 029499cd9d [IR] add type qualifiers to Typ.t
8 years ago
Jeremy Dubreil 06b0b94626 [infer][java] simplify the domain logic of the annotation reachability checker
8 years ago
Mehdi Bouaziz 92241119a2 [debug] Show the full payload of proc specs rather than preposts only
8 years ago
Jules Villard 3325306c58 [config] rename --report and -report to --stats-report
8 years ago
Jules Villard 31a6aba3c2 [siof] enable SIOF checker only when new --siof option is passed
8 years ago
Martino Luca a42302bd38 Add variant type to traces' node_tags
8 years ago
Martino Luca 46c7aa378c Drop XML reports in InferPrint
8 years ago
Jules Villard 68d6f73142 ocaml 4.04.0
8 years ago
Jules Villard 857eae7c6b [build] address warnings 52 and 57
8 years ago
Jules Villard dd2c56da06 be more careful about handling invalid source files
8 years ago
Jules Villard 724a592c34 [toplevel] do not read inferconfig location from the command line
8 years ago
Jules Villard b349fb147c [build] upgrade Reason to 1.13.3
8 years ago
Sam Blackshear 093b3c6478 [logging] don't log debug html for preanalyses
8 years ago
Dulma Churchill 6b9a37f5cd [capture] Fail when buck call fails
8 years ago
Andrzej Kotulski 3cdb0e04f5 [SourceFile] Move append_crc_cutoff to DB module
8 years ago
Jules Villard b539366a5c [build] fail early if running `make test` with only some analyzers, add `make config_tests`
8 years ago
Dulma Churchill 830b185e6a [driver] Improvements to buck compilation database mode
8 years ago
Andrzej Kotulski 5503487704 [C++] Introduce mechanism to write generic models
8 years ago
Dulma Churchill 142fe31fae [driver] Declare a clean command for xcodebuild with xcpretty
8 years ago
Dulma Churchill 15ede90c44 [driver] Add warning about nothing captured
8 years ago
Jeremy Dubreil bf55514b85 [infer][checkers] Add a pretty print of the annotation reachability payload when printing summaries
8 years ago
Josh Berdine 6d2a88ed64 Add --chunk to set per-procedure-parallelism chunk size
8 years ago
Dulma Churchill f4bc0db2b4 [clang] Make capture with simple clang command be a method call
8 years ago
Jeremy Dubreil f5adab59ec [infer][checkers] Prevent the race conditions between the summaries passed as parameter to the checkers and the summaries from the specs table
8 years ago
Dulma Churchill 64791d1136 [driver] Bring clang capture from python to ocaml
8 years ago
Paco Estevez Garcia 5482f110c1 Add type path_exec to represent an skipped path of execution. Add logic to symExec to report skipped paths
8 years ago
Dulma Churchill e155e8ea46 [IR] Convert err_data into a record for more clarity
8 years ago
Andrzej Kotulski ade5a06cd4 [IR][clang] Use qualified cpp name in fields, improve errdesc.ml
8 years ago
Andrzej Kotulski 71702a13dc [IR] More detailed type for Fieldname.t
8 years ago
Mehdi Bouaziz f65ac4f094 [infer] std::mutex model to detect simple double lock
8 years ago
Andrzej Kotulski 7c64d217f2 [IR] Refactor Ident.fieldname _*into Fieldname module
8 years ago
Andrzej Kotulski d4e9f0de64 [Makefile] Print duplicate symbols to separate file, not stderr
8 years ago
Andrzej Kotulski 9a07318ab7 [IR] Simplify Typ.Name.t type by inlining Csu.t type
8 years ago
Dulma Churchill 565ce2166d [ios] Translate nonnull annotations and take them into account in parameter not null checked issues.
8 years ago
Andrzej Kotulski 42947ea9d9 [IR] Make template info part of Typename.t, rename Typename to Typ.Name
8 years ago
Jeremy Dubreil 4a62c44a3e [infer][ondemand] remove the call to `Specs.get_summary_unsafe` for the Fragement Retains View checker
8 years ago
Jeremy Dubreil c5b30b4c05 [infer][backend] remove the perf stats from the summaries
8 years ago
Jeremy Dubreil 30ae60461e [infer][backend] Fail when no callback is registered to run the analysis on-demand
8 years ago
Jeremy Dubreil e23b04180e [infer][ondemand] run all the registered checkers in sequence
8 years ago
Jeremy Dubreil 34106a2056 [infer][java] no longer generate the itermediate report.csv for Java Buck projects
8 years ago
Jules Villard 7d02d59540 Revert "[infer][java] add an option to disable the creation of the human readable list of issues found"
8 years ago
Dulma Churchill fca8322c1f [linters] Save the linters definition file in the report.json
8 years ago
Jules Villard fe51f08ae9 [UI] only colorize the top 10 reports, do not compile report lists within Buck
8 years ago
Jeremy Dubreil 3e6ff023a7 [infer][ondemand] skeleton code to have every checker update their respective payload in the analysis summary
8 years ago
Martino Luca 5448a95ce7 [Infer][Localise] Group all issue types in one place, and provide their human-readable representation
8 years ago
Cristiano Calcagno ec6a3cf6bb [backend] Add support for command-line option --per-procedure-parallelism
8 years ago
Martino Luca 6e84a4b3cb Add `--filter-report-paths` argument to restrict results to a given list of paths
8 years ago
Jeremy Dubreil 8bd8d5093c [infer][java] add an option to disable the creation of the human readable list of issues found
8 years ago
Andrzej Kotulski 925d73efce [clang] Add template instantiation info into Procname.t
8 years ago
Andrzej Kotulski 8168d07240 [backend] Print timeout information into stdout in debug mode
8 years ago
Andrzej Kotulski e363958d34 [codemod] Move `Procname` into `Typ.Procname`
8 years ago
Andrzej Kotulski 104acee99d [Sil] Create Typename.Obj/Cpp modules with constructors
8 years ago
Jeremy Dubreil cb57578c74 [infer][ondemand] Run the Thread-Safety checker in two phases, first analyze all the procedure on-demand using a procedure callback, and then combine all the analysis results using a cluster callback
8 years ago
Jeremy Dubreil fba8c256d0 [infer][java] When calling InferPrint, only consider the specs file in the local results directory
8 years ago
Andrzej Kotulski 1a9b81c0f4 [clang] Store Typename.t in Procname.ObjC_Cpp.class
8 years ago
Jeremy Dubreil 08980b57e5 [infer][ondemand] make the Procname API more robust by using Typename.t for the class name part of a method name
8 years ago
Martino Luca f8a65e698c Add differential and filtering functionalities to Infer, to compare two analyses
8 years ago
Ben Hudson 2c2626359c [infer][PR] couple more typos
8 years ago
Cristiano Calcagno 1a3fcd44a1 Fix implementation of touch_start_file
8 years ago
Jeremy Dubreil 13e199a4ca [infer][ondemand] no need to pass the procedure name to save a summary
8 years ago
Jeremy Dubreil 9229d1be67 [infer][ondemand] change the type of analyze_ondemand to return the analysis summary
8 years ago
Martino Luca 3eecb243e6 Customize tests output via InferPrint's command-line
8 years ago
Cristiano Calcagno 9147e071f3 Serialization: lock files before writing
8 years ago
Jeremy Dubreil 3352ed0a6b [infer][backend] remove the call stats from the summary
8 years ago
Jeremy Dubreil 9c52e8ee68 [infer][backend] remove the concept of timestamp in summaries and use the summary status instead
8 years ago
Josh Berdine 95725e4dd0 Refactor StructTyp to Typ.Struct
8 years ago
Jeremy Dubreil 7a3fd229cd [infer][ondemand] Also store the summary to disk when the on-demand analysis raises an exception
8 years ago
Cristiano Calcagno 6d6d6f6efa [backend] Cleanup Serialization module
8 years ago
Jeremy Dubreil 7c85306e2f [infer][backend] remove duplicate function to store summaries to disk
8 years ago
Cristiano Calcagno 9a06a859e2 Deprecate IList part 3.
8 years ago
Jeremy Dubreil 14862d0aca [infer][ondemand] remove redundant check for already analyzed procedures
8 years ago
Cristiano Calcagno b1b5460529 Deprecate further IList functions
8 years ago
Cristiano Calcagno 41c5be9bad Deprecate more IList functions
8 years ago
Jeremy Dubreil 0df765abfb [infer][ondemand] remove redundancy when storing summaries to disk
8 years ago
Cristiano Calcagno 731dead406 More IList deprecation: fold functions
8 years ago
Dulma Churchill d81b1644de [ios] Enable npes for self in initializers
8 years ago
Jules Villard a8be4f1f4f [clang] options rename: --compilation-database -> --buck-compilation-database, --clang-compilation-db-files -> --compilation-database
8 years ago