2693 Commits (2dbde13335ecf4c2d2c4449f2b335f57d36eca36)

Author SHA1 Message Date
Sam Blackshear c5d7762f60 [access trees] expose join of nodes and fold over nodes
8 years ago
Martino Luca a7b947f971 Add support to format reports natively
8 years ago
Jeremy Dubreil e3e0078272 [infer][ondemand] use the result of `Ondemand.analyze_proc_name` in `Summary.read_summary`
8 years ago
Andrzej Kotulski 86534cd97f [IR] Remove Typename.re(i)
8 years ago
Dulma Churchill 565ce2166d [ios] Translate nonnull annotations and take them into account in parameter not null checked issues.
8 years ago
Andrzej Kotulski c695616eff [Makefile][C++] Run c++ tests with native libs
8 years ago
Jeremy Dubreil 74fcd143d5 [infer][java] set the buck client id to infer
8 years ago
Andrzej Kotulski 42947ea9d9 [IR] Make template info part of Typename.t, rename Typename to Typ.Name
8 years ago
Peter O'Hearn 089600bdcd [threadsafety] unsynched reading from main thread
8 years ago
Cristiano Calcagno 434cfbfb15 [eradicate] Add support for new annotation @PropagatesNullable
8 years ago
Sam Blackshear 69fe80346c [quandary][perf] Always use the location of the pdesc in footprint sources
8 years ago
Sam Blackshear 779ec1f0ad [thread-safety] give full traces for read/write races
8 years ago
Sam Blackshear 9066e5bd08 [thread-safety] account for ownership via reflective allocation
8 years ago
Peter O'Hearn e023dddba2 [threadsafety] Races and non-races involving assertMainThread().
8 years ago
Sam Blackshear 9e293eaa64 [thread-safety] add choice variables to support partial path-sensitivity
8 years ago
Jeremy Dubreil 12adbb372a [infer][java] No longer create the file `analysis_summary.txt`
8 years ago
Andrzej Kotulski 9d64ea23ff [procname] Change type Procname.c to store record instead of tuple
8 years ago
Jules Villard 0b4f4953a5 [build] move to ctypes stubs
8 years ago
Jules Villard 0548b7bd5e [buck-db] add flavour more robustly
8 years ago
Kihong Heo 89a28d4dcc [infer][PR] handle an uncaught exception when converting too large integers to intervals
8 years ago
Matthew Haughton 2e1fe6836a [infer][PR] display additional options in help text
8 years ago
Dino Distefano df543b900b Making easier to specify subclassing
8 years ago
Jeremy Dubreil 4a62c44a3e [infer][ondemand] remove the call to `Specs.get_summary_unsafe` for the Fragement Retains View checker
8 years ago
Jeremy Dubreil c5b30b4c05 [infer][backend] remove the perf stats from the summaries
8 years ago
Jeremy Dubreil 047bb6796a [infer][threadsafety] Run ThreadSafety as part of the checkers
8 years ago
Jeremy Dubreil 30ae60461e [infer][backend] Fail when no callback is registered to run the analysis on-demand
8 years ago
Jeremy Dubreil e23b04180e [infer][ondemand] run all the registered checkers in sequence
8 years ago
Jeremy Dubreil 34106a2056 [infer][java] no longer generate the itermediate report.csv for Java Buck projects
8 years ago
Jules Villard 7d02d59540 Revert "[infer][java] add an option to disable the creation of the human readable list of issues found"
8 years ago
Sam Blackshear 60dac45461 [quandary] don't call read_summary on the current procedure while creating a trace
8 years ago
Dulma Churchill fca8322c1f [linters] Save the linters definition file in the report.json
8 years ago
Jules Villard fe51f08ae9 [UI] only colorize the top 10 reports, do not compile report lists within Buck
8 years ago
Jules Villard 1a8e99963c [build] delete tp/fts
8 years ago
Cristiano Calcagno 5c9b61877a [Eradicate] Code cleanup and add test cases
8 years ago
Peter O'Hearn 5062ac3173 [thread-safety] Model assertManThread and assertHoldsLock
8 years ago
Jules Villard dac8906d86 [make] make sure makefile uses config-time values
8 years ago
Andrzej Kotulski 8d5be14e9c [backend] Escape URLs to fix html output
8 years ago
Jeremy Dubreil 3e6ff023a7 [infer][ondemand] skeleton code to have every checker update their respective payload in the analysis summary
8 years ago
Martino Luca 5448a95ce7 [Infer][Localise] Group all issue types in one place, and provide their human-readable representation
8 years ago
Andrzej Kotulski 24b56de0e9 Populate mangled file only if it's not empty
8 years ago
Andrzej Kotulski 6a02568982 [clang] Change procname file naming scheme
8 years ago
Jules Villard dba740632c [cli] deprecate multiletter short options
8 years ago
Martino Luca 8ab1adf40d Better help message for `filter-report-paths` argument
8 years ago
Sam Blackshear 56b057acb8 [thread-safety] assume formals of DI constructors are owned
8 years ago
Peter O'Hearn 11937cb076 [infer][threadsafety] model tryLock() for java.util.concurrent.locks.Lock
8 years ago
Daniel Wagner-Hall 8397924886 Mark javax.tools.JavaFileObject#getNestingKind as nullable
8 years ago
Cristiano Calcagno d53160dee7 [backend][serialization] Fix flushing of temp file in serialization write
8 years ago
Cristiano Calcagno ec6a3cf6bb [backend] Add support for command-line option --per-procedure-parallelism
8 years ago
Andrzej Kotulski f4c424b4cc [clang frontend] Cleanup CAst_utils
8 years ago
Martino Luca 6e84a4b3cb Add `--filter-report-paths` argument to restrict results to a given list of paths
8 years ago
Andrzej Kotulski 6c67c850d5 [clang capture] Don't attach plugin when clang is invoked in preprocessor mode
8 years ago
Daniel Wagner-Hall 6c1339d044 Mark JavaFileObject#getAccessLevel as nullable
8 years ago
Andrzej Kotulski 41c9b05b47 [clang frontend] assert false on param mismatch
8 years ago
Dino Distefano 43f3a33c0c [infer][AL-DSL] Added predicates to query method calls of a certain class (Real Version).
8 years ago
Cristiano Calcagno 125fe4f21a [backend] Fix read-write race in serialization, using lock + rename.
8 years ago
Jeremy Dubreil 8bd8d5093c [infer][java] add an option to disable the creation of the human readable list of issues found
8 years ago
Dulma Churchill cdd58da8b1 [linters] Save the linters file in the linter definition
8 years ago
Andrzej Kotulski 06ac72c311 [clang] Pass template instantiation info to procnames in clang
8 years ago
Andrzej Kotulski 925d73efce [clang] Add template instantiation info into Procname.t
8 years ago
Andrzej Kotulski 95a8ca2d3e [tests] Run build system tests with --no-failures-allowed
8 years ago
Peter O'Hearn 2cf3bfeea1 [infer][threadsafety] Stop Unprotected Write and Read/Write races from being reported on the same line
8 years ago
Sam Blackshear bd5eb3c5cf [quandary] don't allow projection of non-footprint idents
8 years ago
Sam Blackshear 0f74016ef5 [thread-safety] add callee write as protected-if if it's conditionally owned in caller
8 years ago
Sam Blackshear b8ff597f7e [thread-safety] unify reads and writes into accesses
8 years ago
Andrzej Kotulski 8168d07240 [backend] Print timeout information into stdout in debug mode
8 years ago
Andrzej Kotulski e363958d34 [codemod] Move `Procname` into `Typ.Procname`
8 years ago
Jules Villard 6125632af3 [subcommands] read subcommand args from .inferconfig and the env
8 years ago
Dulma Churchill 6f25eefc1d [linters] Make the syntax error message more prominent
8 years ago
Andrzej Kotulski e08d9341c8 [clang] Run direct tests with --no-failures-allowed flag
8 years ago
Andrzej Kotulski 55b18df306 [clang] Make translation failures crash InferClang when --no-failures-allowed is set
8 years ago
Andrzej Kotulski 4b620316d3 Update fcp
8 years ago
Andrzej Kotulski 104acee99d [Sil] Create Typename.Obj/Cpp modules with constructors
8 years ago
Jeremy Dubreil cb57578c74 [infer][ondemand] Run the Thread-Safety checker in two phases, first analyze all the procedure on-demand using a procedure callback, and then combine all the analysis results using a cluster callback
8 years ago
Jeremy Dubreil fba8c256d0 [infer][java] When calling InferPrint, only consider the specs file in the local results directory
8 years ago
Andrzej Kotulski 1a9b81c0f4 [clang] Store Typename.t in Procname.ObjC_Cpp.class
8 years ago
Dulma Churchill 674cfe4c83 [linters] Create a linters developers mode
8 years ago
Cristiano Calcagno 5aa714b237 [Eradicate] Improve detection of circularities in field initialization
8 years ago
Jules Villard f30a26f02c [refmt] wrap refmt into scripts/refmt.sh
8 years ago
Jules Villard a8ba910c69 [subcommands] support --help in subcommands
8 years ago
Andrzej Kotulski b52a17eb75 [objc] Remove class information from CContext
8 years ago
Sam Blackshear 0675e88571 [annotations] pom.xml for releasing infer annotations via maven
8 years ago
Andrzej Kotulski ef79b20e17 [clang] Inline namespaces disappear, simplify infer's code
8 years ago
Sam Blackshear 5134ea36ed [thread-safety] enable defining aliases of @ThreadSafe in .inferconfig
8 years ago
Sam Blackshear 1ef7c253b2 [thread-safety] report on protected write/unprotected read races
8 years ago
Sam Blackshear ea8826599f [thread-safety] track protected writes
8 years ago
Jeremy Dubreil 08980b57e5 [infer][ondemand] make the Procname API more robust by using Typename.t for the class name part of a method name
8 years ago
Dulma Churchill 612e501dfc [ios] Model NSData initWithBytesNoCopy:data length:dataLength
8 years ago
Martino Luca f8a65e698c Add differential and filtering functionalities to Infer, to compare two analyses
8 years ago
Andrzej Kotulski bc852ec0d1 [Typ] Add instantiation types to StructTyp.t
8 years ago
Sam Blackshear d64480cf72 [thread-safety] expose procedure-level callback to assist refactoring of ondemand
8 years ago
Sam Blackshear 5890007f8e [thread-safety] AccessDomain for better tracking of writes
8 years ago
Jules Villard ee9a2aa38c [python] more UTF-8 fun
8 years ago
Ben Hudson 2c2626359c [infer][PR] couple more typos
8 years ago
Cristiano Calcagno 1a3fcd44a1 Fix implementation of touch_start_file
8 years ago
Jeremy Dubreil 13e199a4ca [infer][ondemand] no need to pass the procedure name to save a summary
8 years ago
Jeremy Dubreil 6c14647eae [infer][ondemand] remove unused `Idenv.create_from_idenv` function
8 years ago
Dulma Churchill 15a0662149 [clang] Adding annotations for ObjC instance variables
8 years ago
Sam Blackshear c9bd0dae24 [annotations] allow custom ThreadSafe annotation to be applied to constructors
8 years ago
Dulma Churchill f549d58625 [ios] Capture the signature of getters and setters from headers.
8 years ago
Dulma Churchill 60f732bf7e [clang] Refactor annotation generation to a separate place
8 years ago
Ben Hudson 090ec908b8 [infer][PR] small typo fix
8 years ago
Jules Villard 6e1b83a204 [clang] add clang models to `CLANG_DEPS`
8 years ago
Jeremy Dubreil 9229d1be67 [infer][ondemand] change the type of analyze_ondemand to return the analysis summary
8 years ago
Peter O'Hearn f7f30045cb [infer][threadsafety] Dedup, chapter 2.
8 years ago
Dulma Churchill 01c1d9f112 [linters] Remove new lines from linters messages
8 years ago
Martino Luca 3eecb243e6 Customize tests output via InferPrint's command-line
8 years ago
Juergen Hoetzel fbaa1988b3 [infer][PR] [mvn] Handle recursive modules
8 years ago
Cristiano Calcagno 9147e071f3 Serialization: lock files before writing
8 years ago
Jeremy Dubreil 3352ed0a6b [infer][backend] remove the call stats from the summary
8 years ago
Jeremy Dubreil 9c52e8ee68 [infer][backend] remove the concept of timestamp in summaries and use the summary status instead
8 years ago
Jeremy Dubreil b63a656dc4 [infer][tests] cleanup of the Cursor NPE test file
8 years ago
Andrzej Kotulski 171083fbba [clang] Move mk_procname_ functions to separate module
8 years ago
Dulma Churchill 04d96cb84b [ios] Remove methods from the tenv as they are not used in the backend
8 years ago
Josh Berdine 95725e4dd0 Refactor StructTyp to Typ.Struct
8 years ago
Andrzej Kotulski f5bb35e245 [C++] Don't put c++ methods into type environment
8 years ago
Sam Blackshear 69df171632 [thread-safety] unify @AssumeThreadSafe and @ThreadSafeMethod into @ThreadSafe(enableChecks = ...)
8 years ago
Sam Blackshear e657d19194 [java frontend] translate boolean annotation parameters
8 years ago
Jeremy Dubreil 7a3fd229cd [infer][ondemand] Also store the summary to disk when the on-demand analysis raises an exception
8 years ago
Cristiano Calcagno 6d6d6f6efa [backend] Cleanup Serialization module
8 years ago
Jules Villard 9c61a4a035 Revert "[infer][tests] use Buck target output instead of hard copies of the paths under buck-out"
8 years ago
Peter O'Hearn 1580e5b3bb [infer][thread-safety] Better error message for container writes
8 years ago
Jeremy Dubreil d4af8f756a [infer][backend] Write the summary to disk in the checkers framework
8 years ago
Jeremy Dubreil 7c85306e2f [infer][backend] remove duplicate function to store summaries to disk
8 years ago
Sam Blackshear acd9e3246f [cleanup] adding missing mlis for checkers
8 years ago
Cristiano Calcagno 9a06a859e2 Deprecate IList part 3.
8 years ago
Jeremy Dubreil 14862d0aca [infer][ondemand] remove redundant check for already analyzed procedures
8 years ago
Cristiano Calcagno b1b5460529 Deprecate further IList functions
8 years ago
Dulma Churchill 461bd691ce [clang] Translate nullable annotations of return types of methods
8 years ago
Ryan Rhee 91aad00e3c [GraphQL] Detect deprecated API usage
8 years ago
Andrzej Kotulski c7abd82d44 [clang] Translate structs on demand
8 years ago
Cristiano Calcagno 41c5be9bad Deprecate more IList functions
8 years ago
Dulma Churchill 02ff6589ae [debug] Adding a method for prnting captured method signatures and add the list to the logs
8 years ago
Peter O'Hearn c080cbb60f [threadsafety] De-duplicate the reports
8 years ago
Sam Blackshear 040140ba52 [thread-safety] model SynchronizedPool.acquire as acquiring ownership
8 years ago
Peter O'Hearn df154b4135 [threadsafety] read/write races
8 years ago
Andrzej Kotulski 957b67fa87 [clang] Update fcp plugin
8 years ago
Jeremy Dubreil 0df765abfb [infer][ondemand] remove redundancy when storing summaries to disk
8 years ago
Sam Blackshear 8629ee5381 [cleanup] make PatternMatch.override_exists check the current procname too
8 years ago
Sam Blackshear 5c2ee8d85f [thread-safety] model ThreadLocal.get() as acquiring ownership
8 years ago
Sam Blackshear 23150c8490 [thread-safety] use untyped access path maps/sets in thread-safety analysis
8 years ago
Cristiano Calcagno 731dead406 More IList deprecation: fold functions
8 years ago
Jules Villard a79096efa8 [siof] generic model of std::ios_base::Init that prevents SIOF
8 years ago
Jules Villard f1698f3816 [clang] reimplement fuzzy matching of list of qualifiers
8 years ago
Jules Villard 7e1f1f9101 [test] make tests pass in clang-only or java-only mode
8 years ago
Jules Villard 7260d5b763 [make] make some targets depend on the Makefiles
8 years ago
Jules Villard 6513fbf2ea [tooling] fix capitalization of oUnit in .merlin
8 years ago
Dulma Churchill d81b1644de [ios] Enable npes for self in initializers
8 years ago
Jules Villard a469e97987 [siof] add --siof-safe-methods whitelisting option
8 years ago
Dulma Churchill 6c82e82444 [linters] Fix one more unavailable api false positive
8 years ago
Jules Villard a8be4f1f4f [clang] options rename: --compilation-database -> --buck-compilation-database, --clang-compilation-db-files -> --compilation-database
8 years ago
Jules Villard 528f05430b [clang] rename --skip-clang-analysis-in-path to --skip-analysis-in-path
8 years ago
Jules Villard a328455cdc [clang models] make sure `make` compiles all source files when we retry infer to show errors
8 years ago
Dulma Churchill e7fc96148a [ios] Fix xcodebuild integration with xcpretty, add test.
8 years ago
Jeremy Dubreil 279f50eac6 [infer][backend] make the on-demand analysis function return a summary
8 years ago
Sam Blackshear ae0df5dc57 [access paths] kill type of field access and replace with utility functions for recovering type
8 years ago
Dulma Churchill 6188f1c7a5 [annotations] Print annotations in the dotty file
8 years ago
Jeremy Dubreil db285f976c [infer][java] avoid redundant calls to the function procedure_should_be_analyzed for Infer.SL
8 years ago
Andrzej Kotulski d19e4eaf86 [debug html] Escape type names in html output
8 years ago
Jules Villard f796ba6bb8 [driver] crash early if infer was not compiled for the requested build mode
8 years ago
Jules Villard 451adc7949 [build] fix ./build-infer clang
8 years ago
Jeremy Dubreil 8948b08bf2 [infer][backend] The dependency map with the list of children is no longer used by the ondemand analysis
8 years ago
Jeremy Dubreil 4ed185e557 [infer][java] for the buck integration, remove the files that are invalidating the Buck cache
8 years ago
Jeremy Dubreil 19022144ad [infer] remove the code computing the list of top procedures
8 years ago
Sam Blackshear b229b39a1b [thread-safety] Add @ReturnsOwnership annotation for methods and handle it in the thread-safety analysis
8 years ago
Nikita Anisimov 096ee4e2a8 [infer][PR] Added 'delegates' string to exclusions in STRONG_DELEGATE_CHECK
8 years ago
Jules Villard cfd3770a8b [clangdb] support shell-escaped compilation databases
8 years ago
Jules Villard 08aad39050 [clangdb] support relative paths in compilation databases
8 years ago
Jules Villard e4bb0fd179 [clang] pass -Wno-ignored-optimization-argument to clang
8 years ago
Dulma Churchill 3fb6e4dea7 [tests] Fixing the renaming issue with the lint tests
8 years ago
Sam Blackshear 919b35f50a [quandary] better taint propagation for Intent's
8 years ago
Sam Blackshear e15121c928 [thread-safety] model DI via Provider.get as acquiring ownership
8 years ago
Sam Blackshear 5cdee51ed5 [checkers] allow custom sources and sinks in annotation reachability
8 years ago
Sam Blackshear 61e4e6e1ed [thread-safety] propagate attributes across binary/unary expressions
8 years ago
Jules Villard 105b8f83d3 [tests] disregard traces in Java harness test
8 years ago
Sam Blackshear f085023aff [thread-safety] model certain methods of Resources as @Functional
8 years ago
Sam Blackshear 4f33ecef1e [thread-safety] treat generated GraphQL constructors as returning ownership
8 years ago
Sam Blackshear b8f9c774f3 [thread-safety] support conditional writes to containers
8 years ago
Cristiano Calcagno 60916922c6 Deprecate more IList functions and use Core List instead
8 years ago
Jeremy Dubreil 61b49553b5 [infer][java] Add @SuppressLint as part of the Infer annotations
8 years ago
Jeremy Dubreil 1065be3286 [infer][java] Simplify some of the models of Java resources [4/n]
8 years ago
Jeremy Dubreil 2ded1d7a0c [infer][java] Simplify some of the models of Java resources [3/n]
8 years ago
Jeremy Dubreil 266686457a [infer][java] Simplify some of the models of Java resources [2/n]
8 years ago
Jeremy Dubreil ecfb00e068 [infer][java] Always consider the close() method to be potentially closing a resource
8 years ago
Jules Villard 3f3b0e5fe1 [help] update help sections
8 years ago
Dulma Churchill 9ac65a7b1d [linters] Take current os version into account in the unavailable api check
8 years ago
Jules Villard 55ceb64ba6 [make] only build inferunit for bytecode mode
8 years ago
Jeremy Dubreil 574d640af0 [infer][java] Simplify some of the models of Java resources [1/n]
8 years ago
Sam Blackshear c67de3e827 [thread-safety] add string parameter to @ThreadConfined
8 years ago
Sam Blackshear a3e3fdb781 [quandary] fix bug in summary application
8 years ago
Dulma Churchill dbcb871988 [linters] Add extra case of respondsToSelector block
8 years ago
Sam Blackshear ae03acb71b [quandary] reduce max_calls to 3
8 years ago
Jeremy Dubreil 0139ca211b [infer][java] Add an example of dynamic dispatch handling on fields
8 years ago
Jeremy Dubreil c57323d67b [infer][tests] The java tests should depend on the Java models
8 years ago
Sam Blackshear c4fbf4e3fb [thread-safety] propagate attributes across casts
8 years ago
Sam Blackshear 42188eb105 [thread-safety] add understanding of conditional ownership
8 years ago
Sam Blackshear dc9892eef5 [thread-safety] use map of access paths to attributes rather than multiple sets of access paths
8 years ago
Sam Blackshear a3cffa7116 [absint] add inverted map domain
8 years ago
Jeremy Dubreil bf17932812 [infer][java] remove the no-op model for Cursor.close()
8 years ago
Jeremy Dubreil 578baf319b [infer][java] remove the concept of @Strict for Eradicate
8 years ago
Jeremy Dubreil 13cdff1532 [infer][java] Dynamic dispatch: fix wrong level of indirection on pointers when specialzing methods
8 years ago