2636 Commits (0bea163f772a0d6ca239d321667db77a19208771)

Author SHA1 Message Date
Sam Blackshear 374ee12792 [traces] adding Sink.Make functor for easier sink creation
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
Josh Berdine 142494e7ae Add missing dir to java test clean
8 years ago
Jeremy Dubreil 4a3573b60e [infer][java] Use lazy dynamic dispatch by default
8 years ago
Jules Villard 39cfc9c073 delete intellij settings in infer/tests/
8 years ago
Ryan Rhee b557b49921 [componentkit] Initializer rule should return multiple issues
8 years ago
Ryan Rhee 4e37677eeb [clang] Prep rules to potentially emit multiple issues
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
Jules Villard 72d065017b [tests] run "diff" from infer/tests
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 6bf38931ce [traces] adding Source.Make functor for easier source creation
8 years ago
Sam Blackshear e8835b308e [thread-safety] add liveness analysis for thread-safety
8 years ago
Jeremy Dubreil f963363ee9 [infer][java] For the lazy dynamic dispatch algorithm, only specialize the methods on object parameters
8 years ago
Jeremy Dubreil 0cb69c5a6a [infer][java] fix comments for Annotations.annot_ends_with
8 years ago
Sam Blackshear 06e0f6fbc9 [quandary] support tainted formals
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
Josh Berdine 1a5ac9e62b Use natural order on hpred, optionally ignoring instrumentation
8 years ago
Sam Blackshear e817d5390d [oss] add missing is_logging_method
8 years ago
Jules Villard ec2cde7020 [tests] serialize buck tests
8 years ago
Sam Blackshear 3ca924f546 [thread-safety] blacklist logging methods
8 years ago
Sam Blackshear 084fd9301b [absint] Fix capitalization of abstractInterpreter.mli and reconcile with the source file
8 years ago
Andrzej Kotulski fb6d49d6f4 [reactive-capture] Don't count compilation time towards analysis timeout
8 years ago
Andrzej Kotulski 96ba74d18e [C++] whitelist C++ std::vector iterator implementation
8 years ago
Andrzej Kotulski acdc081100 [C++] Make C++ whitelist matching more strict
8 years ago
Peter O'Hearn 4057ffadcf [threadsafety] Change THREAD_SAFETY_ERROR to THREAD_SAFETY_VIOLATION
8 years ago
Sam Blackshear 2a567d3abe [quandary] summaries are access trees too
8 years ago
Sam Blackshear cd1c9750f4 [infer] models for common types of Java Lists
8 years ago
Kihong Heo 42a3176882 Fix the widening operator of the Map functor
8 years ago
Peter O'Hearn 23a0a611dc [threadsafety] Fix situation where @NotThreadSafe is reported on, when super is @ThreadSafe
8 years ago
Dulma Churchill 9f153dbafa [linters] Add linter for checking api compatibility
8 years ago
Martino Luca b5124c1506 [CTL] Remove linters' names from Localise module
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
Jules Villard a2193005a9 [tests] less phony genrule test
8 years ago
Josh Berdine cccfad2445 Directly handle javac -version option in build command
8 years ago
Josh Berdine 3dfaa9ed7b Remove support for SuppressWarnings annotations
8 years ago
Cristiano Calcagno d670bdd61a [eradicate] Add support for methods that don't return (System.exit)
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 a9d5b5afdb [tests] kill empty build_integration_tests.py
8 years ago
Jules Villard c6ed7ad489 [tests] convert waf test to Makefile
8 years ago
Jules Villard b4bd78bb05 [tests] convert utf8 in pwd test to Makefile
8 years ago
Jules Villard 4c34509f6d [tests] convert unknown ext test to Makefile
8 years ago
Jules Villard c40dfc950e [tests] convert reactive test to Makefile
8 years ago
Jules Villard 25e35e8bec [tests] convert pmd-xml test to Makefile
8 years ago
Jules Villard dece9f1386 [tests] convert ndk-build test to Makefile
8 years ago
Jules Villard facdcbe6f2 [tests] convert clang multiple files test to Makefile
8 years ago
Jules Villard f57154372f [tests] move make test to a Makefile
8 years ago
Jules Villard d80c9c742d [tests] move utf8 in procname test to a Makefile
8 years ago
Jules Villard de8356e4b0 [tests] move javac test to a Makefile
8 years ago
Jules Villard 5ffd9e3a7b [tests] port gradle test to a Makefile
8 years ago
Jules Villard ebb75d6171 [tests] port --fail-on-issue test to a Makefile
8 years ago
Jules Villard 674e3c86ea [tests] port delete infer-out test to a Makefile
8 years ago
Jules Villard 241b4b04fa [tests] port ck imports test to a Makefile
8 years ago
Jules Villard 6c056f535a [tests] port ck analytics test to a Makefile
8 years ago
Jules Villard eafe1158a6 [tests] convert cmake test to a Makefile
8 years ago
Jules Villard a6be58848b [make] make frontend tests more functional
8 years ago
Jules Villard bd0751dd1c [make] do not confuse the jobserver
8 years ago
Jules Villard 4d34efe71d [toplevel] fix double-printing of infer options in --help
8 years ago
Josh Berdine fb34f30350 Directly handle javac -classpath option in build command
8 years ago
Josh Berdine a9253d8996 Directly handle javac -classes_out option in build command
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
Martino Luca ebb6931358 [CTL] Let issue name be a string for linters
8 years ago
Sam Blackshear ee90e10491 [thread-safety] don't report on fields of immutable collections
8 years ago
Sam Blackshear 79154adf9e [thread-safety] use ownership info to avoid false alarms
8 years ago
Jules Villard bce1a1ff2e [make] make infer/src/Makefile less phony
8 years ago
Jules Villard 475f37ea03 [java] do not leak file descriptors when redirecting stderr to /dev/null
8 years ago
Andrzej Kotulski 1bb6401d15 [command line] Fix json deserialization of mk_path_list
8 years ago
Sam Blackshear 16cae31f20 [absint] add inverted set domain
8 years ago
Sam Blackshear 8e212f0468 [thread-safety] use id map to decompile tmp vars into access paths
8 years ago
Dino Distefano 4682393cd6 Use place-holders string in messages
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
Sam Blackshear 6d7b8099f7 [java] treat all var names containing $ as temporaries
8 years ago
Sam Blackshear 26ba5336a8 [domains] gating sanity checks in id -> access path domain
8 years ago
Sam Blackshear 7682017f93 [quandary] only show relevant passthroughs in trace
8 years ago
Jules Villard f2a5810141 [clang] remove InferClang command from generated frontend debug scripts
8 years ago
Jules Villard bbf7df2f53 [base] remove C stubs for ioctl in favour of Ctypes
8 years ago
Jules Villard a07e16871c [java] silence javalib warnings on stderr when loading class with Java8 Code
8 years ago
Jules Villard ac082cfe01 [make] remove support for OCaml annot and other Eclipse-related quirks
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
Sam Blackshear 5bd4daa900 [absint] make Interprocedural functor easier to customize
8 years ago
Dulma Churchill 5b39b3e323 [ObjC] Model methods from NSArray
8 years ago
Andrzej Kotulski 13fcb27431 [C++] Fix compilation errors coming from smart pointer models
8 years ago
Andrzej Kotulski 01b57b4f38 [clang] Always compile with -O0 flag
8 years ago
Jules Villard 902a0cd001 [make] make crashcontext tests replace-proof
8 years ago
Jules Villard 8b976154f6 [python] remove trailing empty line in source contexts
8 years ago
Jeremy Dubreil 715f6ffa7e [infer][java] match the annotation by class name, forgetting the package, instead of checking if the end of the annotation matches
8 years ago
Sam Blackshear 901786e0c5 [quandary] detect intents configured with external values
8 years ago
Sam Blackshear 2386bc8f67 [thread-safety] use record type in domain
8 years ago
Jeremy Dubreil aa362a27ed [infer][python] no longer generate the CSV report during the analysis
8 years ago
Josh Berdine 6051a3e34c Fix build time regression
8 years ago
Dino Distefano aa231e5129 [CTL] Expanding formula id with their definition
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 733e2531b3 Protect against use of Core functions that add exception handlers that exit
8 years ago
Josh Berdine 2a8bf53e9e Don't allow new deprecated uses
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
Jeremy Dubreil 027bdc32e8 [infer][genrule] Add example of Buck DEFS macro to generate Infer analysis targets
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 7708fc7c56 Remove extlib dependency
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 c094287428 Convert Process.create_process_and_wait to Core.Std.Unix
8 years ago
Josh Berdine 81d616a50b Convert Process.run_jobs_in_parallel to Core.Std.Unix
8 years ago
Josh Berdine 53c170ca0a More uniform and explicit treatment of program and arguments
8 years ago
Josh Berdine 0467c9cde1 Convert DB module to Core.Std.Unix
8 years ago
Josh Berdine 57c37f93c9 Convert Infer module to Core.Std.Unix
8 years ago
Josh Berdine 7d57469d2f Core.Std.Filename
8 years ago
Josh Berdine 782e9d69f6 Core.Std.Bool
8 years ago
Josh Berdine e415b73786 Core.Std.String
8 years ago
Josh Berdine a2930b7007 Core.Std.Int
8 years ago
Jeremy Dubreil a0b83ed693 [infer][test] The command should change directory outside the call to silent_on_success
8 years ago
Jeremy Dubreil d47d977322 [infer][java] Do not use multicore when creating the models
8 years ago
Andrzej Kotulski 78dfe85468 [clang] Make sl_file store source file instead of string
8 years ago
Sam Blackshear 831786240a [quandary] ignore null assignments to return value in void functions
8 years ago
Sam Blackshear 45ad904c1f [quandary] use actuals in JavaTrace.taint_all
8 years ago
Andrzej Kotulski 56f8757337 [SourceFile] Move DB.SourceFile into separate file
8 years ago
Jules Villard e5863f5420 [siof] handle constexpr constructors
8 years ago
Andrzej Kotulski 69b39dacb0 [DB] Create module for SourceFile
8 years ago
Andrzej Kotulski e4a93d5e13 [c++] s/cxx_experimental/cxx
8 years ago
Jeremy Dubreil 2edafcee92 [infer][backend] Save the pretty-print of the type environment when running the analysis in debug mode
8 years ago
Andrzej Kotulski 5310b617fe [c++] turn on c++ analysis by default
8 years ago
Jeremy Dubreil e029612421 [infer][backend] the pp_base parameter was not used anywhere
8 years ago
Jeremy Dubreil d89c69dbe6 [infer][java] Adding the android.jar in the classpath is not needed anymore
8 years ago
Sam Blackshear e212183e7e [thread-safety] don't count accesses in methods of builder classes
8 years ago
Jules Villard b0a5495611 [UI] add source context to reports in bugs.txt
8 years ago
Dino Distefano bd216f3205 Fixed problem with evaluation of sizeof which would give false positive
8 years ago
Jules Villard 9cc9cc101c [IR] add Static_local_var pvar kind and use it in clang
8 years ago
Andrzej Kotulski 0479720c91 [C++] Don't ignore header files passed in --changed-files-index
8 years ago
Andrzej Kotulski bd0f0cc7fc [DB] Don't fail hard when realpath fails
8 years ago
Sam Blackshear ff3b6a10db [checkers] add mli for AccessTree
8 years ago
Sam Blackshear 4b98543d35 [traces] don't hang when unrolling a mutually recursive trace
8 years ago
Josh Berdine 731ffa0ae1 Initialize Builtins also in single-core mode
8 years ago
Jeremy Dubreil 532621def1 [infer][tests] No longer rely on Infer being in the PATH for the genrule integration test
8 years ago
Sam Blackshear c1205c1453 [thread-safety] model ReadLock/WriteLock
8 years ago
Dulma Churchill 826accc21b [clang] Adding model for NSNumber boxing functions
8 years ago
Sam Blackshear 5743351906 [thread-safety] don't report thread safety violations due to calls to constructors
8 years ago
Sam Blackshear cb82dacd54 [traces] moving logic for reporting flow-sensitive traces from quandary to trace domain
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
Jeremy Dubreil 0b8a117b5e [infer][java] Fall back to the system compiler in case of compilation failures
8 years ago
Jeremy Dubreil 7b884144b5 [infer][tests] More complete test cases for the models of the Java Integer class
8 years ago
Sam Blackshear 0972c8d262 [quandary] don't report FP's due to flow-insensitive traces
8 years ago
Sam Blackshear 3b161a3737 [thread-safety] interprocedural traces for thread safety checker
8 years ago
Sam Blackshear 579b982359 [thread-safety] Lay the groundwork for interprocedural trace-based reporting
8 years ago
Andrzej Kotulski ea4cf13992 [tests] remove inferTest script
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
Sam Blackshear 01136cc326 [thread-safety] interprocedural analysis
8 years ago
Sam Blackshear 937ae12f29 [thread-safety] adding models for lock methods
8 years ago
Jeremy Dubreil cead43b731 [infer][genrule] run the genrule integration as part of the Buck integration test
8 years ago
Josh Berdine 198bc00df7 Remove Utils compare and equal functions
8 years ago
Josh Berdine 83408d4d6a ppx_compare TypeErr
8 years ago
Josh Berdine 177124ce76 ppx_compare IntLit
8 years ago
Josh Berdine 608ed877d3 ppx_compare RepeatedCallsChecker
8 years ago
Josh Berdine bebb00074d ppx_compare CheckTraceCallSequence
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 5d69d04578 ppx_compare TypeAnnotations
8 years ago
Josh Berdine 0c8a583cb0 ppx_compare CFrontend_utils
8 years ago
Josh Berdine 71664c7828 ppx_compare SiofTrace
8 years ago
Josh Berdine e397afa085 ppx_compare CContext
8 years ago
Josh Berdine 0b605c694c ppx_compate Cfg
8 years ago
Josh Berdine da8cbe55fd ppx_compare JavaTrace
8 years ago
Josh Berdine 0eb864d800 ppx_compare CppTrace
8 years ago
Josh Berdine fe7a0c2483 ppx_compare State
8 years ago
Josh Berdine 97639ba236 ppx_compare Paths
8 years ago
Josh Berdine bbd5ef385d ppx_compare ProcCfg
8 years ago
Josh Berdine 85d15bcc49 ppx_compare Trace
8 years ago
Josh Berdine b94b5f1c58 ppx_compare Procdesc
8 years ago
Josh Berdine 48dcd7bb92 ppx_compare Source
8 years ago
Josh Berdine 75527525e5 ppx_compare Errlog
8 years ago
Josh Berdine 4e849fa5d5 ppx_compare Localise
8 years ago
Josh Berdine 344e724a85 ppx_compare Prop
8 years ago
Josh Berdine 356d081e1f ppx_compare AccessPath
8 years ago
Josh Berdine 9bc72ad790 ppx_compare Var
8 years ago
Josh Berdine aa5998a9d1 ppx_compare Sil
8 years ago
Josh Berdine 6298d043e6 ppx_compare PredSymb
8 years ago
Josh Berdine 71ed8c9e1d ppx_compare Exp
8 years ago
Josh Berdine e36a768d0c Use natural order of Cast expressions
8 years ago
Josh Berdine f73f997e5a ppx_compare TraceElem
8 years ago
Josh Berdine 10046e1848 ppx_compare Passthrough
8 years ago
Josh Berdine 1a0df1029a ppx_compare CallSite
8 years ago
Josh Berdine 8097de5bfd ppx_compare Mleak_buckets
8 years ago
Josh Berdine 25c3cb41bd ppx_compare CallFlags
8 years ago
Josh Berdine 7a5e7c28b5 ppx_compare Const
8 years ago
Josh Berdine 952855288d ppx_compare StructTyp
8 years ago
Josh Berdine 122d2b031f ppx_compare Unop
8 years ago
Josh Berdine cbec3453a3 ppx_compare Typ
8 years ago
Josh Berdine 72b1cd0816 ppx_compare Subtype
8 years ago
Josh Berdine b11e483500 ppx_compare Pvar
8 years ago
Josh Berdine 8822b66a21 ppx_compare Procname
8 years ago
Josh Berdine 0cf71c74ef Sort nodes when printing cfg to dot file
8 years ago
Josh Berdine 6b3d7c4d25 ppx_compare Location
8 years ago
Josh Berdine 27da735427 ppx_compare InferPrint
8 years ago
Josh Berdine a1e223d36d ppx_compare Ident
8 years ago
Josh Berdine b7991172b5 ppx_compare Binop
8 years ago
Josh Berdine 1ca67fbfa6 ppx_compare DB
8 years ago
Josh Berdine 1bc365f36e ppx_compare Clang_ast_types
8 years ago
Josh Berdine 17708ade33 ppx_compare Typename
8 years ago
Josh Berdine 5bd1cfab26 ppx_compare Mangled
8 years ago
Josh Berdine 5107815c18 ppx_compare Csu
8 years ago
Josh Berdine 6459ec4ff4 ppx_compare Annot
8 years ago
Josh Berdine 63d105d54b ppx_compare IList
8 years ago
Josh Berdine a9a96babcd Add build support for ppx_compare
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 9d6a6510e8 [clang] Translate everything coming from <X>.h files when translating <X>.cpp source
8 years ago
Andrzej Kotulski 6192cb98b4 [DB] Use realpath when calling source_file_from_abs_path
8 years ago
Sam Blackshear 9e9ca333f9 [thread-safety] use boolean domain to track locks
8 years ago
Andrzej Kotulski 0aa93c97bd [tests] Extend compilation database tests to handle multiple scenarios
8 years ago
Sam Blackshear ad5ff00dcd [quandary] making it easier to specify behavior for unknown functions
8 years ago
Andrzej Kotulski b6b7593cf6 [tests] Make project root infer/test/ for java tests
8 years ago
Andrzej Kotulski b0a0fbcc35 [tests] fix tests for open source
8 years ago
Andrzej Kotulski 2810740377 [tests] Make project root infer/test/ for clang tests
8 years ago
Sam Blackshear 935018ae9e [quandary] cheaper handling of unknown code
8 years ago
Sam Blackshear 8301250213 [backend] utility function for checking if a procdesc has an empty body
8 years ago
Josh Berdine a627f10979 Add target to generate list of source files topologically sorted by dependency
8 years ago
Dulma Churchill 8415b6c38b [backend] do not log analysis_stops in debug_exceptions mode
8 years ago
Andrzej Kotulski 3d9e5821ef [DB] Move header -> source function to DB.
8 years ago
Andrzej Kotulski ca9ce58150 [reactive capture] reliably load proc attributes only for defined procedures
8 years ago
Dino Distefano 116e90d38c Added parsing for InNode and ETX and added formulas of missing checkers
8 years ago
Jeremy Dubreil 3093f2aa3c [infer][java] remove the dead code manipulating the bootclasspath
8 years ago
Martino Luca 950eca3cb3 [CTL] Add support for `in_node` predicate to check correctness of its inputs
8 years ago
Dulma Churchill 616ee9276b [clang] Adding model for NSString length to avoid false positive npes.
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
Peter O'Hearn 47588027eb [threadsafety] analyze all the files and methods
8 years ago
Ryan Rhee 28b741e62c [componentkit] Compute Cyclomatic Complexity
8 years ago
Andrzej Kotulski 7a5e53262a [DB] kill abs_source_file_from_path
8 years ago
Andrzej Kotulski 7d22130deb [clang] Refactor CompilationDatabase modules
8 years ago
Andrzej Kotulski 7a0a89e567 [DB.source_file] Explicitly specify what path is relative to, keep cpp model paths relative
8 years ago
Ryan Rhee ccb51912e1 [componentkit] Compute line count for main file
8 years ago
Cristiano Calcagno 31e6f19ab2 [debug] Don't keep a copy of source files in the results directory
8 years ago
Ryan Rhee 661de290e7 [componentkit] Gate analytics behind flag
8 years ago
Martino Luca 7c9612b06b [CTL] Add support for is_unop_with_kind/is_binop_with_kind predicates to check correctness of their inputs
8 years ago
Andrzej Kotulski cd6e9e8b21 [InferPrint] Kill --source-file-copy option
8 years ago
Dulma Churchill e8085d5996 [linters] Fix perf problem in the linters, added tests
8 years ago
Andrzej Kotulski 338a8563a1 [clang] Don't filter entries when populating compilation database
8 years ago
Jeremy Dubreil 3299f74068 [infer][java] removing Thread.start() special treatment
8 years ago
Ryan Rhee a2c8c94a3b [componentkit] Move is_in_main_file check to CTL
8 years ago
Andrzej Kotulski b2cef3e0b2 [DB] Alawys use DB.source_file_to_abs_path to do actual filesystem operations
8 years ago
Andrzej Kotulski 548918e524 [tests] extend compilation database test with changed-files-index options
8 years ago
Josh Berdine 34739522c0 [utils] Add CTypes binding of fts and implement remove_directory_tree
8 years ago
Sam Blackshear 8d427cfda6 [reporting] add space to context leak error message
8 years ago
Sam Blackshear bdfc7de48e [tests] fix buck integration tests
8 years ago
Sam Blackshear a6121a9fb0 [guarded-by] support `Classname.fieldname` syntax
8 years ago
Jeremy Dubreil 5df335b715 [infer][python] remove unused imports
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
Jules Villard 23a8be5a1b [java] do not force java8
8 years ago
Peter O'Hearn f2d86cb90c [GuardedBy] Model of trylock in ReentrantLock.java
8 years ago
Sam Blackshear 708c0bf1f8 [backend] eliminate phantom spaces in printing of types
8 years ago
Jules Villard b34e8fe192 [tests] fix clean targets
8 years ago
Josh Berdine 9bf0360eca [linter] Remove dependency on core_extended
8 years ago
Dulma Churchill 1ba52b71c1 [infer][tests] fix unknown variable in issues.py
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
Sam Blackshear adacee51e2 [quandary] switch to --issues-tests printing
8 years ago
Sam Blackshear 37610b5180 [quandary] faster access list comparisons
8 years ago
Sam Blackshear b320714edd [quandary] optimizing Quandary compare functions
8 years ago
Jules Villard 4a673f540d [python] add script report.py to post-process report.json
8 years ago
Jules Villard 17179d4275 [siof] take POD into account
8 years ago
Jules Villard 05c72f510a delete llvm/ directory checked in by error
8 years ago
Jules Villard b3209e2c18 [tests] convert clang_compilation_db test to Makefile
8 years ago
Jules Villard 15d80e04df [tests] record summary of bug traces
8 years ago
Jules Villard 68332a16a0 [clang] always print clang errors on stderr
8 years ago
Jules Villard 81856c0d15 [python] fix another bug in pygments.highlight()
8 years ago
Dino Distefano 0ed033a32e Removing the dispatcher for linters.
8 years ago
Andrzej Kotulski 4512fcd8ef [tests] Create integration tests for clang translation logic
8 years ago
Sam Blackshear 8d48c108ca [quandary] add Errlog traces
8 years ago
Jules Villard e3d8482bd4 [python] limit the number of displayed reports to 10
8 years ago
Jeremy Dubreil ba62932760 [infer][java] Translate the local variables directly from the bytecode
8 years ago
Andrzej Kotulski 90f3712555 add reactive capture flag
8 years ago
Jules Villard ac47d115f5 [tests] include clang.make a bit later to fix compile target
8 years ago
Jules Villard 83f236451d [c] setlocale(3) accepts NULL as second argument
8 years ago
Sam Blackshear 5c2666a07c [quandary] filter the footprint sources in Trace.should_report
8 years ago
Josh Berdine a739931c92 [config] Remove unnecessary -classpath option
8 years ago
Peter O'Hearn 7a04ed32f5 [threadsafety] interprocedural
8 years ago
Jules Villard ec9453d356 [python] do not crash when reporting invalid locales
8 years ago
Jules Villard 2d846d89a6 [build tests] migrate buck integration test to Makefiles
8 years ago
Jules Villard 281d5b49fe [tests] sort bugs in InferPrint
8 years ago
Jules Villard 70720798d8 [tests] share javac.make more broadly
8 years ago
Peter O'Hearn 171d1d6d43 [threadsafety] run thread safety checker on its own
8 years ago
Andrzej Kotulski 6b083af4f3 [tests] small refactor of frontend makefiles
8 years ago
Jeremy Dubreil 2320ed8af3 [infer][java] Infer does not really rely on having compliant bytecode to run the analysis
8 years ago
Jeremy Dubreil 02ce9a909a [infer][java] only skip the classes where Javalib raises an exception instead of skipping all the classes
8 years ago
Sam Blackshear 75d6fb30e4 [frontend] support Java 8
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
Andrzej Kotulski 1a4d165d44 [utils] Cache results of realpath
8 years ago
Dino Distefano 6ffaded4be Modified the hardcoded CTL formulas in preparation to dispatcher removal
8 years ago
Jules Villard 0085417e0d [siof] better error reports using `Errlog.loc_trace`s
8 years ago
Jules Villard 25759199cf [make] use install instead of cp when appropriate
8 years ago
Jules Villard 5bd8b7fa95 [make] compatibility with Debian testing
8 years ago
Jules Villard 7705ffbc31 [checkers] rename to_callee -> with_callsite
8 years ago
Jules Villard caf9537305 [refactoring] add make_trace_element to Errlog
8 years ago
Josh Berdine 25c9d8ae49 [logging] Delay re-creation of log dir until log files created
8 years ago
Andrzej Kotulski 9fb8931990 don't create infer-out/build_output directory
8 years ago
Cristiano Calcagno c5159bae1c [IR] Move Procdesc module to a separate file.
8 years ago
Sam Blackshear e8b61f6dbb [quandary] fix false positives from procedures that are both sources and sinks
8 years ago
Sam Blackshear 4b4e4e6f4d [quandary] understand that parameters are passed by value in Java
8 years ago
Josh Berdine dcf67c455f [linter] Make checkCopyright indep of Utils, and fix build
8 years ago
Jeremy Dubreil eb197a1cd4 [infer][tests] Make was always exiting with exit code 0 even in the case of test failures
8 years ago
Jeremy Dubreil 274851fc53 [infer][java] mark all methods as defined
8 years ago
Jules Villard bfb0cfa4fd [python] work around bug in pygments to display the right source excerpt
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 3021394a10 [config] Remove unnecessary --models
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
Sam Blackshear ba7cef4657 [backend] differentiate unknown methods and methods with empty summaries
8 years ago
Andrzej Kotulski 459ec32081 kill Location.nLOC
8 years ago
Sam Blackshear f35a969def [context leaks] don't report context leak if reachable context type is null
8 years ago
Jeremy Dubreil 9921e3c427 [infer] Unbreak the build integration tests
8 years ago
Jules Villard cbe15b3b5a [build] move not-clang-only modules to a new (old) integration/ directory
8 years ago
Andrzej Kotulski 1cbc812502 System calls to filesystem are expensive, call them with care
8 years ago
Peter O'Hearn be977e7318 Turn GuardedBy Reporting on by default
8 years ago
Sam Blackshear fcf57c6e09 [siof] add fancy interprocedural reporting
8 years ago
Jeremy Dubreil 3b997e4882 [infer][java] Isolate the call to the JBir transformation to a single place
8 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.
8 years ago
Jules Villard c49b9e272d [tests] turn assembly build system test into a Makefile
8 years ago
Jeremy Dubreil 2e16920f5a [infer][java] Skip the translation of modeled methods earlier
8 years ago
Jules Villard d5e7ee0d82 [tests] run tests using report.json and record all bugs + exceptions
8 years ago
Andrzej Kotulski 4d43f0e5d8 [clang] Remove CLocation.curr_file
8 years ago
Dulma Churchill bf14034289 [clang] Do compilation database capture in OCaml directly
8 years ago
Sam Blackshear a8129be763 [traces] expose source-sink paths so users of traces can custom-print them
8 years ago
Jeremy Dubreil b3e406ddf3 [infer][java] Simplify the API to translate Java method names into SIL procedure names
8 years ago
Jules Villard e757d92e72 [print] print tests results from result.json, not the specs
8 years ago
Jules Villard 2cd0151e30 [python] restore project_root option and use it to find source files
8 years ago
Jules Villard 2f5d132734 [config] normalize all paths options
8 years ago
Jeremy Dubreil 15ddf8b921 [infer][backend] More functions from the Specs module taking a summary as parameter
8 years ago
Cristiano Calcagno af54b5da4b [backend] Change path iteration to get shorter error traces.
8 years ago
Josh Berdine 3ae2b41241 [refactor] Call StatsAggregator from Infer instead of from python
8 years ago
Josh Berdine 3af3ed3dfd [config] Remove unused --absolute-paths
8 years ago
Jeremy Dubreil 9baea70548 [infer][backend] More consistent API to check if a procedure is currently being analyzed
8 years ago
Sam Blackshear 5358646c6f [siof] convert domain to sink trace of pvar's
8 years ago
Andrzej Kotulski 80f25d17fd [tests] Create simple compilation database integration test
8 years ago
Jules Villard c9bac51b81 [tests] make clang tests Makefile more functional
8 years ago
Sam Blackshear 0b9727214d [quandary] support `StringBuilder`'s and other methods for propagating `String` taint
8 years ago
Sam Blackshear ae5f8eff0d [traces] Move all trace-related files to checkers
8 years ago
Jules Villard 8c481d2d9f [clang] pass -fno-cxx-modules to clang -### instead of the clang -cc1 commands
8 years ago
Sam Blackshear fde7a6ecf3 [quandary] support for full interprocedural traces
8 years ago
Cristiano Calcagno e933ee958a [IR] Rearrange the cfg module to make nodes, procd descs, and cfgs independent types.
8 years ago
Josh Berdine 7c4c40b6b0 [refactor] Move StatsAggregator from scripts to backend
8 years ago
Josh Berdine 9f42c047fe [refactor] InferAnalyze initialization code into separate Exe module
8 years ago
Josh Berdine e9654ca51d [refactor] Separate InferPrint initialization code into separate Exe module
8 years ago
Josh Berdine bf40ff99e7 [reporting] Create report files from InferPrint not Config
8 years ago
Josh Berdine 216812a615 [driver] Add skeleton capture and analysis driver to infer.ml
8 years ago
Josh Berdine 7fc5b4d55d [siof] Make siof reporting closer to other checkers
8 years ago
Josh Berdine ae7979b416 [multicore] Use Config.bin_dir to find InferAnalyze
8 years ago
Josh Berdine 6b0abe3b57 [config] Do not pass options to clusters via INFER_OPTIONS
8 years ago
Josh Berdine cf657b0e53 [config] Pass classpath via CLOpt.args_env_var
8 years ago
Josh Berdine b7675dd2a2 [config] Remove unused --absolute-paths option
8 years ago
Josh Berdine a11910d535 [config] Remove unused --objc-arc option
8 years ago
Josh Berdine 4869715168 [config] Remove unnecessary --java option
8 years ago
Josh Berdine 2ce94632d2 [config] Default project_root to initial working dir
8 years ago
Josh Berdine ea696ff96d [config] Set checkers flags based on analyzer in Config
8 years ago
Josh Berdine c8a77b0ae2 [config] Set debug child options in Config
8 years ago
Josh Berdine 6aca954e72 [config] Do not pass --inferconfig-home from python
8 years ago
Josh Berdine c729d26386 [config] Default to --allow-specs-cleanup
8 years ago
Josh Berdine 32a60e05f4 Unbreak master
8 years ago
Andrzej Kotulski 76d336dba7 [clang capture] Exit clang capture when clang fails
8 years ago
Sam Blackshear ea26d6f179 [siof] convert domain to sink trace of pvar's
8 years ago
Sam Blackshear 31093801d4 [traces] Move all trace-related files to checkers
8 years ago
Sam Blackshear 768a60caca [quandary] support for full interprocedural traces
8 years ago
Andrzej Kotulski 28827b461a [clang] Get translation unit language from AST dump
8 years ago
Jules Villard b876364340 [tests] convert ant integration test to a Makefile
8 years ago
Jules Villard c93bbbbbc5 [clang] run assembly commands with the fcp clang
8 years ago
Cristiano Calcagno a71902355f [debug][dotty] Fix issue in dotty output where overloaded functions were conflated
8 years ago
Josh Berdine e747d21e0c [refactor] Rename CTypes and CTypes_decl modules
8 years ago
Sam Blackshear 9968245a43 [quandary] move source and sink kinds into their own modules
8 years ago
Cristiano Calcagno d1f8894a9a [debug][html] Distinguish debug html files for same node in different procedures
8 years ago
Andrzej Kotulski aa3ebf117c [clang] Kill CFrontend_config.json field
8 years ago
Peter O'Hearn 2d424b7779 skipping ReadWrite Locks
8 years ago
Sam Blackshear 874e7f000d [quandary] functions that transitively return sources are sources, not passthroughs
8 years ago
Andrzej Kotulski 71b73368ec Add basic integration test for assembly code
8 years ago
Dulma Churchill 6b793a34b5 [clang] Fix crash in analysis of ios apps with json
8 years ago
Cristiano Calcagno 73c5dfdfa4 [IR] Remove use of Cfg.Node.get_proc_desc
8 years ago
Josh Berdine 1bd6615abc [config] Treat default models_jar in ZipLib instead of analyze.py
8 years ago
Sam Blackshear d76a7ef43a [quandary] functions that transitively call sinks are sinks, not passthroughs
8 years ago
Peter O'Hearn e91742afea Support @SuppressLint("InvalidAccessToGuardedField")
8 years ago
Sam Blackshear d7ae77c7c2 [quandary] make intent/logging private data tests intraprocedural
8 years ago
Josh Berdine 4422893bbd [RFC] Remove CSV and JSON munging python code
8 years ago
Josh Berdine 849799246b [config] Clean up spec library options
8 years ago
Sam Blackshear 678d0ff4e9 [quandary] don't double-report when applying summaries
8 years ago
Andrzej Kotulski e9ccdb7d50 [clang capture] Make sure to always run clang from facebook-clang-plugins
8 years ago
Yunxing Dai 35d24c6504 Remove a test call to Core
8 years ago
Yunxing Dai db08df930a Add tuareg and core as dependencies
8 years ago
Sam Blackshear 21f9bd1ed6 [quandary] fix crash from returning exceptions that read from the environment
8 years ago
Andrzej Kotulski 08d4465e1d [refactor] Refactor SymExec Sil.Call pattern match
8 years ago
Andrzej Kotulski 46592ffdd9 [backend] Split construction of builtin pnames and builtin registration
8 years ago
Josh Berdine eee940b2a1 [config] Convert FCP env vars to Config options
8 years ago
Sam Blackshear 7ae58d78c3 [infer] fix .class synchronization false-positive in guarded-by check
8 years ago
Jules Villard a9f3a70b93 [checkers] print checkers summary in InferPrint
8 years ago
Andrzej Kotulski ed29bfef52 [logging] Provide binary type to logging module
8 years ago
Josh Berdine 698ebe8049 [clang] Remove INFER_XX environment variable
8 years ago
Dino Distefano 622366269d Simplified semantics of ET and EH
8 years ago
Dulma Churchill dc883b5019 [componentkit] Enable longtail of analyzers
8 years ago
Sam Blackshear 8f68f61ec9 [quandary] remove stripped logging sinks
8 years ago
Ryan Rhee aac14999b0 [componentkit] Whitelist Native Templates
8 years ago
Ryan Rhee a45d59e478 [componentkit] Don't count unavailable initializers
8 years ago
Jules Villard bc6226942e fix tests
8 years ago
Jules Villard f21db5dab5 [clang] compare file paths in a more principled way
8 years ago
Peter O'Hearn ec45b44dfd [threadsafety] Better error message when warning on subclasses of @ThreadSafe classes
8 years ago
Cristiano Calcagno 3fb8801b6c [IR] Change cfg representation so the node number is per-procedure and not per-cfg
8 years ago
Sam Blackshear 3ba67bac1a [quandary] more privacy sources
8 years ago
Sam Blackshear 2c0bf042b4 [checkers] extract access paths from non-lhs expressions
8 years ago
Josh Berdine 175e85525d [tests] Convert java tests to avoid phony targets
8 years ago
Ryan Rhee 5752b14d9c [componentkit] Skip implicit variables during MLV check
8 years ago
Ryan Rhee 5580be8dcc [componentkit] Initializer With Side-Effect Analyzer
8 years ago
Dulma Churchill 4f6aa5e408 [clang] Parse compilation database coming from xcpretty
8 years ago
Andrzej Kotulski 8ea40b29b0 [clang] Allow to call InferClang as a function
8 years ago
Josh Berdine af2e9ae5c1 [config] Dynamic dispatch methods are mutually exclusive
8 years ago
Jeremy Dubreil 6ae0ebe489 [infer][java] Store the procedure descriptions in the summary to run the analyis with lazy dynamic dispatch across modules
8 years ago
Jules Villard 84af7c56f8 [SIOF] detect which variables need initialization
8 years ago
Jeremy Dubreil e90f67abd6 [infer][java] Java frontendonly print information when the debug mode is on
8 years ago
Sam Blackshear 53de1b7f53 [quandary] use unsound dynamic dispatch handling on super-polymorphic call sites
8 years ago
Dulma Churchill 4af26064c1 [clang] Add flag -fno-cxx-modules to analysis
8 years ago
Sam Blackshear 9bf318fd4d [checkers] mlis for abstract domains
8 years ago
Cristiano Calcagno ecda199e9d [IR] Clean up unused parts of Cfg
8 years ago
Andrzej Kotulski 278c705790 Revert "[python] Remove more unused args"
8 years ago
Andrzej Kotulski 085a031d3b [python] Remove more unused args
8 years ago
Sam Blackshear 471a7633f1 [checkers] return already-computed summaries from Interprocedural.checker
8 years ago
Jeremy Dubreil c7318ee27e [infer][java] Use the global logging function for the Java frontend
8 years ago
Sam Blackshear 319463b3bc [quandary] propagating taint from unknown procedures and constructors
8 years ago
Jeremy Dubreil 31d886bede [infer][java] only cache the classname of translated classes when running Infer with the --dependencies option
8 years ago
Sam Blackshear 355ab92130 [backend] move expression pretty-printing into exp module
8 years ago
Cristiano Calcagno 47c623ff51 [Merge] Use multilink files to speed up merge with buck projects.
8 years ago
Jules Villard a31658a9b8 [clang] treat constexpr as const too
8 years ago
Josh Berdine a9192cffd6 [config] Eliminate ad hoc environment variables
8 years ago
Jeremy Dubreil 219832a9a8 [infer][java] Create the procedure descriptions when required instead of creating them beforehand
8 years ago
Ryan Rhee 471beed515 [componentkit][clang] Move is_factory_method to Ast_utils
8 years ago
Ryan Rhee db94cae74b [componentkit] Use type hint instead of explicit record for is_ck_context
8 years ago
Jeremy Dubreil a41a139ef7 [infer][build] Move the .PHONY declarations next the target declarations to more easily keep the two in sync
8 years ago
Dino Distefano 28b15c06af Fixing warning on parser.
8 years ago
Josh Berdine f45cf115e6 [test] Do not use infer from PATH
8 years ago
Jeremy Dubreil ea2428e3da [infer][config] fix resolution of symbolic links
8 years ago
Jeremy Dubreil e13c3886bf [infer][java] removing no longer used code which can now be handled using .inferconfig
8 years ago
Dulma Churchill 2605ef8d6f [clang] Adding support for capture/linting based on a compilation database json
8 years ago
Jeremy Dubreil 837cb9b64e [infer][java] Only create proc_desc for the methods that are defined
8 years ago
Jeremy Dubreil a7d2eb1d02 [infer][java] Remove the code adding a special treatment for static final fields
8 years ago
Jeremy Dubreil d891303bb6 [infer][java] Minor cleanup of the Java frontend
8 years ago
Ryan Rhee c2a8dae26f [componentkit] Multiple factory methods
8 years ago
Josh Berdine a7c1105147 [config] Combine analyze_models into models_mode
8 years ago
Ryan Rhee e73350598a [componentkit] Unconventional superclass rule
8 years ago
Ryan Rhee a4501462cc [componentkit] Reference fake header in build system test
8 years ago
Peter O'Hearn 25a688bdbe [threadsafety] Consider certain init() methods as constructors
8 years ago
Sam Blackshear ef8e76bdec [quandary] don't apply summary when the callee is a source or sink
8 years ago
Jules Villard 5d4e3fa267 [clang] store args into files for Buck compilation db too
8 years ago
Andrzej Kotulski 4aaec9b220 [python] Remove args that were not used in python code
8 years ago
Cristiano Calcagno 1327de0321 Fix issue with timestamps leading to files not analyzed in -reactive mode when the capture takes less than 1 second
8 years ago
Andrzej Kotulski d7a0e706df [clang] Create separate module for compilation database
8 years ago
Andrzej Kotulski 644c7d716a [clang] Store original data in compilation database and modify it on access
8 years ago
Dulma Churchill 60db0dd67e [clang] Choose always the first location a range
8 years ago
Josh Berdine 7cc0a70649 [make] Remove spew from building cpp models
8 years ago
Josh Berdine dbb32b5cc3 [build] Remove stale build.pl
8 years ago
Jules Villard fa53fc6efb [buck compilation db] use -- to pass buck command to BuckCompilationDatabase
8 years ago
Andrzej Kotulski 76908712e9 fix infer make integration
8 years ago
Andrzej Kotulski 284f7116b0 Kill usage of INFER_RESULTS_DIR env var
8 years ago
Sam Blackshear 6fc1a7e20f [quandary] reporting on array passed to sink when contents of array are tainted
8 years ago
Dulma Churchill 45f5dd658e [clang] Find source files that import header files we want to analyse
8 years ago
Cristiano Calcagno 0572410ac0 [backend] Clean up the forward tabulation algorithm for the intraprocedural analysis.
8 years ago
Cristiano Calcagno 3c52ee67a2 [IR] Save defined and declared procedure attributes in different files.
8 years ago
Peter O'Hearn b1e9267e08 [threadsafety] Don't warn autogenerated methods (containing '$' in proc name)
8 years ago
Peter O'Hearn 2601af5ade [threadsafety] don't report on class initializers
8 years ago
Jeremy Dubreil dc8ab3240e [infer][java] Fix resolution of symbolic links on the project root for the Java analysis
8 years ago
Dulma Churchill e578198622 [clang] Do not store proc attributes directly but create procdesc to preserve invariants
8 years ago
Jules Villard c45afc9859 [clang] cleanup obsolete python code
8 years ago
Jules Villard 36a5dc33ee [clang] write clang arguments into a file
8 years ago
Jules Villard 9535c4d89e [clang] convert filter_args_and_run_fcp_clang to OCaml
8 years ago
Jeremy Dubreil cde74b4043 [infer][test] always run the Buck integration test with the option --no-cache
8 years ago