2024 Commits (0b8a117b5e208880639cdb4cddae112140703492)

Author SHA1 Message Date
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
Peter O'Hearn 69f7ed5f6d [threadsafe] fix the code for recognizing constructors
8 years ago
Jules Villard 5fe40bae12 [siof] check origin of globals and complain if potential siof
8 years ago
Jules Villard 62bfde8b5a [clang] translate global var initializers
8 years ago
Jules Villard 343556e0b2 [base] resolve links when guessing which executable we are running, move infer into bin/
8 years ago
Jules Villard 31230299ea make annoying tput shut up
8 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
8 years ago
Sam Blackshear 08509fb2ab [quandary] don't double-report flows
8 years ago
Sam Blackshear 512de69e13 [quandary] handle dynamic dispatch
8 years ago
Sam Blackshear 6918c117d2 [preanalysis] add option for sound dynamic dipatch handling
8 years ago
Peter O'Hearn 6423ec74ad Writing errors for Threadsafe checker
8 years ago
Sam Blackshear 0a3993edee [utils] add tags_compare utility to make writing default comparison functions easy
8 years ago
Andrzej Kotulski 0f9f44f16e [backend] Report ignored return value on skip functions
8 years ago