Commit Graph

1296 Commits (dee7414aa9cccfc5991b6e726d06abc4fff14246)

Author SHA1 Message Date
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
Jeremy Dubreil 279f50eac6 [infer][backend] make the on-demand analysis function return a summary 8 years ago
Dulma Churchill 6188f1c7a5 [annotations] Print annotations in the dotty file 8 years ago
Jeremy Dubreil db285f976c [infer][java] avoid redundant calls to the function procedure_should_be_analyzed for Infer.SL 8 years ago
Jules Villard f796ba6bb8 [driver] crash early if infer was not compiled for the requested build mode 8 years ago
Jules Villard 451adc7949 [build] fix ./build-infer clang 8 years ago
Jeremy Dubreil 8948b08bf2 [infer][backend] The dependency map with the list of children is no longer used by the ondemand analysis 8 years ago
Jeremy Dubreil 4ed185e557 [infer][java] for the buck integration, remove the files that are invalidating the Buck cache 8 years ago
Jeremy Dubreil 19022144ad [infer] remove the code computing the list of top procedures 8 years ago
Jules Villard cfd3770a8b [clangdb] support shell-escaped compilation databases 8 years ago
Cristiano Calcagno 60916922c6 Deprecate more IList functions and use Core List instead 8 years ago
Sam Blackshear 4627bb6f48 [absint] simplify `AbstractInterpreter.Make` functor by hiding `Scheduler` parameter 8 years ago
Sam Blackshear 5c2fcd02bd [cleanup] move annotated_signature into its own module inside eradicate 8 years ago
Jules Villard 4584bf9a4c move CLOpt.exe to Config and restrict its API, remove Interactive fake exe 8 years ago
Jules Villard 6faccb1490 [utils] catch exceptions in epilogues to allow all of them to run 8 years ago
Andrzej Kotulski 40c84077d9 [C++] Fix model of std::vector 8 years ago
Cristiano Calcagno 5c12d98d37 Deprecate IList module in favour of Core List 8 years ago
Kihong Heo cef2f0e055 Inferbo 8 years ago
Sam Blackshear bcfcb5d405 [cleanup] restrict uses of annotated_signature to eradicate 8 years ago
Sam Blackshear 2351f767dc [cleanup] use pdesc_has_return_annot and friends instead of more cumbersome ways of looking up return annots 8 years ago
Sam Blackshear 73f3c5e0cd [cleanup] separate functions for checking annotations of return value and parameters 8 years ago
Cristiano Calcagno b1421bc27f [BetterEngineering] Remove remaining uses of polymorphic equality 8 years ago
Cristiano Calcagno f91b3128d3 [BetterEngineering] Replace uses of polymorphic equality 8 years ago
Andrzej Kotulski cceffddd78 [Config] Warn about deprecated args only from Driver exe 8 years ago
Jules Villard f9ab3aa1ac run epilogues register with `at_exit` upon receiving SIGINT as well 8 years ago
Jules Villard 2e96caac42 [mvn] new integration 8 years ago
Jules Villard ca784cdb41 [cli] warn about deprecated options, clean up infer repo 8 years ago
Sam Blackshear 2f69191c7e [backend] expose underlying Procdesc.Node from ProcCFG nodes 8 years ago
Cristiano Calcagno 1eaaf84a90 [checkers] Add support for html output in checkers, starting with Eradicate 8 years ago
Jules Villard 4028e7ca78 [driver] decouple logic for choosing capture mode from the capture 8 years ago
Jules Villard 96c8133180 [nit] less indentation in Infer.log_build_cmd 8 years ago
Jules Villard e01cab6d19 [java] more verbose debug output, fix for non-Buck integrations 8 years ago
Jules Villard 6580899813 [driver] do not warn about nothing to analyze when not analyzing 8 years ago
Cristiano Calcagno 20db61697d [backend] Cleanup of StructTyp module. 8 years ago
Jules Villard db2e5bf4d4 [java] add more logging in debug and stats mode 8 years ago
Jules Villard f76a77b6b6 [driver] handle removal of symlinks in infer-out 8 years ago
Jules Villard ffd322aca5 [clang db] add ClangCompilationDB build mode to make sure infer-out is deleted when needed 8 years ago
Jules Villard a6f54b9cef [cli] do not complain about "arguments must be .specs file" from non-toplevel invocations 8 years ago
Sam Blackshear 8d0f6e822c [absint] don't require domains to define their initial state 8 years ago
Josh Berdine 4ec3af4a7f Call java frontend directly instead of using fork 8 years ago
Josh Berdine 8c42cfb364 Add root dir argument to Utils.filename_to_absolute 8 years ago
Jules Villard 24b7a50d1f [log] do not redirect output of InferAnalyze in the Makefiles 8 years ago
Jules Villard 24e6ae9ade [log] re-use log file names 8 years ago
Jeremy Dubreil d7f112a640 [infer][java] choose the dynamic dispatch handling mode from the command line 8 years ago
Josh Berdine 8d9f70ad47 Minor redistribution of driver functionality, and debugging improvements 8 years ago
Josh Berdine e58550da1d Simplify Exe_env.get_tenv now that optional arg unused 8 years ago
Jeremy Dubreil 4a3573b60e [infer][java] Use lazy dynamic dispatch by default 8 years ago
Jeremy Dubreil a1c1b236a8 [infer][backend] cleanup the summary origin that is no longer useful 8 years ago
Jeremy Dubreil 4bca15afff [infer][backend] Add the distinction between models and regular procedure as part of the attributes 8 years ago
Sam Blackshear abde4e6603 [reporting] Fail loudly when we can't log an error 8 years ago
Jeremy Dubreil d20c8a0222 [infer][backend] Add functions to separate the cases when the subtyping relation can be proven from the case where the no subtyping relation can be proven. 8 years ago
Sam Blackshear f3bd314c22 [preanalysis] expose separate functions for different preanalyes (liveness, dynamic dispatch, abstraction) 8 years ago
Jules Villard 4b77b07be5 [buck] add flavors automatically to buck targets 8 years ago
Andrzej Kotulski fb6d49d6f4 [reactive-capture] Don't count compilation time towards analysis timeout 8 years ago
Peter O'Hearn 4057ffadcf [threadsafety] Change THREAD_SAFETY_ERROR to THREAD_SAFETY_VIOLATION 8 years ago
Andrzej Kotulski 29c42e5fe8 [reporting] Skip traces for functions outside of project root 8 years ago
Martino Luca d044809b32 [CTL] Filter linters through a visibility flag 8 years ago
Josh Berdine 3dfaa9ed7b Remove support for SuppressWarnings annotations 8 years ago
Sam Blackshear a99e0f8b63 [cleanup] delete optimistic_cast option 8 years ago
Jules Villard bcac924e7f register checkers in monocore mode 8 years ago
Jules Villard c51c4a21ae [siof] collate multiple reports at the same line into one 8 years ago
Jules Villard bd0751dd1c [make] do not confuse the jobserver 8 years ago
Andrzej Kotulski 95ad5b6387 [reactive-capture] Random fixes 8 years ago
Andrzej Kotulski 9fb0636ca1 [compilation db] Remove special module for compilation db 8 years ago
Sam Blackshear 8e212f0468 [thread-safety] use id map to decompile tmp vars into access paths 8 years ago
Josh Berdine 178451e117 Disable timeouts during model analysis 8 years ago
Cristiano Calcagno ec1a07f445 Unbreak --continue option by passing it down to the python files 8 years ago
Andrzej Kotulski 863cc534b2 [compilation db] Allow to pass multiple json files with clang-compilation-database integration 8 years ago
Andrzej Kotulski c9d254c084 Initial version of reactive capture 8 years ago
Josh Berdine 1a97b918ca Construct inferconfig patterns in Inferconfig not Config 8 years ago
Josh Berdine f3fab1e9b6 Support parsing build command arguments 8 years ago
Josh Berdine fc976bc3ef Core.Std.( ^/ ) 8 years ago
Josh Berdine 7834c95bc8 Silence deprecation warnings 8 years ago
Josh Berdine 2e66dcfac4 Open Core.Std by default, still use Caml Hashtbl, Map, Set 8 years ago
Josh Berdine e438314776 Divide Utils into Utils, Pp, and IStd 8 years ago
Josh Berdine 23cda11fda Core.Std.Int.Set 8 years ago
Josh Berdine 900da595b1 Core.Std.String.Table 8 years ago
Josh Berdine 78ec954ae2 Core.Std.String.Map 8 years ago
Josh Berdine e00c4cd2dd Core.Std.String.Set and remove unused StringPPSet 8 years ago
Josh Berdine 76f8450203 Move proc_flags from Utils to ProcAttributes 8 years ago
Josh Berdine f86fc2ce2d Core.Std.Stack 8 years ago
Josh Berdine 7e6278baeb Core.Std.Printexc 8 years ago
Josh Berdine e4618541dc Core.Std.Int64 8 years ago
Josh Berdine 8a3707825c Core.Std.Gc 8 years ago
Josh Berdine e5b41a67d0 Core.Std.Char 8 years ago
Josh Berdine c2abce7e3a Core.Std.Array 8 years ago
Josh Berdine de2e6c9d88 Core.Std.Option 8 years ago
Josh Berdine 4ea3410b47 Core.Std.Sys 8 years ago
Josh Berdine 9d1b495f57 Core.Std.Unix 8 years ago
Josh Berdine 53c170ca0a More uniform and explicit treatment of program and arguments 8 years ago
Josh Berdine 57c37f93c9 Convert Infer module to Core.Std.Unix 8 years ago
Josh Berdine e415b73786 Core.Std.String 8 years ago
Josh Berdine a2930b7007 Core.Std.Int 8 years ago
Andrzej Kotulski 56f8757337 [SourceFile] Move DB.SourceFile into separate file 8 years ago
Andrzej Kotulski 69b39dacb0 [DB] Create module for SourceFile 8 years ago
Dino Distefano bd216f3205 Fixed problem with evaluation of sizeof which would give false positive 8 years ago
Andrzej Kotulski bd0f0cc7fc [DB] Don't fail hard when realpath fails 8 years ago
Josh Berdine 731ffa0ae1 Initialize Builtins also in single-core mode 8 years ago
Andrzej Kotulski bd843b277e [DB] Remove source_file_from_string, source_file_to_string no longer returns real path 8 years ago
Andrzej Kotulski b8908282f8 [DB] Remove many callsites of DB.source_file_to_string 8 years ago
Cristiano Calcagno 827d7c3d9c [backend][perf] Address top performance bottleneck from profiling the backend. 8 years ago
Sam Blackshear 226791b631 [ondemand] simplify API by removing need to pass type environment 8 years ago
Josh Berdine 198bc00df7 Remove Utils compare and equal functions 8 years ago
Josh Berdine 9fb2258284 ppx_compare Dom 8 years ago
Josh Berdine 81d3e7085a ppx_compare Dotty 8 years ago
Josh Berdine 6e322d96e8 ppx_compare Prover 8 years ago
Josh Berdine 47368b8ae6 ppx_compare Specs 8 years ago
Josh Berdine fe7a0c2483 ppx_compare State 8 years ago
Josh Berdine 97639ba236 ppx_compare Paths 8 years ago
Josh Berdine b94b5f1c58 ppx_compare Procdesc 8 years ago
Josh Berdine 344e724a85 ppx_compare Prop 8 years ago
Josh Berdine aa5998a9d1 ppx_compare Sil 8 years ago
Josh Berdine 6298d043e6 ppx_compare PredSymb 8 years ago
Josh Berdine 952855288d ppx_compare StructTyp 8 years ago
Josh Berdine cbec3453a3 ppx_compare Typ 8 years ago
Josh Berdine 0cf71c74ef Sort nodes when printing cfg to dot file 8 years ago
Josh Berdine 27da735427 ppx_compare InferPrint 8 years ago
Josh Berdine a1e223d36d ppx_compare Ident 8 years ago
Josh Berdine 1ca67fbfa6 ppx_compare DB 8 years ago
Jeremy Dubreil e269f2a3fd [infer][java] basic support to run Infer using Buck genrules 8 years ago
Andrzej Kotulski d4c634e50f [DB] Cleanup code related to --changed-files-index 8 years ago
Andrzej Kotulski 6192cb98b4 [DB] Use realpath when calling source_file_from_abs_path 8 years ago
Dulma Churchill 8415b6c38b [backend] do not log analysis_stops in debug_exceptions mode 8 years ago
Andrzej Kotulski a8b0871660 [reactive capture] Pass compilation db files to InferAnalyze, use absolute fnames 8 years ago
Jeremy Dubreil afd29e71de [infer][backend] Simplify the code doing the case analysis for execturing the cast instruction 8 years ago
Andrzej Kotulski 7a0a89e567 [DB.source_file] Explicitly specify what path is relative to, keep cpp model paths relative 8 years ago
Cristiano Calcagno 31e6f19ab2 [debug] Don't keep a copy of source files in the results directory 8 years ago
Andrzej Kotulski cd6e9e8b21 [InferPrint] Kill --source-file-copy option 8 years ago
Andrzej Kotulski b2cef3e0b2 [DB] Alawys use DB.source_file_to_abs_path to do actual filesystem operations 8 years ago
Sam Blackshear a6121a9fb0 [guarded-by] support `Classname.fieldname` syntax 8 years ago
Jules Villard 86cb2f4938 [toplevel] fix various things 8 years ago
Josh Berdine 1bbbf658de [report] Fix report script and inherit std file descriptors when invoking 8 years ago
Sam Blackshear 708c0bf1f8 [backend] eliminate phantom spaces in printing of types 8 years ago
Josh Berdine d808baba1a [driver] Make analysis of non-java and buck cdb build modes python-clean 8 years ago
Josh Berdine cb412826c3 [driver] Make `infer -- analyze` almost python-clean 8 years ago
Peter O'Hearn 733646ba09 [GuardedBy] Fix Subclassing False positive 8 years ago
Jules Villard 15d80e04df [tests] record summary of bug traces 8 years ago
Andrzej Kotulski 4512fcd8ef [tests] Create integration tests for clang translation logic 8 years ago
Peter O'Hearn 7a04ed32f5 [threadsafety] interprocedural 8 years ago
Jules Villard 281d5b49fe [tests] sort bugs in InferPrint 8 years ago
Peter O'Hearn 171d1d6d43 [threadsafety] run thread safety checker on its own 8 years ago
Dulma Churchill b792d04fbd [clang] Integration with xcpretty and compilation database 8 years ago
Jeremy Dubreil 21a568aba8 [infer][java] Fix spurious class cast excpetion reports when casting arrays of primitive types 8 years ago
Jules Villard caf9537305 [refactoring] add make_trace_element to Errlog 8 years ago
Cristiano Calcagno c5159bae1c [IR] Move Procdesc module to a separate file. 8 years ago
Sam Blackshear 8784b9b946 [backend] fix cursor leak FPs 8 years ago
Jules Villard 54c3ac41f2 [inferprint] do not print all specs when passed individual specs files 8 years ago
Josh Berdine 16010adab4 [refactor] InferAnalyze init code to InferAnalyzeExe 8 years ago
Josh Berdine b2680d72d0 [config] Make Config.analyzer non-optional, with None = Some Infer 8 years ago
Josh Berdine f22d03903a [logging] Delay creation of log files until they are used 8 years ago
Josh Berdine 426f29fb3c [make] Silence expected warnings and other spew from tests 8 years ago
Cristiano Calcagno 7e4710004e [perf] Use load average limit only during buck analysis 8 years ago
Andrzej Kotulski 459ec32081 kill Location.nLOC 9 years ago
Sam Blackshear f35a969def [context leaks] don't report context leak if reachable context type is null 9 years ago
Cristiano Calcagno 1b07f78e32 [backend] Fix back-end issue where summaries are modified before saving to disk, but not in the table in memory. 9 years ago
Jules Villard d5e7ee0d82 [tests] run tests using report.json and record all bugs + exceptions 9 years ago
Dulma Churchill bf14034289 [clang] Do compilation database capture in OCaml directly 9 years ago
Jules Villard e757d92e72 [print] print tests results from result.json, not the specs 9 years ago
Jules Villard 2cd0151e30 [python] restore project_root option and use it to find source files 9 years ago
Jules Villard 2f5d132734 [config] normalize all paths options 9 years ago
Jeremy Dubreil 15ddf8b921 [infer][backend] More functions from the Specs module taking a summary as parameter 9 years ago
Cristiano Calcagno af54b5da4b [backend] Change path iteration to get shorter error traces. 9 years ago
Josh Berdine 3ae2b41241 [refactor] Call StatsAggregator from Infer instead of from python 9 years ago
Jeremy Dubreil 9baea70548 [infer][backend] More consistent API to check if a procedure is currently being analyzed 9 years ago
Andrzej Kotulski 80f25d17fd [tests] Create simple compilation database integration test 9 years ago
Cristiano Calcagno e933ee958a [IR] Rearrange the cfg module to make nodes, procd descs, and cfgs independent types. 9 years ago
Josh Berdine 7c4c40b6b0 [refactor] Move StatsAggregator from scripts to backend 9 years ago
Josh Berdine 9f42c047fe [refactor] InferAnalyze initialization code into separate Exe module 9 years ago
Josh Berdine e9654ca51d [refactor] Separate InferPrint initialization code into separate Exe module 9 years ago
Josh Berdine bf40ff99e7 [reporting] Create report files from InferPrint not Config 9 years ago
Josh Berdine 216812a615 [driver] Add skeleton capture and analysis driver to infer.ml 9 years ago
Josh Berdine 7fc5b4d55d [siof] Make siof reporting closer to other checkers 9 years ago
Josh Berdine ae7979b416 [multicore] Use Config.bin_dir to find InferAnalyze 9 years ago
Josh Berdine 6b0abe3b57 [config] Do not pass options to clusters via INFER_OPTIONS 9 years ago
Josh Berdine b7675dd2a2 [config] Remove unused --absolute-paths option 9 years ago
Josh Berdine 2ce94632d2 [config] Default project_root to initial working dir 9 years ago
Cristiano Calcagno a71902355f [debug][dotty] Fix issue in dotty output where overloaded functions were conflated 9 years ago
Cristiano Calcagno d1f8894a9a [debug][html] Distinguish debug html files for same node in different procedures 9 years ago
Peter O'Hearn 2d424b7779 skipping ReadWrite Locks 9 years ago
Cristiano Calcagno 73c5dfdfa4 [IR] Remove use of Cfg.Node.get_proc_desc 9 years ago
Peter O'Hearn e91742afea Support @SuppressLint("InvalidAccessToGuardedField") 9 years ago
Josh Berdine 4422893bbd [RFC] Remove CSV and JSON munging python code 9 years ago
Andrzej Kotulski 08d4465e1d [refactor] Refactor SymExec Sil.Call pattern match 9 years ago
Andrzej Kotulski 46592ffdd9 [backend] Split construction of builtin pnames and builtin registration 9 years ago
Sam Blackshear 7ae58d78c3 [infer] fix .class synchronization false-positive in guarded-by check 9 years ago
Jules Villard a9f3a70b93 [checkers] print checkers summary in InferPrint 9 years ago
Andrzej Kotulski ed29bfef52 [logging] Provide binary type to logging module 9 years ago
Cristiano Calcagno 3fb8801b6c [IR] Change cfg representation so the node number is per-procedure and not per-cfg 9 years ago
Ryan Rhee 5580be8dcc [componentkit] Initializer With Side-Effect Analyzer 9 years ago
Josh Berdine af2e9ae5c1 [config] Dynamic dispatch methods are mutually exclusive 9 years ago
Jeremy Dubreil 6ae0ebe489 [infer][java] Store the procedure descriptions in the summary to run the analyis with lazy dynamic dispatch across modules 9 years ago
Jules Villard 84af7c56f8 [SIOF] detect which variables need initialization 9 years ago
Cristiano Calcagno ecda199e9d [IR] Clean up unused parts of Cfg 9 years ago
Sam Blackshear 355ab92130 [backend] move expression pretty-printing into exp module 9 years ago
Cristiano Calcagno 47c623ff51 [Merge] Use multilink files to speed up merge with buck projects. 9 years ago
Josh Berdine a9192cffd6 [config] Eliminate ad hoc environment variables 9 years ago
Ryan Rhee c2a8dae26f [componentkit] Multiple factory methods 9 years ago
Josh Berdine a7c1105147 [config] Combine analyze_models into models_mode 9 years ago
Ryan Rhee e73350598a [componentkit] Unconventional superclass rule 9 years ago
Andrzej Kotulski 4aaec9b220 [python] Remove args that were not used in python code 9 years ago
Cristiano Calcagno 0572410ac0 [backend] Clean up the forward tabulation algorithm for the intraprocedural analysis. 9 years ago
Jules Villard c45afc9859 [clang] cleanup obsolete python code 9 years ago
Jules Villard 5fe40bae12 [siof] check origin of globals and complain if potential siof 9 years ago
Jules Villard 343556e0b2 [base] resolve links when guessing which executable we are running, move infer into bin/ 9 years ago
Jeremy Dubreil 587d829a1a [infer][java] Add the possibility to choose a compiler jar that is different from the system Java compiler to generate the bytecode 9 years ago
Sam Blackshear 6918c117d2 [preanalysis] add option for sound dynamic dipatch handling 9 years ago
Andrzej Kotulski 0f9f44f16e [backend] Report ignored return value on skip functions 9 years ago
Josh Berdine dd8b8e6d2e [reason] reformat with new version of reason 9 years ago
Peter O'Hearn 07da8f36d1 don't warn on GuardedBy self reference 9 years ago
Sam Blackshear 727af5d660 [checkers] clean up abstract interpreter 9 years ago
Cristiano Calcagno 91d711c833 [backend] Perf fix: only load tenv and cfg files once per each file, instead of once per procedure. 9 years ago
Jules Villard c53bfe3159 [clang] rewrite plugin attachment logic in OCaml 9 years ago
Dulma Churchill caa7534a71 [cpp] Report issues in the cpp models as relative paths 9 years ago
Josh Berdine de56a302f3 [refactor] Remove unused prop reporting, and refactor 9 years ago
Sam Blackshear 95a82a6a04 [backend] don't run preanalysis twice 9 years ago
Josh Berdine d8336ea906 [backend] Keep common constraints in pure join 9 years ago
Jules Villard eb391d7875 [llvm] delete llvm frontend 9 years ago
Dulma Churchill a9f1d21dd2 [logging] Add visibility to the report json, so that we can filter the developer bugs in the tv links page 9 years ago
Jules Villard d9f83094b5 [clang] do not depend on Config.clang_lang and Config.source_file 9 years ago
Jules Villard 7d49e16d63 [clang] rewrite hijack_and_normalize_clang_command in OCaml 9 years ago
Dulma Churchill bd22999950 [clang] Disable the condition always true or false check for clang as it is too noisy. 9 years ago
Andrzej Kotulski 18f6190432 move code that depends on backend/ out from IR/Cfg.re 9 years ago
Andrzej Kotulski b93d6b5012 [ocaml] Create base/ directory for code shared across analyzer and frontends 9 years ago
Jeremy Dubreil ea72dadab3 [infer] Add the possibility to skip the analysis of some files based on their path 9 years ago
Dino Distefano 777378e7cc Do not crash unless in debug mode 9 years ago
Jules Villard f59c18cc44 [utils] return process exit status in with_process_{in,full} helpers 9 years ago
Josh Berdine 3ddc23d7e5 [IR] Do not use JBasics.java_lang_object in IR/backend 9 years ago
Ryan Rhee b635269fa8 [clang][frontend] Allow custom blacklist for checking objc descendant 9 years ago
Ryan Rhee 272c21ff70 [componentkit] Factory functions analyzer 9 years ago
Dulma Churchill befab1007b [clang] Migrating clang logging to the Logging module 9 years ago
Josh Berdine 67a883e1a2 [models] Use return type for ObjC models 9 years ago
Josh Berdine c094a38d56 [IR] Simplify to single return id, with type 9 years ago
Josh Berdine ae632e281a [IR] Refactor Typ.struct_typ into separate module 9 years ago
Josh Berdine 44e2c32524 [IR] Refactor annotation types into separate module 9 years ago
Josh Berdine 74c8198826 [IR] Remove redundant struct_typ.name field 9 years ago
Josh Berdine af51599e0f [backend] Remove AttributesTable.get_tenv 9 years ago
Jeremy Dubreil 168c613ac9 [infer][java] Separate the builtins from the other models for a better modularity 9 years ago
Dulma Churchill a2ee69975a [clang] Remove support for logging lint issues in procdescs 9 years ago
Dulma Churchill 8554c1e342 [Parallelization][Linters] Wait for processes based on the map of processes, to make sure that we waited for all the children. 9 years ago
Cristiano Calcagno 4cee6907ec [backend] Remove the global reference DB.current_source and clean up the flow of information about the current source file. 9 years ago
Dulma Churchill 526cf6da6a [Config] Adding a default for the option load 9 years ago
Cristiano Calcagno bd0215a826 [IR] Add notion of file captured to procedure attributes. 9 years ago
Josh Berdine f30b6e39db More robust logging to files 9 years ago
Sam Blackshear 95f6639d6d [backend] refactoring debug html printing to make it easier to call from anywhere 9 years ago
Cristiano Calcagno fe21442d47 [tests] Convert the linter tests to the new direct format 9 years ago
Cristiano Calcagno b0980bc35e [tests] Convert c/c++ frontend tests to new format. 9 years ago
Cristiano Calcagno afebcdad60 [tests] Prepare objective-c tests for conversion to the new direct testing format 9 years ago
Josh Berdine 8589dc4868 Remove Tstruct in favor of Tvar 9 years ago
Sam Blackshear 41c121bebf [quandary] adding quandary summaries to specs 9 years ago
Sam Blackshear 4f8370e524 [utils] add find_mapi_opt utility 9 years ago
Sam Blackshear ef8b215ee1 [utils] add fold_left_i utility 9 years ago
Dulma Churchill f99d3a7c8e Add an option clang-frontend-action to drive the frontend into capture or linters when the -a capture option is used 9 years ago
Josh Berdine 548338bb4e Move mk_struct to Tenv 9 years ago
Josh Berdine 30b3881e52 Make Typ.struct_typ private and add Typ.mk_struct 9 years ago
Josh Berdine ad31aeb2a2 Expand Tvar to Tstruct as needed 9 years ago
Sam Blackshear 30ff9eda22 fix type of array store 9 years ago
Lázaro Clapp Jiménez Labora 2f90dde351 Add top of file documentation for crashcontext.mli 9 years ago
Sam Blackshear 3368548e3e replace stackop instruction with skip instruction 9 years ago
Sam Blackshear 87248009b7 fixing issue where crashcontext breaks without -o 9 years ago
Sam Blackshear e918624076 abducted -> abduced 9 years ago
Cristiano Calcagno 0b7ea202db Convert infer c++ tests to new format 9 years ago
Dulma Churchill f6636c6d41 Store the issue file only if there are issues 9 years ago
Dulma Churchill 6c4762b9de Remove compilation warning 9 years ago
Dulma Churchill 13de8a0835 Fix cpp models that got broken by an incorrect refactoring 9 years ago
Josh Berdine 8a85919001 Pass tenv to everywhere that matches on Tstruct 9 years ago
Josh Berdine 2bebd94553 Remove redundant Typ.struct_typ.csu field 9 years ago
Josh Berdine f0940f25d7 Replace optional mangled struct_name with typename 9 years ago
Josh Berdine 90314a4d94 Catch Unix exceptions in DB.create_dir 9 years ago
Dulma Churchill d11b2754a9 New buck integration based on the compilation database emitted by buck 9 years ago
Sam Blackshear 50ac3cde41 command-line setup 9 years ago
Cristiano Calcagno 20c33f15c9 Fix flakiness in the analysis when a procedure is defined in more than one file. 9 years ago
Dulma Churchill 977f73ff5b Add column to json file of issues 9 years ago
Andrzej Kotulski 7461d40024 Clean up special handling of smart pointers in backend 9 years ago
Jules Villard 4fe1615434 give correct type to root exps of array dereferences 9 years ago
Cristiano Calcagno 674f30de2c Convert java infer tests to the new direct format 9 years ago
Josh Berdine 377d284cf2 Simplify originator detection 9 years ago
Sam Blackshear 15b6a8cdd7 killing a bunch of options by using optional argument types correctly 9 years ago
Jules Villard a6bf43a570 replace boolean by named argument in Inteproc.propagate 9 years ago
Lázaro Clapp Jiménez Labora f2e958ef3a Add support for multiple stacktraces in '-a crashcontext' 9 years ago
Cristiano Calcagno a6254f6b73 Extend Inferprint with a command --issues-tests to print issues in a format suitable for tests 9 years ago
Andrzej Kotulski a31c5416b1 Add basic support for starting ocaml repl with infer code 9 years ago
Jules Villard c2ca6a23d5 pass -l to infer.py 9 years ago
Cristiano Calcagno ed8d112e87 Convert Inferprint and Inferanalyze to Reason 9 years ago
Jules Villard 26a6594b90 detect unsigned values inside structured expressions 9 years ago
Jules Villard e1f19192c0 move --fail-on-issue functionality to OCaml 9 years ago
Cristiano Calcagno 91d9cd83b5 Cleanup instruction names: use Load/Store instead of Letderef/Set. 9 years ago
Andrzej Kotulski 761579469e Revert "[C++] Move models of smart pointers to custom namespace" 9 years ago
Jules Villard 3f60f54fbf align --help and support -h 9 years ago
Cristiano Calcagno 6221956149 Apply type resolution to qualify fields and variants in Prop. 9 years ago
Sam Blackshear 3b12208e1b intraprocedural taint analysis that records sources 9 years ago
Jules Villard dda4921786 exit with correct error code when infer.py fails 9 years ago
Jules Villard 0add05de87 do not print infer.py usage message on wrong arguments 9 years ago
Jules Villard 145cb744f6 do not havoc actuals of skip functions with const parameters 9 years ago
Dulma Churchill b7ec110ea3 Adding new mode linters 9 years ago
Dulma Churchill 3d39fba622 Refactor InferPrint and store the lint issues in a serialized data structure that InferPrint picks up and prints. 9 years ago
Andrzej Kotulski 121c968e77 Move models of smart pointers to custom namespace 9 years ago
Lázaro Clapp Jiménez Labora 175efddc2b Make stacktrace and stacktree line number an int option. 9 years ago
Jules Villard cdce8f9794 better help 9 years ago
Cristiano Calcagno 66385dd5f4 Refactor module Prop by moving normalization functions into module Normalize. 9 years ago
Cristiano Calcagno b48ec1ac93 Clean up API to access components of propositions. 9 years ago
Cristiano Calcagno 89270c558c Add module Core in Prop to make transitions between exposed and normalized explicit. 9 years ago
Josh Berdine a9a38f20ec Simplify normalization in Attribute.remove 9 years ago
Josh Berdine 3896b10265 Move Prop.Attribute to toplevel 9 years ago
Josh Berdine 60496f2ae4 Minor cleanup of Prop.Attributes interface 9 years ago
Josh Berdine 4053d24bed Refactor Prop ops on attributes into sub-module 9 years ago
Josh Berdine c147ab4197 Refactor Sil.attribute and associates to PredSymb 9 years ago
Josh Berdine 25a52c7bbc Refactor operations on Exp.t in Sil to Exp 9 years ago
Josh Berdine f9ca08a9a8 Refactor Exp.t-keyed collections from Sil to Exp 9 years ago
Josh Berdine d60965824e Refactor exp_equal and exp_compare to Exp 9 years ago
Josh Berdine 701eb20f83 Refactor Sil.exp to Exp.t 9 years ago
Josh Berdine 6ffe204252 Make Aobjc_null attribute a binary predicate 9 years ago
Josh Berdine 4185bda8ba Generalize predicates from unary to nary 9 years ago
Josh Berdine b6544eace7 Remove redundant normalization 9 years ago
Josh Berdine c2f62f3a97 Remove tuple type redundant with atom 9 years ago
Josh Berdine a8ce65b221 Encode polarity of predicates into atom tag 9 years ago
Josh Berdine b09b28f10f Add negated attributes, with 2-valued semantics 9 years ago
Josh Berdine 71a15b2388 Represent attributes with atoms, not disequalities 9 years ago
Lázaro Clapp Jiménez Labora d23c99a4ea Add blame_range to crashcontext analysis. 9 years ago
Josh Berdine fe780cb6ff Move comments to improve attachment 9 years ago
Josh Berdine 32146523ca Enable warning: Unexpected documentation comment 9 years ago
Lázaro Clapp Jiménez Labora 751d027f8d Remove 'open Jsonbug_t' scope clutter. 9 years ago
Lázaro Clapp Jiménez Labora 0a8b95a856 Crashcontext ocaml method summary merging 9 years ago
Lázaro Clapp Jiménez Labora ed85a129f5 Add DB.paths_matching utility method to recursively search files under a directory matching a function f. 9 years ago
Josh Berdine 3064caacdb Remove stale Autounit module 9 years ago
Jules Villard aee1eeba3d restore --pmd-xml functionality 9 years ago
Sam Blackshear 3233666b11 extract callsite to its own module 9 years ago
Sam Blackshear ed9495a893 delete unused class-to-source mapper processor 9 years ago
Martino Luca da2717ff2a Migrate BAD_POINTER_COMPARISON check from backend to linters infra 9 years ago
Sam Blackshear 4490d9b033 fix recognition of inner class this guarded-by strings 9 years ago
Daiva Naudziuniene ac9cabe677 Fixing Memory leak false positives in C++/ObjC 9 years ago
Lázaro Clapp Jiménez Labora 9a79e74380 Crashbot results stitching and end-to-end testing. 9 years ago
Sam Blackshear b500a5c4b5 don't warn in cases where GuardedBy string is clearly unrecognizable 9 years ago
Jules Villard 01ffc387bb resolve symlinks recursively until the real infer executable is found 9 years ago
Jules Villard 10f10a90c6 diverge on `throw` 9 years ago
Lázaro Clapp Jiménez Labora 6469a6c37b Implement '-a crashcontext' and '-st trace' options to invoke BoundedCallTree.ml from the command line. 9 years ago
Dulma Churchill 7fd1149f85 Add NPE check for weak variables captured in blocks 9 years ago
Dulma Churchill fb607ef388 Use the block captured variables as mangled 9 years ago
Jules Villard 4078a2b276 pass down --reactive and --continue to python 9 years ago
Daiva Naudziuniene dfb7c15303 Fixing Resource leak false positives assuming developers use raii. 9 years ago
Jules Villard 9378913223 add constructor info to c++ methods 9 years ago
Sam Blackshear d6149c7741 switching to by-ref semantics 9 years ago
Dulma Churchill 62da495510 Start transitioning logging of frontend bugs into a map of errlogs rather than in procdescs 9 years ago
Dulma Churchill 1617d470f1 Creating a specific type for frontend issues 9 years ago
Josh Berdine e8fd648fe8 Fix mod_dep for reason conversion, add mod_dep.pdf 9 years ago
Dulma Churchill 694ded4795 Make the description of issues specify the error kind 9 years ago
Josh Berdine e739b0e6ea Refactor Sil.dexp into separate DecompExp module 9 years ago
Josh Berdine ccd32690d7 Refactor Sil.call_flags into separate CallFlags module 9 years ago
Josh Berdine eefe05b240 Refactor Sil.Subtype into separate Subtype module 9 years ago
Josh Berdine aba67b4a2a Refactor Sil.binop into separate Binop module 9 years ago
Josh Berdine 2154c2c483 Refactor Sil.unop into separate Unop module 9 years ago
Josh Berdine 9487cab145 Refactor Sil.const into separate Const module 9 years ago
Josh Berdine a1b680c473 Move attributes from const to exp 9 years ago
Josh Berdine a379729e1f Use Prop.atom_negate in Rearrange 9 years ago
Josh Berdine 5f309ebb23 Tighten type of Aobjc_null to reduce recursion 9 years ago
Josh Berdine 32d09545e2 Closure values are not constants 9 years ago
Josh Berdine c5ce74f3d3 Exception values are not constants 9 years ago
Sam Blackshear 15534be574 eliminate tmp vars in resource leak error message 9 years ago
Dulma Churchill 5566ca1fd9 Add a new error kind Advice 9 years ago
Sam Blackshear 7b58c71475 centralize creation and detection of clang tmp vars, fix errdesc/bucketing 9 years ago
Josh Berdine 7e59032a42 Move analyzer type and ops from Utils to Config 9 years ago
Sam Blackshear 9df3b8f653 eliminating dead stores created by copy-propagation 9 years ago
Josh Berdine 061bb2d799 Change length of Dsizeof from an exp to a dexp 9 years ago
Josh Berdine caff49e411 Cleanup some usage messages 9 years ago
Josh Berdine ac50b01240 Simplify defining new executables 9 years ago
Josh Berdine c6438da919 Add HOWTO define new config option doc 9 years ago
Dulma Churchill cf72de9460 Make ObjC virtual functions return nil if they are called with nil, even if they are going to be skipped. 9 years ago
Jules Villard 60c5b87ffd make --merge accept absolute paths 9 years ago
Jules Villard b95b71fa85 add option to assume that malloc never returns null 9 years ago
Jules Villard b95aaefb37 make --abs-val great again 9 years ago
Sam Blackshear 2439dcf91f copy propagation step 1: propagate copies in the CFG 9 years ago
Sam Blackshear 16bf929dbe fix confusing `$irvar0` error messages 9 years ago
Josh Berdine 843d380d10 Simplify DB initialization 9 years ago
Josh Berdine 29dfacdffb Treat relative paths wrt initial working directory 9 years ago
Josh Berdine 9608504b57 Ignore non-existent dirs when looking for specs 9 years ago
Josh Berdine e1403f2a0c Create log dir only if results_dir exists 9 years ago
Andrzej Kotulski d1fa1e130d Define STATIC_ANALYSIS macro when using glog/logging.h 9 years ago
Sam Blackshear 37f943a3fa unifying checking of temporary variables 9 years ago
Andrzej Kotulski c3acb3a015 Make InferPrint print to stdout/stderr 9 years ago
Andrzej Kotulski 98f324409d print reason of analysis failure in html 9 years ago
Andrzej Kotulski afc192b100 Add -Xbuck option to pass arguments to buck build 9 years ago
Andrzej Kotulski c7d6d904f7 Whitelist std::min and std::max 9 years ago
Dulma Churchill 8bfa983716 Translate TypeTraitExpr 9 years ago
Sam Blackshear da054beb00 adding exp_sub_ids, instr_sub_bound_ids 9 years ago
Peter O'Hearn 1edb492b70 One step closer to shipping initial GUARDEDBY 9 years ago
Josh Berdine b25572fafb Convert INFER_ONDEMAND_FILE env var to clopt 9 years ago
Josh Berdine a2a7e07708 Add OCaml toplevel driver executable 9 years ago
Sam Blackshear 9d95a3a199 don't warn if procedure is marked VisibleForTesting 9 years ago
Sam Blackshear 03df3a0c47 supporting guarding on outer-class this in inner class 9 years ago
Josh Berdine df0d26e3c7 Move Logging setup to Logging 9 years ago
Martino Luca b27bf407db Aggregate buck stats per target 9 years ago
Josh Berdine a5791d7f43 Remove dead code 9 years ago
Josh Berdine 9bada2f929 Add config option for FCP_CLANG_INCLUDE_TO_REPLACE 9 years ago
Sam Blackshear 7ae14d0bdf don't report on compiler-generated access$ methods 9 years ago
Dulma Churchill f90bf94bd7 Making empty vector an error 9 years ago
Sam Blackshear df257da918 supporting @GuardedBy(MyClass.class) idiom 9 years ago
Sam Blackshear 6304e30f5a don't warn on read-write locks 9 years ago
Josh Berdine f3d7d4d0d6 Deabbreviate CLOpt.exe constructors 9 years ago
Josh Berdine e1d49821fd Fix minor heap size calculation 9 years ago
Josh Berdine 3a47b4064b Fix --help and friends that 2 phase parsing broke 9 years ago
Sam Blackshear b940c4dfac warning on guarded-by writes 9 years ago
Dulma Churchill b1e3d994bd Report more cases of null dereference as empty vector access 9 years ago
Dulma Churchill 52e8d8a560 Expand links under buck-out 9 years ago
Josh Berdine bbec166174 Refactor Sil.typ into separate Typ module 9 years ago
Josh Berdine ce19de4a42 Show timeouts in progress bar in stats mode 9 years ago
Josh Berdine a6a766b5f5 Refactor Sil.Int into separate IntLit module 9 years ago
Josh Berdine 3828bdd544 Make int_compare avoid overflow 9 years ago