1856 Commits (eaa7c2a8ad5e3168b8ff9787308de6ea4bafa8c7)

Author SHA1 Message Date
Martino Luca ef2cfa7b40 [Infer][Perf] Deduplication of identical perf reports
6 years ago
Jules Villard 9aa5582caa [clang] leave markers of variable initialization for pulse
6 years ago
Mehdi Bouaziz 18c45947da Logging.d_printf
6 years ago
Jules Villard 5c30ea1051 [debug] print full types in instructions on error
6 years ago
Mehdi Bouaziz 10804588b2 New function pointer preanalysis without recursion
6 years ago
Nikos Gorogiannis 4334225e67 [class loading] initial commit
6 years ago
Sungkeun Cho 1ae393dc76 [infer] Get widths of build-in integer types
6 years ago
Mehdi Bouaziz a2230bca9d [debug] Print nodes using weak topological order
6 years ago
Jules Villard dd2b9675d6 [log] print only innermost source file context of crash
6 years ago
Mehdi Bouaziz 371e1267d9 [debug] Get rid of proof_cover/isproof
6 years ago
Mehdi Bouaziz b71af05f00 Stats: merge visited_fp and visited_re
6 years ago
Mehdi Bouaziz c9b89b54dd Preparing for WeakTopologicalOrder-based abstract interpreter
6 years ago
Mehdi Bouaziz 2be4710811 [AI] Enable debugging only based on --write-html
6 years ago
Mehdi Bouaziz f639906496 [Uninit][2/13] Move summary type
6 years ago
Mehdi Bouaziz b90c2f3bfc [debug] Print proc attributes on the procedure page
6 years ago
Mehdi Bouaziz 15839539a7 Annot.Method: record rather than pair
6 years ago
Jeremy Dubreil 56709b4ccb [infer] the bug hash should also consider the anonymous classes in the qualifier
6 years ago
Jules Villard 2b30dec50a [proc-cfg][4/5] kill Cfg.load
6 years ago
Jules Villard 31e01a9aa0 [proc-cfg][3/5] stop caching whole-file cfgs in exe_env
6 years ago
Jules Villard 7615963bf4 [proc-cfg][2/5] fix duplicate symbols detection
6 years ago
Jules Villard b8240eadc1 [cfgs] only analyse *defined* procedures
6 years ago
Jeremy Dubreil fd29aff3a7 [infer] remove the special case to always create summaries for the Java methods
6 years ago
Ezgi Çiçek 43b3f80de5 Add simple purity analysis
6 years ago
Jules Villard bb037c39ee [kill -a][4/4] kill `Config.analyzer`, deprecate `--analyzer`
6 years ago
Jules Villard ea463ce960 [kill -a][2/4] always register checkers in `InferAnalyze`
6 years ago
Jules Villard d5c59743b7 [callbacks] trace each checker's execution time
6 years ago
Jules Villard 6837629654 [perf] emit Trace Event json
6 years ago
Jules Villard 5478f3be64 [log] source location info when dying in the backend
6 years ago
Julian Sutherland f6afe3a092 quandaryBO now filters out quandary and inferBO errors if they are not enabled.
6 years ago
Nikos Gorogiannis bca942c694 [python] kill python frontend
6 years ago
Mehdi Bouaziz d9fb7b3004 ProcAttributes: removed unused by_vals
6 years ago
Mehdi Bouaziz f57e7028a8 ProcAttributes: removed unused proc_flags
6 years ago
Martino Luca b0cfd73b19 [Perf] Emit traces alongside cost issues
6 years ago
Martino Luca c078bf5a12 [Perf][CI] Differential of costs, based on degree variation
6 years ago
Mehdi Bouaziz ddbb7e05d3 Reporting cleanup 22: log_error/warning -> use IssueType rather than exception
6 years ago
Mehdi Bouaziz 051c9d5e1f [inferbo] Report Unreachable_code_after with Checkers exception
6 years ago
Jules Villard 817f83972c [epilogues] do not rely on `at_exit`
6 years ago
Sungkeun Cho 3aab371b1f [inferbo] Detach Summary from Domain module
6 years ago
Martino Luca dcdc5ec168 [Perf] Add hash to costs report
6 years ago
Julian Sutherland e715d48c12 QuandaryBO
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 4c0e217410 Remove dead Config.pp_simple
6 years ago
Mehdi Bouaziz 348d0a0326 Remove Config.forcing_delayed_prints
6 years ago
Martino Luca 37bf7a5039 Emit human-readable cost info when in developer-mode
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
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 249ef9d75b Reporting cleanup 17: move doc_url from reporting to issue type
6 years ago
Mehdi Bouaziz 98f29bceb4 Reporting cleanup 15: simplify log_issue_deprecated_using_state
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
Mehdi Bouaziz 6597d701a1 DifferentialFilters: simplify find_previous
6 years ago
Mehdi Bouaziz f7fe76e043 Renamings: list -> map
6 years ago
Mehdi Bouaziz 87d2f67c91 DifferentialFilters: removed two dead types
6 years ago
Josh Berdine 40ab73037e [ocamlformat] upgrade to ocamlformat 0.7
6 years ago
Mehdi Bouaziz b4b54025bf Remove C++ mutex DOUBLE_LOCK checker
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 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
Jeremy Dubreil 1938c4b758 [eradicate] remove TypeState extensions
6 years ago
Mehdi Bouaziz 34a6a487c5 Reporting cleanup 10: log_frontend_issue
6 years ago
Mehdi Bouaziz eb282797ab Reporting cleanup 9: move NodeKey to Procdesc
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
Mehdi Bouaziz 919d05b5ef Reporting cleanup 3: NodeKey
6 years ago
Mehdi Bouaziz 114c4e436d Reporting cleanup 2: Errlog.log_issue
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
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 ad986dffde Get rid of Declare_locals
6 years ago
Jules Villard 59f09ef697 [opam] upgrade atdgen to version 2
6 years ago
Jeremy Dubreil 59b7915177 [infer] rename the severity variants
6 years ago
Jules Villard e5a5d64760 [caml] do not use `let _ =`
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
Jules Villard d3a36947bd [specs] do not expose specs cache
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
Jules Villard f00d73b574 [taskbar] more informative non-interactive mode
6 years ago
Daiva Naudziuniene a8d80a590b [cfg] Add variant type for statement node
6 years ago
Martino Luca 9e048c11f8 [Perf] Emit cost polynomial and their degree as part of the report
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
Jules Villard 8977011737 [taskbar] display on-demand nesting
6 years ago
Jules Villard 0d8c2dedd6 [cli] add the ability to rerun the analysis on some files with different options
6 years ago
Jules Villard f70f413c54 [sqlite] API to retrieve rows of more than one column
6 years ago
Jules Villard 0f79fd8d94 [minor] adjust some comments
6 years ago
Jules Villard be855d3589 [explore] change filtering options to filter in OCaml rather than SQLite
6 years ago
Jules Villard a6a7b7f467 [reactive] always delete specs dir
7 years ago
Jules Villard 86e79a7125 [attributes] always have a (single) translation unit
7 years ago
Jules Villard a5a106c83a [cli] create missing directory
7 years ago
Jeremy Dubreil 7d2b96b42f [infer][backend] removed the use of Summary.get_unsafe in the backend 2/2
7 years ago
Jeremy Dubreil a055833eb3 [infer][ondemand] assert that the callbacks are set before retrieving the procedure description
7 years ago
Jules Villard 89040bee1c [backend] do not let caches grow too big
7 years ago
Jeremy Dubreil 055a8267e8 [eradicate] promote reports as errors for generated GraphQL source of nulls
7 years ago
Jules Villard 4a1379ebc5 [taskbar] it is born
7 years ago
Jules Villard 0914fee2cc [backend] remove source file from exe_env
7 years ago
Jules Villard ea734a3e77 [scheduler] delete unused tasks continuations
7 years ago
Dulma Churchill 2f00ccb434 [IR] Unify the proc attribute translation_unit and source_captured
7 years ago
Mehdi Bouaziz 4eef0d90c8 Logging/Printer: better code
7 years ago
Ezgi Çiçek bbd6820ca1 Get rid of data dep analysis and localize it to single step
7 years ago
Dulma Churchill 79a8f8716c [clang] Adding parameters as part of the procname for C++/ObjC methods and ObjC blocks
7 years ago
Nikos Gorogiannis 4820e3db1e [starvation] add NonBlocking annotation
7 years ago
Jeremy Dubreil 0da5435d9d [infer][backend] remove unecessary function Summary.pdesc_resolve_attributes
7 years ago
Jules Villard 710dae8ee4 [doc] add `make doc` target for building html API doc
7 years ago
Nikos Gorogiannis a5f9bcbbde [reporting] fix position of optional arg
7 years ago
Nikos Gorogiannis cacc975394 [starvation] implement SuppressLint
7 years ago
Mehdi Bouaziz 69ead917c3 Instrs: Arrays and RevArrays only
7 years ago
Mehdi Bouaziz fc5c093d1e ProcCfg: do not include module Node
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
Mehdi Bouaziz 4927e31c2f Abstract type for list of instructions in node
7 years ago
Mehdi Bouaziz 42b3958a07 ProcCfg: fold on nodes only
7 years ago
Mehdi Bouaziz c841bf262a Preanal: append_instrs once per node
7 years ago
Mehdi Bouaziz eaf4490670 Preanal: reduce garbage
7 years ago
Jules Villard fecabb3bf3 [siof] do not report on standard streams
7 years ago
Mehdi Bouaziz 1cd1dc580d Errdesc.find_in_node_or_preds: got rid of ref
7 years ago
Mehdi Bouaziz 1898ef3a7a [Summary] Move payloads to a separate module
7 years ago
Mehdi Bouaziz 15b77c6a55 Move get_phase from Tabulation to BiabductionSummary
7 years ago
Mehdi Bouaziz 8615091615 [Summary] Pp simplifications
7 years ago
Mehdi Bouaziz 7f8511c2df [Summary] move Stats and Status to modules
7 years ago
Jose Blanco 6ca1b69b6f [infer][PR] fixed typos
7 years ago
Jules Villard 3aa6fdf1ce [rename] specs -> summary, Summary -> SummaryPayload
7 years ago
Jules Villard d207f29287 [specs] move biabduction-specific stuff to BiabductionSummary.ml
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
Daiva Naudziuniene 28b696881c [minor] Use List.is_empty instead of List.length equal to 0
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
Jules Villard 902de9d6e3 [sil] make return value and type mandatory
7 years ago
Jules Villard ce0ffaf877 [ocaml] detect and kill dead modules
7 years ago
Jules Villard 73a47d594c [debug] print procedures in alphabetical order in cfgs
7 years ago
Jules Villard dc2cd65a2c [explore] print only non-default values in the attributes
7 years ago
Daiva Naudziuniene 496e5e8c0a [use after free] Report only high confidence level use_after_free
7 years ago
Josh Berdine 16988b0a7a [ocamlformat] Upgrade to ocamlformat 0.5
7 years ago
Ezgi Çiçek 523c2f539b change clang translation to track if_kind (i.e. the type of prune node)
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
Mehdi Bouaziz 4aefa6f76b Debug: session name
7 years ago
Mehdi Bouaziz 5b908d633c Io_infer/Printer: Format simplifications
7 years ago
Mehdi Bouaziz 9c8342e956 Html debug: fix finish_session
7 years ago
Mehdi Bouaziz d07bb90246 Callbacks, cleanup 3: Use Typ.Procname.get_language
7 years ago
Mehdi Bouaziz 44cf69791a Callbacks, cleanup 2: some lazyness
7 years ago
Mehdi Bouaziz be8ac23557 Callbacks, cleanup: tuple -> record
7 years ago
Jeremy Dubreil 3784b7eca7 [infer] use the key field as a simple mean to identify bugs independently form the analysis or version of Infer
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
Dulma Churchill 36478936c7 [retain cycles] Print the type id in a more user-friendly way
7 years ago
Varun Arora 690bae30d0 [reporting][perf] Stats type string is redundant info, already contained in relevant path
7 years ago
Jules Villard 84d3144c98 [istd] break IStd.ml into sensible components
7 years ago
Mehdi Bouaziz 77f5e6f08b Ondemand: optim
7 years ago
Varun Arora 07b0703513 [reporting][perf] report total frontend and total backend time perf stats
7 years ago
Varun Arora 00744a888a [reporting][perf] PerfStats directly resolves filename - no need to pass as parameter
7 years ago
Varun Arora 24e66ada0b [reporting][perf] combine PerfStats source_file with stats_type
7 years ago
Mehdi Bouaziz cbbc649636 Simplify Specs.load_summary_to_spec_table
7 years ago
Jules Villard 8df15e2f00 [backend] try not to re-allocate too much when normalizing props
7 years ago
Jules Villard 1f04a5eda0 [IList] move to base/ and use Core
7 years ago
Varun Arora c3184acd2e [reporting][perf] report InferPrint time taken
7 years ago
Varun Arora 68ab61976a Revert "[reporting][perf] Add PerfStats support for ad-hoc timers"
7 years ago
Dulma Churchill 9c9519fddb [backend] Pass the execution environment around to use it to load tenv of callees in a more efficient way
7 years ago
Varun Arora d746b10bf3 [reporting][perf] Add PerfStats support for ad-hoc timers
7 years ago
Varun Arora c296c06996 [reporting][perf] Add PerfStats support for ad-hoc timers
7 years ago
Varun Arora fba4014d1c [reporting][perf] Add PerfStats support for reporting time and memory related stats separately
7 years ago
Dulma Churchill 96a2f8d689 [objc] Add missing fields to the tenv also when they are added to the footprint
7 years ago
Dulma Churchill 862bbdb5fc [retain cycles] Take weak pointers into account to avoid false positives
7 years ago
Dulma Churchill aca39195f8 [retain cycles] Use decompiled expressions in the retain cycle message
7 years ago
Mehdi Bouaziz 2916c97e0a [easy] Java nits
7 years ago
Sam Blackshear 0d5e9d0934 [bug hash] strip temporary var names from qualifier
7 years ago
Varun Arora 9387706a54 add clang_method_kind field to AnalysisIssue
7 years ago
Varun Arora 266ae2ed6e [reporting][perf] designate frontend perf stats as either Capture or Linters in EventLogger
7 years ago
Dulma Churchill 0bc4df4b42 [retain cycles] Report cycles after assignment and method call
7 years ago
Dulma Churchill 716bb1939c [backend] Add missing fields to the tenv in the bi-abduction
7 years ago
Dulma Churchill 2edc1d8581 [retain cycles] Improve the message of cycles with blocks by adding more info about captured variables
7 years ago
Varun Arora 28b455cbfa [backend] Directly report analysis perf from ProcessPool assigned Task so it works correctly with new parallelism
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 5d6951a545 [logging] Always log PerfStats to EventLogger
7 years ago
Varun Arora 37720e1bbf [logging] performance stats logging via EventLogger
7 years ago
Jeremy Dubreil b4b901c725 [infer][scheduler] always return None when the method is already being analyzed
7 years ago
Jules Villard bc7a71d413 [IR] add API for Sil and Exp.FreeVar
7 years ago
Jules Villard e6750e1610 [IR] `Sequence`-like interface to walk over program variables in expressions
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 b86b8a6775 subtle dead code in prop/fav stuff
7 years ago
Dulma Churchill 56db965738 [retain cycles] Make the id in dotty files include the field, in case the type is not unique in the cycle
7 years ago
Josh Berdine 3534838b73 [ocamlformat] Upgrade to ocamlformat 0.4
7 years ago
Jules Villard 4b56e32a29 [config] remove unused "parameters" config matcher
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
Varun Arora cbf9e3b88b [backend] remove unnecessary else branch from unit function in tabulation
7 years ago
Sungkeun Cho 373e6b39cc [infer] Use inline record for Typ.Tarray
7 years ago
Dulma Churchill 3cb56ea3c1 [retain cycles] Fix false positives to do with not finding weak attribute in the tenv
7 years ago
Dulma Churchill f3704bf049 [retain cycles] Fixing dotty files by using a pp function for types that is enabled not only in debug mode
7 years ago
Dulma Churchill 702f8098e7 [retain cycles] Find all the cycles available instead of only one per root analysed
7 years ago
Varun Arora e90eaeab49 [reporting] add logging of call stats to backend
7 years ago
Dulma Churchill 49e05217fe [retain cycles] Removing code for finding retain cycles on blocks that is now unused.
7 years ago
Varun Arora 2655e10b59 [reporting] refactor StatsLogs into its own module in InferPrint
7 years ago
Jules Villard d3f3386c9e [wibble] rename `Ident{Set,Map,Hash}` -> `{Set,Map,Hash}`
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
Dulma Churchill aae319376d [retain cycles] Fix renaming of closures, finds more retain cycles
7 years ago
Varun Arora e812934781 [backend] convert string concatenations to string formatting
7 years ago
Dulma Churchill 4f0e9606dd [retain cycles] Further refactoring of dfs, check for weak right away
7 years ago
Daiva Naudziuniene 1401696119 [destructors] Inject destructor calls even if the destructor declaration is empty
7 years ago
Jules Villard 2dbdf8f183 [config] kill load/save analysis results
7 years ago
Varun Arora 14fb188636 [report] gate InferPrint StatsLogs format behind Config.log_events
7 years ago
Dulma Churchill fbf0020399 [retain cycles] Fix the order of the cycles, refactor dfs
7 years ago
Jeremy Dubreil 1d2d6b7976 [infer][report] fix performance issue when logging events
7 years ago
Sam Blackshear 1a75ec9cf8 [cleanup] Move ObjC/C++-specific Procname functions to dedicated module
7 years ago
Daiva Naudziuniene 14445fad05 [bi-abduction] Do not abduce reference parameters constraints for recursive calls
7 years ago
Jeremy Dubreil b903b2d932 [infer][java] translate the annotations of the callees
7 years ago
Sam Blackshear b4d046a290 [cleanup] delete tags that are added but never read
7 years ago
Sam Blackshear a4078b43ee [cleanup] Remove Tags from JSON
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
Varun Arora ad10435b58 [IR] combine is_objc_instance_method and is_cpp_instance_method fields in ProcAttributes into method_kind
7 years ago
Jeremy Dubreil 06406eae4e [infer][backend] simplify the resolution of the attributes
7 years ago
Dulma Churchill 91fbe68cc9 [retain cycles] Do not report when the captured variable is weak
7 years ago
Jules Villard 70c2a50b4e [db] record symbolic capture timestamps for source files
7 years ago
Sam Blackshear 71a3843746 Revert occurence counting change
7 years ago
Varun Arora cbe6ea4456 [reporting] Added logging of procedures analysis stats to backend
7 years ago
Dulma Churchill 8a9fcdc43f [retain cycles] Find cycles about blocks
7 years ago
Sam Blackshear 80b3d080ce [cleanup] sunset Context leaks
7 years ago
Jules Villard 586582c311 [buck] delete results dir inside buck-out in infer children processes
7 years ago
Jeremy Dubreil db078459b4 [infer][ondemand] also cache the result of analyzing a procedure description
7 years ago
Jeremy Dubreil 96ca6b6f02 [infer][bug hash] take the number of occurences of a report into account
7 years ago
Jeremy Dubreil bbca94569c [infer][scheduler] use the on-demand analysis when retrieving the procedure description for a given procedure name to make sure the summary exsits
7 years ago
Tony Hu c1fd661648 [infer][genrule] Added command-line option --check-version
7 years ago
Dulma Churchill f5e89797a8 [backend] Fix consistency of closures after bi-abduction and other executions.
7 years ago
Jules Villard 6b5390fe79 [cfg] rename iCFG to cfg in dotty files
7 years ago
Jules Villard ec118e62a7 [cleanup] make caller pdesc an optional argument of `Ondemand.analyze_proc_desc`
7 years ago
Jules Villard 58e0cbe6ee [base] move `Config.language` to its own `Language` module
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 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
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