1354 Commits (5cff9c91f970d0448178d7cc843149b32051a6a2)

Author SHA1 Message Date
Sam Blackshear c98bc53ede [racerd] move de-duplication back to the backend
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
Dulma Churchill 4ad80615ef [retain cycles] Do not check twice for cycles, once in abs and once in the retain cycles module
7 years ago
Sam Blackshear f7c415f7ae [cleanup] restrict Java-specific utility functions to Typ.Procname.Java.t's
7 years ago
Sam Blackshear 04d2882a6b [cleanup] organize Java-specific functions on types
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
Jeremy Dubreil 7bbb615740 [infer][ondemand] minor simplification of the top-level iteration
7 years ago
Jules Villard b71d567157 [exe_env] replace set of sources by singleton
7 years ago
Jules Villard 764224139c [backend] change cluster type to source files and read list from cfg db
7 years ago
Dulma Churchill ebd58cbfc0 [retain cycles] Remove false positive retain cycles
7 years ago
Jeremy Dubreil 6e1979a3e0 [infer][IR] introduce a fold function over the procedure descriptions in a file to avoid make copies of mutable data-structures
7 years ago
Jeremy Dubreil c6a6087ed1 [infer][IR] factor the test for pointer type
7 years ago
Jeremy Dubreil 1db403c51d [infer][scheduler] no need to filter the defined procedures when running the checkers
7 years ago
Josh Berdine 63439ecc02 [ocamlformat] Upgrade base and ocamlformat
7 years ago
Sam Blackshear ab3da5b1d1 [cleanup] remove unused dynamic dispatch modes
7 years ago
Jeremy Dubreil 93b9f2c488 [infer][java] catch Invalid_argument exception when translating the bytecode to the Sawja JBir representation
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
Jeremy Dubreil 32deab86bd [infer][nullable checker] avoid reporting the nullable violations that are already reported by the biabduction analysis
7 years ago
Sam Blackshear f37344358b [experimental] interprocedural should_update analysis
7 years ago
Jules Villard a91e7dda50 [cfg] move cfgs to sqlite
7 years ago
Dulma Churchill 5b5b72f983 [retain cycles] Improve the message by adding info about when each of the objects involved was last updated.
7 years ago
Dulma Churchill d7dc9b38f7 [retain cycles] Refactoring of computing cycles using dedicated data structure
7 years ago
Josh Berdine 22ec29fabc [racerd] Report only once per unique pair of final trace locations
7 years ago
Sam Blackshear d81faea3b3 [de-duplication] fix bug causing under-aggregation
7 years ago
Jeremy Dubreil 75de2006dd [infer] make sure adding or removing parameters does not affect the bug hash on Objective C methods
7 years ago
Dulma Churchill ed740600de [cleanup] Remove hidden field and related code that is not used anymore.
7 years ago
Jeremy Dubreil e622e7b431 [infer][ondemand] cache the results of the on-demand analysis
7 years ago
Dulma Churchill 1d0b6050a6 [retain cycle] Move the code about retain cycle detection to a dedicated module
7 years ago
Jeremy Dubreil 3e94c868f4 [infer] use the classname without the package name to compute the bug hash
7 years ago
Sam Blackshear 8ef346acbe [logging] less logging from interproc module
7 years ago
Jeremy Dubreil ea29749671 [infer] simpler bug hash
7 years ago
Sam Blackshear 51cce869b3 [logging] no longer log a summary when we add it to the specs table
7 years ago
Sam Blackshear adde940be4 [cleanup] kill stats_mode option
7 years ago
Dulma Churchill 71fde88950 [IR] Adding support for variable attributes, adding __block for ObjC variables
7 years ago
Jeremy Dubreil 7b8a5a1a2b [infer] always run all the pre-analysis passes independently form the checkers that are being run
7 years ago
Sam Blackshear ca3f71a8b3 [experimental] report call chains reachable from onCreateLayout
7 years ago
Josh Berdine 63183f94f1 [racerd] Delay issue deduplication to differential reporting
7 years ago
Jeremy Dubreil f08a9a3a71 [infer] fix the printing of analysis summaries to standard output
7 years ago
Dulma Churchill 68beca1523 [objc] Refactor modeling of CoreFoundation and CoreGraphics libraries
7 years ago
Martino Luca 09a807fe0a Add `late_epilogue` callback that gets invoked at the end of infer's lifecycle
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 85ab063983 [infer] remove the field `nodes` in the summary definition
7 years ago
Jeremy Dubreil 97927f6f46 [infer][checkers] remove the `-a biabduction` option and the related code
7 years ago
Sam Blackshear ceb0062cdd [cleanup] kill constant propagation pass in bi-abduction
7 years ago
Dulma Churchill c90bcf1320 [objc] Model dispatch functions
7 years ago
Jules Villard 82c9201bfc [reactive] keep specs around in reactive mode
7 years ago
Jules Villard e993a4867d [debug] kill `Interproc.print_stats`
7 years ago
Jules Villard 6a8d71ad81 [style] s/_foo/foo_/ when `foo_` is not unused
7 years ago
Sam Blackshear 33450ab58b [cleanup] remove language from ProcAttributes
7 years ago
Jules Villard 2ff05385dc [driver] do not run the analysis in Buck flavors sub-processes
7 years ago
Jeremy Dubreil 1709db4089 [infer] always store the procedure description in the summary
7 years ago
Jules Villard 45d5d878cf [cfg] minor renamings
7 years ago
Josh Berdine f62ab09e61 [ocamlformat] Upgrade ocamlformat to v0.2 from opam
7 years ago
Dulma Churchill 794c8677fd [clang] Executing methods with blocks as parameters by instantiating the parameters with current blocks
7 years ago
Stephan Walters b07269ab71 [infer][PR] Fixed type
7 years ago
anuolu 2ba4d7b0f1 [infer][PR] fixed spelling
7 years ago
Jules Villard 525a94e470 [siof] do not generate dummy derefs in initializer code
7 years ago
Jeremy Dubreil 0a1971a08d [infer][biabduction] keep the files in the trace even when the exact location of the method is not known
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
Sam Blackshear b67a82636c [cleanup] delete unused lock builtins
7 years ago
Jeremy Dubreil 55c585e1e0 [infer][biabduction] remove the bi-abduction based check for uninitialized values
7 years ago
Dulma Churchill 01219a0298 [cleanup] Remove the retain count implementation from ObjC that is unused.
7 years ago
Josh Berdine f89e687efa [ocamlformat] Use ocamlformat from github
7 years ago
Dulma Churchill a969b5d188 [cleanup] Remove unused code for finding correct fields in Objective-C
7 years ago
Dulma Churchill 3c48a3f38a [objc] Do not fail in the bi-abduction with missing fields in ObjC
7 years ago
Sam Blackshear bc02bee737 [cleanup] rename thread-safety analysis
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
Jeremy Dubreil 171145603e [infer][checkers] specify the dynamic dispatch handling policy on a per-checker basis.
7 years ago
Jules Villard b95f29c8d1 various minor improvements
7 years ago
Sam Blackshear c2c1679a5f [inferprint] fix template deduplication
7 years ago
Jeremy Dubreil 03cb052ad9 [infer][checkers] run the Java biabduction tests using the checkers framework
7 years ago
Jeremy Dubreil 514968bf36 [infer][checkers] simplify the lookup of the procedure description when executing callbacks
7 years ago
Mehdi Bouaziz 6c39c2ccd3 Fix pp_instr_list nontailrecursiveness
7 years ago
Jules Villard da8333718a [biabduction] catch exceptions more broadly
7 years ago
Mehdi Bouaziz eff7bb5bdf [inferbo] Replace buckets with issue types
7 years ago
Mehdi Bouaziz 4873e78440 Buckets comments and cosmetics
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 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
Dulma Churchill 870c636e41 [objc] Adding missing fields to env when executing generated getters and setters.
7 years ago
Dulma Churchill 0212aaf81f [stats] Emit the stats only in developer mode
7 years ago
Jeremy Dubreil a7e6ba7b2b [infer][java] add support for @Nonnull on skipped functions
7 years ago
Sam Blackshear dfc15372c4 [checkers] make get_proc_desc usable from cluster checkers
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 f05cc6385c [infer][cleanup] remove old Eclipse project files
7 years ago
Sam Blackshear ece8678417 [cleanup] remove some needless language checks in checkers callbacks
7 years ago
Sam Blackshear 39a71d607c [cleanup] remove some needless language checks in checkers callbacks
7 years ago
Sam Blackshear 18a9e52752 [cleanup] remove Idenv from checkers callbacks
7 years ago
Sam Blackshear 6a76bc6c7a [checkers] move aggregation by class out of cluster checker callbacks
7 years ago
Jules Villard e02f6ab39f [exceptions] make more efforts to preserve backtraces
7 years ago
Jeremy Dubreil 8740e8a11a [infer][java] no longer report the resource leaks when using the tracing mode
7 years ago
Jeremy Dubreil 7b8c46a04e [infer][biabduction] remove the flag to trigger on/off the angelic mode in the backend
7 years ago
Jeremy Dubreil 41451743f7 [infer][biabduction] Minor simplification of the load symbolic execution code
7 years ago
Jules Villard d2b4f3c8da [config] add option to force deletion of results dir
7 years ago
Jules Villard 16dcae58fa [buck] display the time it took to merge Buck targets (--flavors)
7 years ago
Jules Villard c6812df1eb fix infinitely-expanding types in the backend
7 years ago
Jeremy Dubreil f8d04b4717 [infer][java] quick patch to fix the assertion failure when the path of a context leak cannot be found
7 years ago
Sam Blackshear d08bebe563 [reporting] don't report duplicate warnings on different instantiations of the same template
7 years ago
Jeremy Dubreil 42fc24ebfd [infer][biabduction] fix the dynamic resolution of non virtual calls
7 years ago
Sam Blackshear ca3e454481 [reporting] aggregate issues from all procedures before reporting
7 years ago
Sam Blackshear faf04af1f4 [cleanup] kill some debug code
7 years ago
Dulma Churchill b99b653ffa [linters] Fix the computing of the successors of method declarations
7 years ago
Jules Villard 0cc371d0a2 [driver] remove infer-clang fake command
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
Jeremy Dubreil 94ff44ed57 [infer][biabduction] add skipped functions to the trace when known
7 years ago
Jeremy Dubreil 20c57ad549 [infer][biabduction] add more context information about the reason to skip a method during the symbolic execution
7 years ago
Martino Luca 740e9973d6 Replace existing calls to `exit` with InferExit exceptions to better control flow of executions
7 years ago
Sam Blackshear 14aef012f6 [quandary] allow specifying globals as sources
7 years ago
Jeremy Dubreil 8cee4fefd5 [infer][biabduction] remove unused skip flag
7 years ago
Jeremy Dubreil d0d78aae7b [infer][biabduction] no longer exchange the expressions associated to an attribute
7 years ago
Sam Blackshear 81c68a34cd [infer] python integration: parser, cfg support
7 years ago
Dulma Churchill d5be23f1b6 [backend] Do not add return annotations to parameters of functions that are skipped
7 years ago
Sam Blackshear 9772b2299d [clang] translate user-defined literals
7 years ago
Jeremy Dubreil 32d462b778 [infer][java] add an option to only translate the signature of the methods and skip the body
7 years ago
Jeremy Dubreil 1a221e798c [infer][java] make the translation and analysis of abstract methods and native methods consistent
7 years ago
Jeremy Dubreil a03f765d8f [infer][biabduction] no longer drop the atoms that are referring to footprint variables
7 years ago
Jules Villard 1c375a17ac [log] die more appropriately
7 years ago
Jeremy Dubreil d4565107f6 [infer][biabduction] add the name of the skipped methods to the trace to make them more readable
7 years ago
Jules Villard c16884b97f [jbuilder] turn I{Std,List} and atd-generated files into libraries
7 years ago
Martino Luca e8a0599850 [AL] add `--linters-validate-syntax-only` to check whether there are any syntax errors in AL files
7 years ago
Daiva Naudziuniene 29aea2d61d Do not show internal SIL variable name in the error message of temporary address escape
7 years ago
Jeremy Dubreil 54eaaa9573 [infer][biabduction] remove the check for null test after dereference on Java
7 years ago
Jules Villard 69299ba675 [filtering] improve issue type filtering CLI
7 years ago
Jia Chen 3e82890d6d Teach the prover and the normalizer aliasing rules between pointers and integers
7 years ago
Jules Villard ebbc202342 [help] in infer --help, show in which manual each option can be found
7 years ago
Jia Chen 4733f878a4 [infer][backend] Extend the scope of NULL_TEST_AFTER_DEREFERENCE check
7 years ago
Jules Villard 5074388e25 [buck] always create multilinks for attribute files
7 years ago
Sam Blackshear 1157364a09 [preanalysis] kill copy-propagation code
7 years ago
Sam Blackshear 557faa4a46 [bi-abduction] use ProcCfg instead of file CFG
7 years ago
Sam Blackshear ccdf15a1ca [quandary] vector and array access as sink
7 years ago
Sam Blackshear d850492ffe [cleanup] kill condition_is_assignment check
7 years ago
Jules Villard 679b125ac4 [trace] infer subcommand for inferTraceBugs
7 years ago
Jules Villard b2ee1152fe [prover] do destructive normalization to prove more
7 years ago
Jeremy Dubreil 34d10fdede [infer][cleanup] remove some left-over use of the Eradicate analyzer entry
7 years ago
Jia Chen b68770d592 [infer][backend] Teach the biabduction analysis more simplification rules
7 years ago
Jia Chen 5deffbce24 Teach the prover more simplification rules
7 years ago
Jia Chen a718ebe8ec [frontend] Additional information for the backend to distinguish between pass-by-val args and pass-by-ref args
7 years ago
Jules Villard 766a73d80c [buck flavors] make `infer run ...` use #infer-capture-all
7 years ago
Jeremy Dubreil 2a8e192280 [infer][biabduction] disable the reporting of return value ignored
7 years ago
Jeremy Dubreil 99b412e165 [infer][checkers] remove the Eradicate analyzer option
7 years ago
Jeremy Dubreil 15a8848502 [infer][biabduction] always reuse the same abduced return variable for unknown methods in Java
7 years ago
Jules Villard 4958130297 [reportdiff] take key into account for file renamings
7 years ago
Jeremy Dubreil 53278f780c [infer][biabduction] simplify the symbolic execution of the execute load instruction
7 years ago
Jules Villard cfecff03c3 [reportdiff] allow "current" and "previous" to be specified in any order and among other fields in file_renamings.json
7 years ago
Jules Villard 0c7f08d29d [wibble] `driver_mode` -> `mode` in `Driver` module
7 years ago
Jules Villard 833b093174 [diff] make use of --changed-file-index
7 years ago
Jeremy Dubreil e0ad3a9d75 [infer][differential] remove the option to prevent the conflicts between Eradicate and Biabduction
7 years ago
Jeremy Dubreil f2cb85e3ab [infer][backend] remove unused code
7 years ago
Sam Blackshear 8ab998acf5 [obj-c] don't warn that self might be null
7 years ago
Jia Chen 7642d86c68 Oversized shift no longer produce an assertion failure
7 years ago
Radu Grigore e52b3f22b5 [infer][PR] Flush output after printing bugs in txt format.
7 years ago
Andrzej Kotulski c2207f5b06 small fixes to infer/src/*/README.md files
7 years ago
Jia Chen c9a2dcf7b1 Added constant-folding support for shifting
7 years ago
Jia Chen c4f153947b Removed unused option `allow_missing_index_in_proc_call`
7 years ago
Jeremy Dubreil f49d292c3b [infer][backend] remove the bi-abduction based code for taint analysis
7 years ago
Jia Chen a8897c2412 Properly model the copy semantics of NSString.stringWithUTF8String and NSString.stringWithString.
7 years ago
Jules Villard 54fdab889a [driver] do not complain if results directory is empty
7 years ago
Jia Chen acb0650e96 Preserve the name of abduced by-ref logical variables in re-execution phase
7 years ago
Jia Chen c80812453f Fix a corner case in Normalize.normalize where it could drop useful information during normalization
7 years ago
Jules Villard d07c8a0403 introduce new "diff" command
7 years ago
Jules Villard b0c2cfd7d4 [config] kill --bugs-json option
7 years ago
Josh Berdine 6bbb186ce2 [format] Attach docstrings to be warning 50 clean, other doc fixes
7 years ago
Jules Villard 36b6ab1779 [log] die in a proper fashion
7 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
7 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