2600 Commits (3ebf8c3277349c2b60c4732320b5a144ca603e61)

Author SHA1 Message Date
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
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
Josh Berdine dd8b8e6d2e [reason] reformat with new version of reason
8 years ago
Martino Luca d05b1f172a [Infer][Buck] Invoke buck with *//cxx.pch_enabled=false to disable the use of precompiled headers
8 years ago
Sam Blackshear 072fe0994f [quandary] reporting on getenv -> exec flows
8 years ago
Sam Blackshear 6aee686cb2 [quandary] passing actuals to the sink-determining code
8 years ago
Josh Berdine 4319b08e77 [make] Add target to generate interface file
8 years ago
Jules Villard cb4b2339a3 [checkers] make SimpleCheckers compile
8 years ago
Martino Luca c0a66dbd49 [Infer][CTL] First implementation of a debugging feature for AST checks
8 years ago
Peter O'Hearn 07da8f36d1 don't warn on GuardedBy self reference
8 years ago
Jules Villard 3afb6e2c32 [logging] always set up logging on startup
8 years ago
Dino Distefano 898d956513 Implemented CTL parser
8 years ago
Andrzej Kotulski 1713378438 [IR] Make some fields of ProcAttributes.t immutable
8 years ago
Andrzej Kotulski 2deeb3673a [C++] Don't put model includes on -isystem path in test
8 years ago
Dulma Churchill 98afe25b54 [linters] Take the attributed types into account when finding pointer types
8 years ago
Sam Blackshear 3624fea737 [quandary] tests for C++ analysis
8 years ago
Sam Blackshear 727af5d660 [checkers] clean up abstract interpreter
8 years ago
Sam Blackshear 856f84aaff [quandary] skeleton for C++ analysis
8 years ago
Jeremy Dubreil f5a9cb4476 [infer][java] export the analyzer used and the version of Infer as an environment variable that can be read from BUCK files
8 years ago
Cristiano Calcagno 91d711c833 [backend] Perf fix: only load tenv and cfg files once per each file, instead of once per procedure.
8 years ago
Jules Villard c53bfe3159 [clang] rewrite plugin attachment logic in OCaml
8 years ago
Dulma Churchill caa7534a71 [cpp] Report issues in the cpp models as relative paths
8 years ago
Sam Blackshear 1a958d1d8b [quandary] simplifying Source module interface now that calls have single retval
8 years ago
Sam Blackshear 35bb540bf4 [quandary] adding TaintSpec module for clearer naming
8 years ago
Josh Berdine de56a302f3 [refactor] Remove unused prop reporting, and refactor
8 years ago
Josh Berdine 04465bfb0f [mod_dep] Color and cluster mod_dep graph by directory
8 years ago
Sam Blackshear 715e521ead [quandary] making summaries smaller
8 years ago
Dulma Churchill 3b581748f9 [componentkit linters] Remove the links from the message
8 years ago
Peter O'Hearn 6b2a9de863 [refactor] moving check_attributes to patternMatch.ml
8 years ago
Sam Blackshear 95a82a6a04 [backend] don't run preanalysis twice
8 years ago
Jeremy Dubreil 2dcca1c4d4 [infer][java] The version of the Java compiler should be part of the target key used by Buck
8 years ago
Andrzej Kotulski 61f532d2f8 [Makefiles] Use custom CC in ocamlopt only when configure flag is set
8 years ago
Ryan Rhee f677c3ab3d [componentkit] Enable component factory function rule
8 years ago
Andrzej Kotulski 27ed2c7062 [clang] always call add_edge
8 years ago
Dulma Churchill 2d97b5d111 [clang] Add the objc interface case to the function get_decl_from_typ_ptr
8 years ago
Josh Berdine 19969b7180 [config] Do not spam log with args read from INFER_ARGS
8 years ago
Josh Berdine 6697ed781f [tests] Rerun test without swallowing output on failure
8 years ago
Josh Berdine ac0084019c [tests] Use $(MAKE) for recursive invocations
8 years ago
Josh Berdine f889479748 [buck] Add --version-vcs option
8 years ago
Peter O'Hearn 81344f016e [refactor] moving StringPPSet from ThreadSafety to Utils
8 years ago
Josh Berdine 314506ec1a [quandary] ok to have no post if start node has no succs
8 years ago
Josh Berdine d8336ea906 [backend] Keep common constraints in pure join
8 years ago
Josh Berdine 30541ec329 [tests] Add test for suboptimal join of attributes
8 years ago
Jules Villard eb391d7875 [llvm] delete llvm frontend
8 years ago
Jules Villard b736f672e7 [lint] check copyright notices for Reason files too
8 years ago
Andrzej Kotulski 9a864dcd6e Pass $(CC) flag set by configure to ocamlopt -cc
8 years ago
Jules Villard af4f65a871 [clang] kill unused plugin
8 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
8 years ago
Jeremy Dubreil db112c9ce1 [infer][java] Export the Infer command as environment variables
8 years ago
Sam Blackshear 3449cbd555 [checkers] update timestamp when storing checkers summary
8 years ago
Jules Villard d9f83094b5 [clang] do not depend on Config.clang_lang and Config.source_file
8 years ago
Jules Villard 7d49e16d63 [clang] rewrite hijack_and_normalize_clang_command in OCaml
8 years ago
Sam Blackshear 4a35862aa8 [quandary] dont add passthroughs from callee to caller
8 years ago
Jeremy Dubreil 650aa00dc9 [infer][java] support java -jar javac.jar
8 years ago
Jeremy Dubreil dfa12b17f1 [infer] Apply python lint warnings on the Infer python code
8 years ago
Sam Blackshear dab5786789 [checkers] kill ref in abstract interpreter
8 years ago
Sam Blackshear 8ed645315c [quandary] fix missing check for builtin in Quandary models
8 years ago
Dulma Churchill bd22999950 [clang] Disable the condition always true or false check for clang as it is too noisy.
8 years ago
Peter O'Hearn 3d1eba890a thread safety checker alpha0
8 years ago
Sam Blackshear 5e2e7b88aa [quandary] allow trace-specific rules for handling unknown code
8 years ago
Andrzej Kotulski 6251aad101 [IR] kill Cfg.set_procname_priority
8 years ago
Andrzej Kotulski 18f6190432 move code that depends on backend/ out from IR/Cfg.re
8 years ago
Andrzej Kotulski b93d6b5012 [ocaml] Create base/ directory for code shared across analyzer and frontends
8 years ago
Jeremy Dubreil ea72dadab3 [infer] Add the possibility to skip the analysis of some files based on their path
8 years ago
Dino Distefano 777378e7cc Do not crash unless in debug mode
8 years ago
Jules Villard 8f32c3cfe1 [clang] minor cleanups
8 years ago
Jules Villard f59c18cc44 [utils] return process exit status in with_process_{in,full} helpers
8 years ago
Josh Berdine 3ddc23d7e5 [IR] Do not use JBasics.java_lang_object in IR/backend
8 years ago
Ryan Rhee 609d1f9058 [clang][frontend] Type ptr to objc if function
8 years ago
Ryan Rhee 8f731569fc [componentkit] Break out common CK context check
8 years ago
Ryan Rhee a1f65716b8 [clang][frontend] Simplify is_objc_if_descendant logic
8 years ago
Ryan Rhee b635269fa8 [clang][frontend] Allow custom blacklist for checking objc descendant
8 years ago
Ryan Rhee 07797410cc [clang][frontend] Break out objc class inheritance check function
8 years ago
Ryan Rhee 272c21ff70 [componentkit] Factory functions analyzer
8 years ago
Martino Luca cab20f4a6e [Infer][iOS][Linters][CTL] Rewrite BAD_POINTER_COMPARISON rule into Computation Tree Logics formula
8 years ago
Dulma Churchill a1d7df6c07 [linters] Log assert failures in the linters framework
8 years ago
Dulma Churchill a44109b2b2 [linters] Pass the current method in the context to the checks about the methods or functions declarations
8 years ago
Jeremy Dubreil e3b4820e54 [infer][java] Checks if the output jar exists on disk before trying to load the analysis artifacts from it
8 years ago
Dino Distefano 9be81f6e9a Simplify semantics of ET operator and fix build
8 years ago
Dino Distefano 05bb4a0db7 Defining an AST specification language based on CTL for front-end checkers
8 years ago
Jeremy Dubreil fc28683ea2 [infer][java] When using Buck to analyze Java projects, only report the errors found on the targets passed on the command line
8 years ago
Dulma Churchill befab1007b [clang] Migrating clang logging to the Logging module
8 years ago
Josh Berdine 67a883e1a2 [models] Use return type for ObjC models
8 years ago
Josh Berdine c094a38d56 [IR] Simplify to single return id, with type
8 years ago
Josh Berdine ae632e281a [IR] Refactor Typ.struct_typ into separate module
8 years ago
Josh Berdine 44e2c32524 [IR] Refactor annotation types into separate module
8 years ago
Josh Berdine 74c8198826 [IR] Remove redundant struct_typ.name field
8 years ago
Josh Berdine af51599e0f [backend] Remove AttributesTable.get_tenv
8 years ago
Jeremy Dubreil e38e16c948 [infer][java] Remove the deprecated genrule from the BUCK files
8 years ago
Sam Blackshear 7da3a90c81 [buck] support continuing analysis after crash when --keep-going is passed
8 years ago
Ryan Rhee 967532ea2e [componentkit][test] Rename test files
8 years ago
Ryan Rhee df988dd051 [componentkit][test] Import proper fake header in second test
8 years ago
Jeremy Dubreil 2e2e9c89d6 [infer][java] Removing the models for com.squareup.okhttp.internal.StrictLineReader
8 years ago
Jeremy Dubreil 168c613ac9 [infer][java] Separate the builtins from the other models for a better modularity
8 years ago
Martino Luca 051fbd779c [Buck] Emit xml stub during `buck_test_xml` target
8 years ago
Jeremy Dubreil d1da078ab7 [infer][java] Minor renaming in the Java frontend
8 years ago
Sam Blackshear 3051d90307 [quandary] kill unused Source.to_return proc
8 years ago
Sam Blackshear df8a4f6481 [quandary] tests for divergence
8 years ago
Sam Blackshear af9f34bb60 [quandary] checking for flows from Intents parsed via Uris -> startActivity (and similar)
8 years ago
Ryan Rhee d6cf024c1b [componentkit] Enable the MLV rule
8 years ago
Ryan Rhee 6475e358c4 [componentkit][const] Ignore NSError
8 years ago
Ryan Rhee 7a434adea8 [componentkit][const] Whitelist certain classes
8 years ago
Ryan Rhee d2ac2242c4 [componentkit][test] typedef struct -> class
8 years ago
Ryan Rhee f54b84c751 [componentkit][test] Move mock CK imports to own .h file
8 years ago
Dulma Churchill 561f4fdfad [linters] Adding a new type of procname that is used for lint bugs that are not in any method
8 years ago
Cristiano Calcagno 717b61192e [tests] Convert java harness and crashcontext tests to new direct format.
8 years ago
Dulma Churchill a2ee69975a [clang] Remove support for logging lint issues in procdescs
8 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.
8 years ago
Peter O'Hearn 419f2e0bdf [infer] Active Variables
8 years ago
Sam Blackshear fbfece20af [quandary] using exceptional procCFG to explore exceptional control-flow
8 years ago
Sam Blackshear f0a31f460b [checkers] don't crash when a frontend temp is reassigned
8 years ago
Sam Blackshear 4b9899d6b2 [quandary] handling globals in function summaries
8 years ago
Sam Blackshear b1039f51f8 [quandary] add summaries for footprint traces associated with locals
8 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.
8 years ago
Dulma Churchill 526cf6da6a [Config] Adding a default for the option load
8 years ago
Sam Blackshear ae759ee21f [quandary] fixing crashes when running on recursive code
8 years ago
Sam Blackshear de146f4f2d [quandary] switch to using base -> formal num map in extras
8 years ago
Sam Blackshear 31e6849ec0 [quandary] using summaries part 2: the relational cases
8 years ago
Jeremy Dubreil acbb59c1f9 [infer][java] print an error message when using the option --reactive with Java buck projects
8 years ago
Cristiano Calcagno bd0215a826 [IR] Add notion of file captured to procedure attributes.
8 years ago
Josh Berdine f30b6e39db More robust logging to files
8 years ago
Cristiano Calcagno 847c141912 [tests] Clean up test files shared between frontend and endtoend tests
8 years ago
Sam Blackshear 70670f5355 [checkers] kill noisy logging in abstract interpreter
8 years ago
Sam Blackshear e4beca3779 [quandary] using summaries part 1: return
8 years ago
Sam Blackshear cf8c957483 [quandary] use preanalysis for abstract GC
8 years ago
Cristiano Calcagno c134eac91e [tests] Convert objective-c frontend tests to new direct format
8 years ago
Sam Blackshear 95f6639d6d [backend] refactoring debug html printing to make it easier to call from anywhere
8 years ago
Sam Blackshear 9f1c4e4bca [quandary] adding append operation
8 years ago
Cristiano Calcagno fe21442d47 [tests] Convert the linter tests to the new direct format
8 years ago
Cristiano Calcagno da01c2b94a [tests] Fix detection of changes in frontend tests
8 years ago
Sam Blackshear b34a23c1b4 [java frontend] fix read of unused id in exception translation.
8 years ago
Sam Blackshear 4172650313 [java] treat CatchVar's emitted by Sawja as temporary variables
8 years ago
Sam Blackshear 2f34e998c2 [quandary] consider builtins to be neither sources nor sinks
8 years ago
Cristiano Calcagno b0980bc35e [tests] Convert c/c++ frontend tests to new format.
8 years ago
Cristiano Calcagno 25cd7dbe89 [tests] Activate objective-c tests in the new format, and remove old junit tests.
8 years ago
Cristiano Calcagno afebcdad60 [tests] Prepare objective-c tests for conversion to the new direct testing format
8 years ago
Cristiano Calcagno ec67521c6f [backend] Fix issue where the attribute of a procedure definition could be overwritten with the attribute of a declaration
8 years ago
Josh Berdine 8589dc4868 Remove Tstruct in favor of Tvar
8 years ago
Jeremy Dubreil 050d90b356 [infer][java] No longer disable the Buck daemon before running the anslysis
8 years ago
Sam Blackshear 41c121bebf [quandary] adding quandary summaries to specs
8 years ago
Sam Blackshear d6d7293633 [quandary] moving logging of errors into analysis
8 years ago
Sam Blackshear 31435fa936 [quandary] summaries for interprocedural analysis
8 years ago
Sam Blackshear 4f8370e524 [utils] add find_mapi_opt utility
8 years ago
Sam Blackshear ef8b215ee1 [utils] add fold_left_i utility
8 years ago
Sam Blackshear 55a46d1211 [quandary] format for summaries
8 years ago
Josh Berdine f1c10738c5 Exclude autosave files from repl build
8 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
8 years ago
Sam Blackshear 27cfb141da richer sink specifications
8 years ago
Andrzej Kotulski 0817ab0ec2 Fix FCP_RUN_SYNTAX_ONLY variable
8 years ago
Josh Berdine 4706f25bf7 Normalize struct field types to be shallow
8 years ago
Josh Berdine 548338bb4e Move mk_struct to Tenv
8 years ago
Josh Berdine 30b3881e52 Make Typ.struct_typ private and add Typ.mk_struct
8 years ago
Josh Berdine ad31aeb2a2 Expand Tvar to Tstruct as needed
8 years ago
Sam Blackshear bcacd95176 tests for arrays
8 years ago
Sam Blackshear 30ff9eda22 fix type of array store
8 years ago
Lázaro Clapp Jiménez Labora 2f90dde351 Add top of file documentation for crashcontext.mli
8 years ago
Sam Blackshear 3368548e3e replace stackop instruction with skip instruction
8 years ago
Sam Blackshear 87248009b7 fixing issue where crashcontext breaks without -o
8 years ago
Josh Berdine f3cdf87181 Sort test results by file then line
8 years ago
Sam Blackshear e918624076 abducted -> abduced
8 years ago
Sam Blackshear 1e4b4df427 fixing handling of aliasing for frontend tmp vars
8 years ago
Sam Blackshear 6ca990be8c adding tests for manipulating fields
8 years ago
Cristiano Calcagno c613820a98 Convert c tests to the new testing format
8 years ago
Dulma Churchill e18381ab67 Fix compilation problem with buck compilation database and travis
8 years ago
Cristiano Calcagno 0b7ea202db Convert infer c++ tests to new format
8 years ago
Dulma Churchill ab70143e1b Do not analyze in linters mode
8 years ago
Sam Blackshear 8ab9a6c714 remove some commented logging code
8 years ago
Sam Blackshear f2487513c5 adding tests for basic var stuff, casts
8 years ago
Dulma Churchill f6636c6d41 Store the issue file only if there are issues
8 years ago
Dulma Churchill 6c4762b9de Remove compilation warning
8 years ago
Dulma Churchill 13de8a0835 Fix cpp models that got broken by an incorrect refactoring
8 years ago
Josh Berdine 8a85919001 Pass tenv to everywhere that matches on Tstruct
8 years ago
Josh Berdine 2bebd94553 Remove redundant Typ.struct_typ.csu field
8 years ago
Josh Berdine f0940f25d7 Replace optional mangled struct_name with typename
8 years ago
Josh Berdine 90314a4d94 Catch Unix exceptions in DB.create_dir
8 years ago
Dulma Churchill d11b2754a9 New buck integration based on the compilation database emitted by buck
8 years ago
Andrzej Kotulski 49950afe26 export __INFER__ macro when compiling code with infer
8 years ago
Sam Blackshear 3ff6622c9c setup e2e test skeleton
8 years ago
Sam Blackshear 91071af3ad logging errors
8 years ago
Sam Blackshear 50ac3cde41 command-line setup
8 years ago
Cristiano Calcagno 20c33f15c9 Fix flakiness in the analysis when a procedure is defined in more than one file.
8 years ago
Andrzej Kotulski be891e8413 Simplify builtin function detection during translation
8 years ago
Cristiano Calcagno 346d3e6d01 Address capture flakiness when a symbol is multiply defined.
8 years ago
Dulma Churchill 977f73ff5b Add column to json file of issues
8 years ago
Andrzej Kotulski 97fe6275bd Simplify language detection in frontend
8 years ago
Andrzej Kotulski ad325d5047 Drop ti_raw field from clang_ast_t.type_info
8 years ago
Andrzej Kotulski 21ecba2d17 move retain/release special handling to function_deref_trans
8 years ago
Andrzej Kotulski 7461d40024 Clean up special handling of smart pointers in backend
8 years ago
Andrzej Kotulski 2444618943 Translate functions coming from std headers od demand
8 years ago
Josh Berdine 8cacd31f85 Remove unused typedef and enum Typename's
8 years ago
Jules Villard 4fe1615434 give correct type to root exps of array dereferences
8 years ago
Andrzej Kotulski 41e51bc28c Clean up smart pointer header models
8 years ago
Andrzej Kotulski 4637bf877e model unique_ptr<T> as T*
8 years ago
Andrzej Kotulski 13dbaab446 Revert "[C++] Add hack to not use __make_integer_seq in fatal/type/sequence library"
8 years ago
Cristiano Calcagno 257f4976f0 Convert java tracing tests to new direct format.
8 years ago
Cristiano Calcagno 674f30de2c Convert java infer tests to the new direct format
8 years ago
Jules Villard 0caa7e1826 move printing module to its own file
8 years ago
Martino Luca 9e3b3c5d77 Fix C++ tests
8 years ago
Josh Berdine 377d284cf2 Simplify originator detection
8 years ago
Sam Blackshear 15b6a8cdd7 killing a bunch of options by using optional argument types correctly
8 years ago
Martino Luca 80c82c0cae Adapt Infer to the new changes introduced by the upgrade to Clang 4.0
8 years ago
Jules Villard a6bf43a570 replace boolean by named argument in Inteproc.propagate
8 years ago
Cristiano Calcagno 2cb595b8c9 Convert Eradicate and Checkers tests to direct format.
8 years ago
Andrzej Kotulski 4cd9470586 Skip Sil.Call instruction for some shared_ptr method calls
8 years ago
Andrzej Kotulski 2baf3f8456 Replace shared_ptr<T> structs with T* pointers
8 years ago
Sam Blackshear a92543b67c fix needless type extension
8 years ago
Lázaro Clapp Jiménez Labora f2e958ef3a Add support for multiple stacktraces in '-a crashcontext'
8 years ago
Sam Blackshear a31a735e35 separate pretty-printer for pp_kind
8 years ago
Andrzej Kotulski 5d3a15fd9c Fix roots with new names for InferPrint and InferAnalyze
8 years ago
Ryan Rhee e19550a43b Handle l-value refs correctly
8 years ago
Sam Blackshear 36b0a957bd setup for creating very simple absint checkers
8 years ago
Sam Blackshear 89fa74bc9b make @OnBind an alias for @NoAllocation
8 years ago
Sam Blackshear c5088f44a7 adding tests for context leaks via weak reference
8 years ago
Sam Blackshear f64e880c11 java traces
8 years ago
Dulma Churchill 6ad78e7d9c Add case for blocks when building a procname
8 years ago
Cristiano Calcagno a6254f6b73 Extend Inferprint with a command --issues-tests to print issues in a format suitable for tests
8 years ago
Andrzej Kotulski a31c5416b1 Add basic support for starting ocaml repl with infer code
8 years ago
Jules Villard c2ca6a23d5 pass -l to infer.py
8 years ago
Dulma Churchill 9ae19d01d0 Make the is_global_var not fire for the static local variables
8 years ago
Cristiano Calcagno ed8d112e87 Convert Inferprint and Inferanalyze to Reason
8 years ago
Jules Villard 26a6594b90 detect unsigned values inside structured expressions
8 years ago
Martino Luca 7de52e7649 Check early whether the given decl has to be checked with linters or not
8 years ago
Jules Villard e1f19192c0 move --fail-on-issue functionality to OCaml
8 years ago
Cristiano Calcagno 91d9cd83b5 Cleanup instruction names: use Load/Store instead of Letderef/Set.
8 years ago
Cristiano Calcagno c0969da619 Remove unused module CodeQuery.
8 years ago
Sam Blackshear 262a121cf6 handle casts
8 years ago
Sam Blackshear 514107ec88 track sinks
8 years ago
Sam Blackshear f0028669ee propagate tainted sources
8 years ago
Andrzej Kotulski 761579469e Revert "[C++] Move models of smart pointers to custom namespace"
8 years ago
Jules Villard 3f60f54fbf align --help and support -h
8 years ago
Dulma Churchill 07bf714d91 Put current method in context
8 years ago
Jules Villard 2da8940a80 test that running infer deletes the previous infer-out folder
8 years ago
Jules Villard 4e2cc84bcb compile *.java files only
8 years ago
Cristiano Calcagno 6221956149 Apply type resolution to qualify fields and variants in Prop.
8 years ago
Sam Blackshear 3b12208e1b intraprocedural taint analysis that records sources
8 years ago
Jules Villard dda4921786 exit with correct error code when infer.py fails
8 years ago
Sam Blackshear 90c8f55c32 adding missing functionality to analyzerTester
8 years ago
Sam Blackshear e853b01051 taint domain
8 years ago
Sam Blackshear 20584be8f3 mapping of ids to raw access path
8 years ago
Jules Villard 0add05de87 do not print infer.py usage message on wrong arguments
8 years ago
Jules Villard 145cb744f6 do not havoc actuals of skip functions with const parameters
8 years ago
Jules Villard 7603395ee9 qual_type fields are namespaced now
8 years ago
Dulma Churchill b7ec110ea3 Adding new mode linters
8 years ago
Dulma Churchill 3d39fba622 Refactor InferPrint and store the lint issues in a serialized data structure that InferPrint picks up and prints.
8 years ago
Andrzej Kotulski 121c968e77 Move models of smart pointers to custom namespace
8 years ago
Jules Villard 49adf59332 do not crash when setting locale fails
8 years ago
Martino Luca 40b176fd01 Translate global const vars locally to a procedure
8 years ago
Martino Luca 6840efdd1c fix imports in MutableLocalVariableTest
8 years ago
Sam Blackshear c2043af70d functor for creating trace domain
8 years ago
Sam Blackshear 462bf68f46 killing is_bottom
8 years ago
Sam Blackshear f99b30c4cd abstracting passthroughs more aggressively
8 years ago
Lázaro Clapp Jiménez Labora 175efddc2b Make stacktrace and stacktree line number an int option.
8 years ago
Lázaro Clapp Jiménez Labora 616e8fddd4 Make stacktrace parsing work when line number info is not available.
8 years ago
Ryan Rhee e81e43456b Test mutable local variables in CK files
8 years ago
Ryan Rhee 957bdde05e Test that component kit headers skips imported headers
8 years ago
Ryan Rhee a134669f73 Make issues warnings again
8 years ago
Raghavendra Prabhu d9699264e0 Fixes/updates to build on linux.
8 years ago
Ryan Rhee d594a525ac Test that CK rules don't fire in non-component files
8 years ago
Ryan Rhee da771ac5aa Mutable local vars
8 years ago
Ryan Rhee 8a40482fac Detect when in CK
8 years ago
Ryan Rhee 88897addfa Add in_main_file to context
8 years ago
Sam Blackshear 8f5542ed2f functor for creating traces from source and sink specs
8 years ago
Sam Blackshear 36e2175293 trace building blocks: sources and sinks
8 years ago
Andrzej Kotulski 185f6493bc Update fcp with new naming fixes
8 years ago
Martino Luca 3dae9dc4f6 Use Guava's Optional in tests
8 years ago
Ryan Rhee 5a8eb19041 Comment formatting for cFrontend_utils.mli
8 years ago
Ryan Rhee 70d5b604bf Split get_super into get_super_impl and get_super_if
8 years ago
Jules Villard cdce8f9794 better help
8 years ago
Ryan Rhee 894e92d4f3 Fix comment formatting for linter context
8 years ago
Ryan Rhee 3d719a24d9 Matcher w/ explicit error name
8 years ago
Ryan Rhee 6e6a7a8e5a Add is_ck_translation_unit to context
8 years ago
Cristiano Calcagno 66385dd5f4 Refactor module Prop by moving normalization functions into module Normalize.
8 years ago
Ryan Rhee e2ff6e58a5 `buck test componentkit` boilerplate
8 years ago
Cristiano Calcagno b48ec1ac93 Clean up API to access components of propositions.
8 years ago
Cristiano Calcagno 89270c558c Add module Core in Prop to make transitions between exposed and normalized explicit.
8 years ago
Sam Blackshear 034d2e3c81 adding accessTree.fold
8 years ago
Jules Villard 3b3f587652 update fcp to have qualifiers in ValueDecl types
8 years ago
Ryan Rhee 4a6202c772 Move get_super to utils
8 years ago
Josh Berdine a9a38f20ec Simplify normalization in Attribute.remove
8 years ago
Josh Berdine 3896b10265 Move Prop.Attribute to toplevel
8 years ago
Josh Berdine 60496f2ae4 Minor cleanup of Prop.Attributes interface
8 years ago
Josh Berdine 4053d24bed Refactor Prop ops on attributes into sub-module
8 years ago
Martino Luca b7d70ff178 Add support for extra cases of BAD_POINTER_COMPARISON warning
8 years ago
Josh Berdine 6555a84409 Make warning 23 (Useless record with clause) fatal
8 years ago
Josh Berdine c147ab4197 Refactor Sil.attribute and associates to PredSymb
8 years ago
Josh Berdine 25a52c7bbc Refactor operations on Exp.t in Sil to Exp
8 years ago
Josh Berdine 8a90190309 Remove dead Sil.binop_invert
8 years ago
Josh Berdine f9ca08a9a8 Refactor Exp.t-keyed collections from Sil to Exp
8 years ago
Josh Berdine d60965824e Refactor exp_equal and exp_compare to Exp
8 years ago
Josh Berdine 701eb20f83 Refactor Sil.exp to Exp.t
8 years ago
Josh Berdine 6ffe204252 Make Aobjc_null attribute a binary predicate
8 years ago
Josh Berdine 4185bda8ba Generalize predicates from unary to nary
8 years ago
Josh Berdine b6544eace7 Remove redundant normalization
8 years ago
Josh Berdine c2f62f3a97 Remove tuple type redundant with atom
8 years ago
Josh Berdine a8ce65b221 Encode polarity of predicates into atom tag
8 years ago
Josh Berdine b09b28f10f Add negated attributes, with 2-valued semantics
8 years ago
Josh Berdine 71a15b2388 Represent attributes with atoms, not disequalities
8 years ago
Martino Luca e3132152cb Check for the presence of removeObserver into class hierarchy
8 years ago
Lázaro Clapp Jiménez Labora d23c99a4ea Add blame_range to crashcontext analysis.
8 years ago
Sam Blackshear 8ff9f2afab making get_reachable_hpreds understand inductive predicates
8 years ago
Vaibhav Tulsyan dba179845b Minor typo fix
8 years ago
Josh Berdine 06cbdfa651 Cosmetic changes to improve Reason conversion
8 years ago
Josh Berdine fe780cb6ff Move comments to improve attachment
8 years ago
Josh Berdine 32146523ca Enable warning: Unexpected documentation comment
8 years ago
Ryan Rhee d2a4028881 Call decl checkers on DeclStmt statements
8 years ago
Lázaro Clapp Jiménez Labora 7c3110b76f Extract stacktrace.ml regexp constructors to module level.
8 years ago
Lázaro Clapp Jiménez Labora 751d027f8d Remove 'open Jsonbug_t' scope clutter.
8 years ago
Lázaro Clapp Jiménez Labora 85add041d4 CI Tests for crashcontext handling of native methods
8 years ago
Lázaro Clapp Jiménez Labora 5296688c1f Match classname for stackframes in crashcontext checker.
8 years ago
Lázaro Clapp Jiménez Labora 0a8b95a856 Crashcontext ocaml method summary merging
8 years ago
Lázaro Clapp Jiménez Labora d5848d8c94 Add parsing of native methods on the stacktrace.
8 years ago
Lázaro Clapp Jiménez Labora 58d008a026 Add Stacktree ATD type for serializing/decerializing crashcontext results.
8 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.
8 years ago
Josh Berdine 3064caacdb Remove stale Autounit module
8 years ago
Martino Luca bed9b31c62 Add general context to linters framework to implement smarter checks
8 years ago
Jules Villard aee1eeba3d restore --pmd-xml functionality
8 years ago
Martino Luca f64be4596b Implement containsOnlyLines matcher for tests
8 years ago
Zac Sweers aed5e6bee8 Support butter knife 8's BindView annotation
8 years ago
Sam Blackshear 0a747b8eb2 fixing some of the issues with passing classpath in a file
8 years ago
Sam Blackshear 3233666b11 extract callsite to its own module
8 years ago
Sam Blackshear ed9495a893 delete unused class-to-source mapper processor
8 years ago
Dulma Churchill 8d279748fa Adding a key to the lint issues
8 years ago
Martino Luca da2717ff2a Migrate BAD_POINTER_COMPARISON check from backend to linters infra
8 years ago
Martino Luca adb0ef8a78 Alphabetize CIssue
8 years ago
Dulma Churchill ff597a6c03 Model init method in NSData and understand the field bytes
8 years ago
Sam Blackshear 4490d9b033 fix recognition of inner class this guarded-by strings
8 years ago
Dulma Churchill fa8ae3e5e9 In the new framework where we go through every declaration we don't need a special case for properties anymore
8 years ago
Daiva Naudziuniene ac9cabe677 Fixing Memory leak false positives in C++/ObjC
8 years ago
Lázaro Clapp Jiménez Labora 9a79e74380 Crashbot results stitching and end-to-end testing.
8 years ago
Sam Blackshear 33b417c280 generalizing `add_trace` to `add_node`
8 years ago
Sam Blackshear 706acdfd9e generalizing get_trace to get_node
8 years ago
Sam Blackshear b500a5c4b5 don't warn in cases where GuardedBy string is clearly unrecognizable
8 years ago
Sam Blackshear e9aecd0afe widen for access trees
8 years ago
Jules Villard 01ffc387bb resolve symlinks recursively until the real infer executable is found
8 years ago
Lázaro Clapp Jiménez Labora 76764c148a Output the callee sumaries of -a crashcontext to per-method files.
8 years ago
Lázaro Clapp Jiménez Labora cbd1b9c7ba Refactor common code on multiple methods of InferRestults
8 years ago
Sam Blackshear 6a1a0d68da create access paths from expressions
8 years ago
Jules Villard 10f10a90c6 diverge on `throw`
8 years ago
Jules Villard fb7aed07c6 typo and whitespace cleanup in cFrontend_config
8 years ago
Lázaro Clapp Jiménez Labora 6469a6c37b Implement '-a crashcontext' and '-st trace' options to invoke BoundedCallTree.ml from the command line.
8 years ago
Dulma Churchill 7fd1149f85 Add NPE check for weak variables captured in blocks
9 years ago
Andrzej Kotulski 0aa5101a05 Replace space with _ in type names
9 years ago
Andrzej Kotulski 5ed50f5a97 Keep more precise information in constructor's var_exp_typ
9 years ago
Dulma Churchill 102f61e2a7 Move a few missing tests to the new location
9 years ago
Andrzej Kotulski ed3470c30e unify handling of many special cases in callExpr_trans
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
Jules Villard 354e4c0391 fail when clang -### <args> returns nothing
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 e95ebca786 factoring out some utility methods for testing access-based stuff
9 years ago
Lázaro Clapp Jiménez Labora 9f7cb87bb0 Add stacktrace extras to BoundedCallTree checker.
9 years ago
Sam Blackshear 0ca19da3cf allowing custom procname in analyzerTester
9 years ago
Sam Blackshear a33e047377 allow access path base to be an ident as well
9 years ago
Lázaro Clapp Jiménez Labora d4a9a6cde1 Add initial stack trace parsing code for semantic blame
9 years ago
Sam Blackshear d6149c7741 switching to by-ref semantics
9 years ago
Jules Villard ba75de4b79 skip gcc-specific flag -fno-canonical-system-headers
9 years ago
Martino Luca f0fffd3c59 Add `dotty` field constant
9 years ago
Martino Luca 062ec6c872 Translate VAArgExpr
9 years ago
Martino Luca 4ba864780e Translate OffsetOfExpr
9 years ago
Andrzej Kotulski f40033fc5f Update fcp
9 years ago
Dulma Churchill 62da495510 Start transitioning logging of frontend bugs into a map of errlogs rather than in procdescs
9 years ago
Andrzej Kotulski b8044c6b65 Use mangled names instead of function type for mangling
9 years ago
Sam Blackshear d946a7bc33 fix ugly printing of NONE idents
9 years ago
Sam Blackshear 27fa745cee using more general version of join_all_traces
9 years ago
Sam Blackshear 16b31acfc9 add_trace function for access tree + tests
9 years ago
Andrzej Kotulski e61b6fe719 Use pointers to decls instead of class names when creating a type
9 years ago
Lázaro Clapp Jiménez Labora b9a5a3b5ad Add initial version (k=1, undirected) of the bounder calltree analysis checker for the Semantic Blame project
9 years ago
Sam Blackshear e94fc21410 deleting stacktrace
9 years ago
Dulma Churchill 8b0b485921 Refactoring of tests, separating the tests for linters
9 years ago
Dulma Churchill 41d93dd889 Model numberWithUnsignedInteger, skipping it was creating a false positive NPE
9 years ago
Andrzej Kotulski 118295e03c Fix C++ models of c library
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 b9384aab2e Make the toplevel aware of the new error kind advice
9 years ago
Dulma Churchill 694ded4795 Make the description of issues specify the error kind
9 years ago
Sam Blackshear 09e45710d3 join for access trees and tests
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 54403206fd Eliminate unnecessary recursion for strexp type
9 years ago
Josh Berdine e62bfb44a3 Eliminate unnecessary recursion for dexp type
9 years ago
Josh Berdine fba137e9ef Eliminate unnecessary recursion for const type
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 b2c422827a adding <=, tests to access tree domain
9 years ago
Sam Blackshear 05505b55fd beginnings of access tree domain, tests
9 years ago
Sam Blackshear 15534be574 eliminate tmp vars in resource leak error message
9 years ago
Andrzej Kotulski f313cf2a82 Add hack to not use __make_integer_seq in fatal/type/sequence library
9 years ago
Dulma Churchill 0253608fab Separate the flow of the frontend checks form the translation
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
Dulma Churchill bcb1422a9a Implement direct atomic var check with the new ivar to property map
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
Andrzej Kotulski 9cda4ca6bf Add models of shared_ptr comparison operators
9 years ago
Andrzej Kotulski 046654a9c0 Fix translation of unary operator! for all integral types
9 years ago
Josh Berdine 061bb2d799 Change length of Dsizeof from an exp to a dexp
9 years ago
Dulma Churchill 6ac4db7113 Change the check CXX_REFERENCE_CAPTURED_IN_OBJC_BLOCK to use only the clang ast
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
Sam Blackshear 314d022e38 add abstraction of access path, use in access path set domain
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 006bd06adb add concept of a dummy identifier
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
Jules Villard 959730de2f modify API to be able to hook extra infer options easily
9 years ago
Carlos Sierra 92801ba1c9 Invoke javac through argument file to avoid too long argument list
9 years ago
Martino Luca 120892d7dd Pass Infer configs to cross-cell buck targets
9 years ago
Sam Blackshear aa76d51e14 adding @OkToExtend annotation
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
Andrzej Kotulski 9b07a3e762 Never call destructor on delete expression
9 years ago