2867 Commits (c0e20e0880fe69e65ffbeaca8539d4ad67700eba)

Author SHA1 Message Date
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
Jeremy Dubreil fd8e135994 [infer][java] modeling methods as returning an undefined value is not necessary
8 years ago
Sam Blackshear a4efc7bba7 [cleanup] Simplify PrettyPrintable.Make functors
8 years ago
Jeremy Dubreil c902068c4f [infer][java] cleanup of the java.lang.Process model
8 years ago
Jeremy Dubreil abdb238599 [infer][java] disable the Eradicate model for Context.getSystemService(..)
8 years ago
Sam Blackshear 4627bb6f48 [absint] simplify `AbstractInterpreter.Make` functor by hiding `Scheduler` parameter
8 years ago
Dino Distefano fb14d31bb7 Making signature of predicates uniform
8 years ago
Cristiano Calcagno 319e3ed271 [Eradicate] Change Eradicate's join to forget values not present on both paths
8 years ago
Sam Blackshear 9ed282b28b [thread-safety] handle constructors by understanding that a constructor owns `this`
8 years ago
Dulma Churchill acce173eb8 [Linters] Move unavailable api check to the linters rule file
8 years ago
Jeremy Dubreil a416b7c90d [infer][java] Add a model for Process.destroyForcibly()
8 years ago
Jeremy Dubreil 79c7a54b2f [infer][java] Add special configuration to run Infer as an external compiler
8 years ago
Sam Blackshear 0e77e36235 [thread-safety] propagate @Functional attribute across boxing of primitive types
8 years ago
Sam Blackshear 6338997cf5 [quandary] don't clobber existing taint on receiver when propagating taint from unknown call
8 years ago
Sam Blackshear d41b500659 [thread-safety] treat constants as owned
8 years ago
Sam Blackshear 5c2fcd02bd [cleanup] move annotated_signature into its own module inside eradicate
8 years ago
Jules Villard 93f33d07b8 [cli] do not export the contents of .inferconfig to INFER_ARGS
8 years ago
Jules Villard 4584bf9a4c move CLOpt.exe to Config and restrict its API, remove Interactive fake exe
8 years ago
Jules Villard 744edc10ec add support for subcommands not after --
8 years ago
Jules Villard 6faccb1490 [utils] catch exceptions in epilogues to allow all of them to run
8 years ago
Andrzej Kotulski 87364bf8f6 [C++ models] Fix compilation errors with make_shared/unique
8 years ago
Andrzej Kotulski 40c84077d9 [C++] Fix model of std::vector
8 years ago
Cristiano Calcagno 5c12d98d37 Deprecate IList module in favour of Core List
8 years ago
Jeremy Dubreil c2b967d27b [infer] Dynamic dispatch: use the OCaml type system to implement the invariant that the method specialization should only happen on object types
8 years ago
Sam Blackshear 6c0c3b44b4 [annotations] make override_exists recursive
8 years ago
Jeremy Dubreil c047819ab3 [infer] rename Mangled.Set and add Mangled.Map
8 years ago
Sam Blackshear 38a336694a [quandary] improve taint propagation for unknown calls
8 years ago
Dulma Churchill ffd82c01a7 [clang] Fail when compilations fails in the capture, linters mode
8 years ago
Sam Blackshear f6e8bf0f3f [thread-safety] don't warn on external accesses to fields of ThreadConfined classes
8 years ago
Kihong Heo cef2f0e055 Inferbo
8 years ago
Jeremy Dubreil c5e962e231 [infer][test] The buck integration BUCK file for the integration test was refering to a file built by make
8 years ago
Jeremy Dubreil 4e02b3c525 [infer][tests] rescue ghost file for Cursor NPE test
8 years ago
Jeremy Dubreil eab0c19c65 [infer][java] Force the option --deep when running Infer on Java Buck projects
8 years ago
Sam Blackshear 2800c84972 [checkers] don't do expensive access path equality check unless debugging
8 years ago
Jeremy Dubreil b6fae5cd46 [infer][eradicate] Consider junit.framework.TestCase.setUp as an initializer
8 years ago
Jeremy Dubreil 90f4c83ef2 [infer][java] Add some more test cases for dynamic dispatch
8 years ago
Andrzej Kotulski f697739b21 [C++ translation] Use correct type when generating dereference
8 years ago
Dulma Churchill 269ea5ffe5 [linters] Take into account the respondsToSelector block in the unavailable api check
8 years ago
Sam Blackshear d84a6b854f [quandary] log instead of failing hard when specified source has no return value
8 years ago
Sam Blackshear f9280b682f [thread-safety] don't warn on accesses to fields assigned to @Functional calls
8 years ago
Sam Blackshear 70df06a596 [thread-safety] don't consider VisibleForTesting methods as public
8 years ago
Sam Blackshear d0f4e8771b [cleanup] generalize PatternMatch.iter_overrides to override_exists
8 years ago
Sam Blackshear 50c73e517b [cleanup] adding Annotations.pname_has_return_annot function
8 years ago
Sam Blackshear cc8ffd9d1e [quandary] allow regexes in defining quandary sources/sinks in inferconfig
8 years ago
Sam Blackshear 3ee349ee23 [thread-safety] warn on unsafe accesses to lists
8 years ago
Sam Blackshear bcfcb5d405 [cleanup] restrict uses of annotated_signature to eradicate
8 years ago
Andrzej Kotulski b3e9eedd59 [clang frontend] Make DeclStmt return empty exps
8 years ago
Sam Blackshear 2351f767dc [cleanup] use pdesc_has_return_annot and friends instead of more cumbersome ways of looking up return annots
8 years ago
Sam Blackshear 73f3c5e0cd [cleanup] separate functions for checking annotations of return value and parameters
8 years ago
Dulma Churchill 2c767fce74 [linters] Clean up the context passing mechanism and add context for if
8 years ago
Andrzej Kotulski dd3de5b011 [clang frontend] Create nodes for dangling instructions
8 years ago
Jules Villard a229595856 [tests] run objc frontend tests...
8 years ago
Sam Blackshear b371a3429c [cleanup] simplify method annotation and item annotation iteration methods
8 years ago
Sam Blackshear f0199a058a [cleanup] alphabetize annotations and remove duplicates
8 years ago
Jeremy Dubreil 5322c71063 [infer][backend] find a better trade-off for the value of the SymOps timeout
8 years ago
Sam Blackshear b227ee58a6 [thread-safety] handle some annotations as aliases of ThreadConfined
8 years ago
Sam Blackshear 369feb4149 [thread-safety] allow ownership to be transferred via return
8 years ago
Sam Blackshear f372b6cb2f [quandary] allow sinks to be specified in inferconfig
8 years ago
Sam Blackshear 5bddb1e548 [quandary] allow sources to be specified in inferconfig
8 years ago
Cristiano Calcagno b1421bc27f [BetterEngineering] Remove remaining uses of polymorphic equality
8 years ago
Jules Villard bd2110a789 update timestamp of mirrored fcp files when copying them over so that make knows they are up to date
8 years ago
Sam Blackshear df5798336b [cleanup] give AccessPath.raw its own module
8 years ago
Jules Villard 4b45d5d8a0 [CLOpt] remove `accept_unknown` optional argument of `parse`
8 years ago
Andrzej Kotulski ebc4c6fd53 [config] Fail on unknown options from .inferconfig when in strict mode
8 years ago
Josh Berdine 65eb3a176d Remove Reason comments in copyright header
8 years ago
Sam Blackshear 851a4da7e0 [thread-safety][cleanup] add mli for ThreadSafetyDomain
8 years ago
Sam Blackshear d25a3edbd7 [thread-safety][cleanup] open ThreadSafetyDomain locally to avoid excess typing
8 years ago
Sam Blackshear e132188361 [thread-safety] warn on unsafe accesses in overrides of methods annotated with @ThreadSafeMethod
8 years ago
Sam Blackshear 908e78cc81 [annotations] produce a sources JAR for the infer annotations
8 years ago
Jeremy Dubreil add9e476a3 [infer][java] more rebust detection of the class filenames
8 years ago
Cristiano Calcagno f91b3128d3 [BetterEngineering] Replace uses of polymorphic equality
8 years ago
Andrzej Kotulski cceffddd78 [Config] Warn about deprecated args only from Driver exe
8 years ago
Cristiano Calcagno 3f8ee7df49 [Eradicate] Fix issue in Eradicate's check for field initialization
8 years ago
Sam Blackshear f79a53e1c8 [thread-safety] add string param to AssumeThreadSafe
8 years ago
Sam Blackshear c19bee7772 [quandary] for instance methods with no return value, propagate the taint to the receiver
8 years ago
Sam Blackshear b9694ef086 [thread-safety] warn on unsafe writes in constructors
8 years ago
Sam Blackshear c4c495fbe5 [thread-safety] propagate conditional writes to callers
8 years ago
Sam Blackshear 4373945e74 [thread-safety] don't warn on writes rooted in a parameter owned by the callee
8 years ago
Jules Villard f9ab3aa1ac run epilogues register with `at_exit` upon receiving SIGINT as well
8 years ago
Sam Blackshear 6ace3838ba [absint] support HTML debug output
8 years ago
Sam Blackshear e565010cf3 [thread-safety] don't warn on writes to volatile fields
8 years ago
Jules Villard 2e96caac42 [mvn] new integration
8 years ago
Jules Villard 69f8140655 [cli] do not accept unknown arguments in OCaml
8 years ago
Jules Villard 988145dea0 [cli] remove support for INFERCLANG_ARGS
8 years ago
Jules Villard ca784cdb41 [cli] warn about deprecated options, clean up infer repo
8 years ago
Jules Villard cb1e241411 [CLOpt] isolate the subset of Arg.spec used
8 years ago
Sam Blackshear 618e9c9338 [thread-safety] add @AssumeThreadSafe annotation to assume thread-safety of a method without checking it
8 years ago
Sam Blackshear f4b1af6f91 [thread-safety] allow @ThreadConfined annotation on methods
8 years ago
Sam Blackshear 2f69191c7e [backend] expose underlying Procdesc.Node from ProcCFG nodes
8 years ago
Jeremy Dubreil d9ed75cc08 [infer][toplevel] remove dead code from the python bucklib.py scripts
8 years ago
Sam Blackshear d39d4cfa20 [thread-safety] use jsr-305 versions of ThreadSafe/NotThreadSafe rather than defining custom annotations
8 years ago
Cristiano Calcagno adc68c6d57 [clang] Remove unnecessary list append in clang frontend
8 years ago
Cristiano Calcagno 1eaaf84a90 [checkers] Add support for html output in checkers, starting with Eradicate
8 years ago
Jules Villard 6050ff2b99 do not pass --buck to build the Java models
8 years ago
Jules Villard 4028e7ca78 [driver] decouple logic for choosing capture mode from the capture
8 years ago
Sam Blackshear f065f7653a [thread-safety] add map for conditional accesses
8 years ago
Sam Blackshear 72e17403fa [thread-safety] add and support @ThreadSafeMethod annotation
8 years ago
Jeremy Dubreil 619c202bd6 [infer][java] do no consider @OnBind as equivalent to @NoAllocation for the reachability checker
8 years ago
Andrzej Kotulski 153ed5e5d9 [Config] Rename Toplevel to Driver
8 years ago
Jeremy Dubreil 219d5b3883 [infer][tests] use Buck target output instead of hard copies of the paths under buck-out
8 years ago
Andrzej Kotulski 3c482da094 [compilation db] fix problems with buck compilation database integration
8 years ago
Andrzej Kotulski 11810d849b [C++] Fix compilation with enable_shared_from_this
8 years ago
Jules Villard a7f4aa79af [lint] fix copyright linter
8 years ago
Jules Villard c10126d0fd [DB] return resolved path when path cannot be made relative
8 years ago
Sam Blackshear 1891a16f8f [thread-safety] suppress warnings on methods annotated with @OnEvent
8 years ago
Jules Villard cece221ab7 [make] add `make byte` toplevel target
8 years ago
Sam Blackshear 8b57278c70 [thread-safety] support fields annotated with @ThreadConfined
8 years ago
Jules Villard 96c8133180 [nit] less indentation in Infer.log_build_cmd
8 years ago
Cristiano Calcagno f7b03d53ce [clang frontend] Fix variable shadowing in ObjcInterfaceDecl
8 years ago
Jules Villard c962fe0d4c update yarn.lock and yarn, add xmlm dependency
8 years ago
Jules Villard e01cab6d19 [java] more verbose debug output, fix for non-Buck integrations
8 years ago
Sam Blackshear 7d092152e3 [annotations] cleaning up remains of annotation processor
8 years ago
Gautam Korlam fe24209c3d Cleanup DEFS file for generating infer genrules
8 years ago
Sam Blackshear 2add2954da [checkers] factor out FormalMap into its own module
8 years ago
Sam Blackshear e5ef592f11 [quandary] add a few missing Intent sinks
8 years ago
Sam Blackshear ddccb0cce1 [quandary] don't include taint_opt as part of formal_map
8 years ago
Sam Blackshear ee2d0c9226 [quandary] add Intent's passed to onActivityResult/onNewIntent as sources
8 years ago
Jules Villard 6580899813 [driver] do not warn about nothing to analyze when not analyzing
8 years ago
Cristiano Calcagno 20db61697d [backend] Cleanup of StructTyp module.
8 years ago
Jules Villard db2e5bf4d4 [java] add more logging in debug and stats mode
8 years ago
Jules Villard f76a77b6b6 [driver] handle removal of symlinks in infer-out
8 years ago
Sam Blackshear 4cb03f4670 [checkers] add ui-thread/non-ui thread reasoning to annotation reachability checker
8 years ago
Sam Blackshear 685f205dda [quandary] skeleton for ObjC traces
8 years ago
Sam Blackshear 73f219560d [thread-safety] warn on unsafe accesses to maps
8 years ago
Jules Villard ffd322aca5 [clang db] add ClangCompilationDB build mode to make sure infer-out is deleted when needed
8 years ago
Jules Villard a6f54b9cef [cli] do not complain about "arguments must be .specs file" from non-toplevel invocations
8 years ago
Jules Villard 4bf4ba1c59 [tests] make sure we delete infer-out at the start of the reactive test
8 years ago
Cristiano Calcagno af83d1eefe [clang] Minor clang frontend cleanup: remove dead code and renaming
8 years ago
Cristiano Calcagno f605cb4b7e [clang cleanup] Split CFrontend_utils module into CAst_utils and CGeneral_utils
8 years ago
Sam Blackshear 2a4b29fedb [quandary] Warn on reusing result returned from getIntent
8 years ago
Josh Berdine 915282105d Expose whether filename_to_relative was successful
8 years ago
Sam Blackshear a87b64f384 [annotations] force java 7 compilation for annotations
8 years ago
Sam Blackshear d86f777132 [quandary] considering methods of subclasses of Activity, SharedPreferences etc. as sources/sinks too
8 years ago
Cristiano Calcagno b0e6ed8b35 [clang frontend] Eliminate use of expensive list append
8 years ago
Josh Berdine 52174fdc33 Avoid race between cmake and utf8_in_pwd tests
8 years ago
Sam Blackshear 504735e548 [java] update android.jar version to 23
8 years ago
Sam Blackshear 9c48178e4a [quandary] model some formals of Webview methods as tainted
8 years ago
Dino Distefano 45cf368ab9 Using checkers defined in linter.al and removed hard-coded checkers.
8 years ago
Peter O'Hearn 7bcc7e421d [threadsafety] don't warn on methods from classes annotated ThreadConfined
8 years ago
Sam Blackshear 68c0705f26 [thread-safety] don't warn on methods annotated with UiThread
8 years ago
Sam Blackshear 61bfd1e579 [cleanup] kill useless filter_buckets option
8 years ago
Sam Blackshear 1403e9c898 [quandary][java] Intent.parseIntent/Intent.parseUri should propagate taint, not create it
8 years ago
Sam Blackshear 8d0f6e822c [absint] don't require domains to define their initial state
8 years ago
Josh Berdine 4ec3af4a7f Call java frontend directly instead of using fork
8 years ago
Josh Berdine 0095e9c635 Remove redundant DEPLOYED_MODELS_JAR in favor of JAVA_MODELS_JAR
8 years ago
Josh Berdine 8c42cfb364 Add root dir argument to Utils.filename_to_absolute
8 years ago
Josh Berdine c88fe26071 Reimplement Utils.filename_to_absolute
8 years ago
Josh Berdine fb9fed3441 Reimplement Utils.filename_to_relative
8 years ago
Josh Berdine 9f30059397 Remove redundant code computing initial working directory
8 years ago
Josh Berdine 8d143d87df Remove outdated stats reporting
8 years ago
Josh Berdine 5289ccfb23 Simplify Subtype.list_to_string
8 years ago
Jeremy Dubreil d29659177f [infer] Revert D4367788
8 years ago
Jules Villard d01d0b81e9 [log] add option to print all logs to the console
8 years ago
Jules Villard f3190bc1f0 [log] no dummy init, no leaked channels
8 years ago
Jules Villard 24b7a50d1f [log] do not redirect output of InferAnalyze in the Makefiles
8 years ago
Jules Villard 24e6ae9ade [log] re-use log file names
8 years ago
Jeremy Dubreil 1065477765 [infer][java] indent the final JSON report for Buck projects
8 years ago
Jeremy Dubreil d7f112a640 [infer][java] choose the dynamic dispatch handling mode from the command line
8 years ago
Sam Blackshear 374ee12792 [traces] adding Sink.Make functor for easier sink creation
8 years ago
Josh Berdine 8d9f70ad47 Minor redistribution of driver functionality, and debugging improvements
8 years ago
Josh Berdine e58550da1d Simplify Exe_env.get_tenv now that optional arg unused
8 years ago
Josh Berdine 142494e7ae Add missing dir to java test clean
8 years ago
Jeremy Dubreil 4a3573b60e [infer][java] Use lazy dynamic dispatch by default
8 years ago
Jules Villard 39cfc9c073 delete intellij settings in infer/tests/
8 years ago
Ryan Rhee b557b49921 [componentkit] Initializer rule should return multiple issues
8 years ago
Ryan Rhee 4e37677eeb [clang] Prep rules to potentially emit multiple issues
8 years ago
Jeremy Dubreil a1c1b236a8 [infer][backend] cleanup the summary origin that is no longer useful
8 years ago
Jeremy Dubreil 4bca15afff [infer][backend] Add the distinction between models and regular procedure as part of the attributes
8 years ago
Sam Blackshear abde4e6603 [reporting] Fail loudly when we can't log an error
8 years ago
Jules Villard 72d065017b [tests] run "diff" from infer/tests
8 years ago
Jeremy Dubreil d20c8a0222 [infer][backend] Add functions to separate the cases when the subtyping relation can be proven from the case where the no subtyping relation can be proven.
8 years ago
Sam Blackshear 6bf38931ce [traces] adding Source.Make functor for easier source creation
8 years ago
Sam Blackshear e8835b308e [thread-safety] add liveness analysis for thread-safety
8 years ago
Jeremy Dubreil f963363ee9 [infer][java] For the lazy dynamic dispatch algorithm, only specialize the methods on object parameters
8 years ago
Jeremy Dubreil 0cb69c5a6a [infer][java] fix comments for Annotations.annot_ends_with
8 years ago
Sam Blackshear 06e0f6fbc9 [quandary] support tainted formals
8 years ago
Sam Blackshear f3bd314c22 [preanalysis] expose separate functions for different preanalyes (liveness, dynamic dispatch, abstraction)
8 years ago
Jules Villard 4b77b07be5 [buck] add flavors automatically to buck targets
8 years ago
Josh Berdine 1a5ac9e62b Use natural order on hpred, optionally ignoring instrumentation
8 years ago
Sam Blackshear e817d5390d [oss] add missing is_logging_method
8 years ago
Jules Villard ec2cde7020 [tests] serialize buck tests
8 years ago
Sam Blackshear 3ca924f546 [thread-safety] blacklist logging methods
8 years ago
Sam Blackshear 084fd9301b [absint] Fix capitalization of abstractInterpreter.mli and reconcile with the source file
8 years ago
Andrzej Kotulski fb6d49d6f4 [reactive-capture] Don't count compilation time towards analysis timeout
8 years ago
Andrzej Kotulski 96ba74d18e [C++] whitelist C++ std::vector iterator implementation
8 years ago
Andrzej Kotulski acdc081100 [C++] Make C++ whitelist matching more strict
8 years ago
Peter O'Hearn 4057ffadcf [threadsafety] Change THREAD_SAFETY_ERROR to THREAD_SAFETY_VIOLATION
8 years ago
Sam Blackshear 2a567d3abe [quandary] summaries are access trees too
8 years ago
Sam Blackshear cd1c9750f4 [infer] models for common types of Java Lists
8 years ago
Kihong Heo 42a3176882 Fix the widening operator of the Map functor
8 years ago
Peter O'Hearn 23a0a611dc [threadsafety] Fix situation where @NotThreadSafe is reported on, when super is @ThreadSafe
8 years ago
Dulma Churchill 9f153dbafa [linters] Add linter for checking api compatibility
8 years ago
Martino Luca b5124c1506 [CTL] Remove linters' names from Localise module
8 years ago
Andrzej Kotulski 29c42e5fe8 [reporting] Skip traces for functions outside of project root
8 years ago
Martino Luca d044809b32 [CTL] Filter linters through a visibility flag
8 years ago
Jules Villard a2193005a9 [tests] less phony genrule test
8 years ago
Josh Berdine cccfad2445 Directly handle javac -version option in build command
8 years ago
Josh Berdine 3dfaa9ed7b Remove support for SuppressWarnings annotations
8 years ago
Cristiano Calcagno d670bdd61a [eradicate] Add support for methods that don't return (System.exit)
8 years ago
Sam Blackshear a99e0f8b63 [cleanup] delete optimistic_cast option
8 years ago
Jules Villard bcac924e7f register checkers in monocore mode
8 years ago
Jules Villard c51c4a21ae [siof] collate multiple reports at the same line into one
8 years ago
Jules Villard a9d5b5afdb [tests] kill empty build_integration_tests.py
8 years ago
Jules Villard c6ed7ad489 [tests] convert waf test to Makefile
8 years ago
Jules Villard b4bd78bb05 [tests] convert utf8 in pwd test to Makefile
8 years ago
Jules Villard 4c34509f6d [tests] convert unknown ext test to Makefile
8 years ago
Jules Villard c40dfc950e [tests] convert reactive test to Makefile
8 years ago
Jules Villard 25e35e8bec [tests] convert pmd-xml test to Makefile
8 years ago
Jules Villard dece9f1386 [tests] convert ndk-build test to Makefile
8 years ago
Jules Villard facdcbe6f2 [tests] convert clang multiple files test to Makefile
8 years ago
Jules Villard f57154372f [tests] move make test to a Makefile
8 years ago
Jules Villard d80c9c742d [tests] move utf8 in procname test to a Makefile
8 years ago
Jules Villard de8356e4b0 [tests] move javac test to a Makefile
8 years ago
Jules Villard 5ffd9e3a7b [tests] port gradle test to a Makefile
8 years ago
Jules Villard ebb75d6171 [tests] port --fail-on-issue test to a Makefile
8 years ago
Jules Villard 674e3c86ea [tests] port delete infer-out test to a Makefile
8 years ago
Jules Villard 241b4b04fa [tests] port ck imports test to a Makefile
8 years ago
Jules Villard 6c056f535a [tests] port ck analytics test to a Makefile
8 years ago
Jules Villard eafe1158a6 [tests] convert cmake test to a Makefile
8 years ago
Jules Villard a6be58848b [make] make frontend tests more functional
8 years ago
Jules Villard bd0751dd1c [make] do not confuse the jobserver
8 years ago
Jules Villard 4d34efe71d [toplevel] fix double-printing of infer options in --help
8 years ago
Josh Berdine fb34f30350 Directly handle javac -classpath option in build command
8 years ago
Josh Berdine a9253d8996 Directly handle javac -classes_out option in build command
8 years ago
Andrzej Kotulski 95ad5b6387 [reactive-capture] Random fixes
8 years ago
Andrzej Kotulski 9fb0636ca1 [compilation db] Remove special module for compilation db
8 years ago
Martino Luca ebb6931358 [CTL] Let issue name be a string for linters
8 years ago
Sam Blackshear ee90e10491 [thread-safety] don't report on fields of immutable collections
8 years ago
Sam Blackshear 79154adf9e [thread-safety] use ownership info to avoid false alarms
8 years ago
Jules Villard bce1a1ff2e [make] make infer/src/Makefile less phony
8 years ago
Jules Villard 475f37ea03 [java] do not leak file descriptors when redirecting stderr to /dev/null
8 years ago
Andrzej Kotulski 1bb6401d15 [command line] Fix json deserialization of mk_path_list
8 years ago
Sam Blackshear 16cae31f20 [absint] add inverted set domain
8 years ago
Sam Blackshear 8e212f0468 [thread-safety] use id map to decompile tmp vars into access paths
8 years ago
Dino Distefano 4682393cd6 Use place-holders string in messages
8 years ago
Josh Berdine 178451e117 Disable timeouts during model analysis
8 years ago
Cristiano Calcagno ec1a07f445 Unbreak --continue option by passing it down to the python files
8 years ago
Sam Blackshear 6d7b8099f7 [java] treat all var names containing $ as temporaries
8 years ago
Sam Blackshear 26ba5336a8 [domains] gating sanity checks in id -> access path domain
8 years ago
Sam Blackshear 7682017f93 [quandary] only show relevant passthroughs in trace
8 years ago
Jules Villard f2a5810141 [clang] remove InferClang command from generated frontend debug scripts
8 years ago
Jules Villard bbf7df2f53 [base] remove C stubs for ioctl in favour of Ctypes
8 years ago
Jules Villard a07e16871c [java] silence javalib warnings on stderr when loading class with Java8 Code
8 years ago
Jules Villard ac082cfe01 [make] remove support for OCaml annot and other Eclipse-related quirks
8 years ago
Andrzej Kotulski 863cc534b2 [compilation db] Allow to pass multiple json files with clang-compilation-database integration
8 years ago
Andrzej Kotulski c9d254c084 Initial version of reactive capture
8 years ago
Sam Blackshear 5bd4daa900 [absint] make Interprocedural functor easier to customize
8 years ago
Dulma Churchill 5b39b3e323 [ObjC] Model methods from NSArray
8 years ago
Andrzej Kotulski 13fcb27431 [C++] Fix compilation errors coming from smart pointer models
8 years ago
Andrzej Kotulski 01b57b4f38 [clang] Always compile with -O0 flag
8 years ago
Jules Villard 902a0cd001 [make] make crashcontext tests replace-proof
8 years ago
Jules Villard 8b976154f6 [python] remove trailing empty line in source contexts
8 years ago
Jeremy Dubreil 715f6ffa7e [infer][java] match the annotation by class name, forgetting the package, instead of checking if the end of the annotation matches
8 years ago
Sam Blackshear 901786e0c5 [quandary] detect intents configured with external values
8 years ago
Sam Blackshear 2386bc8f67 [thread-safety] use record type in domain
8 years ago
Jeremy Dubreil aa362a27ed [infer][python] no longer generate the CSV report during the analysis
8 years ago
Josh Berdine 6051a3e34c Fix build time regression
8 years ago
Dino Distefano aa231e5129 [CTL] Expanding formula id with their definition
8 years ago
Josh Berdine 1a97b918ca Construct inferconfig patterns in Inferconfig not Config
8 years ago
Josh Berdine f3fab1e9b6 Support parsing build command arguments
8 years ago
Josh Berdine 733e2531b3 Protect against use of Core functions that add exception handlers that exit
8 years ago
Josh Berdine 2a8bf53e9e Don't allow new deprecated uses
8 years ago
Josh Berdine fc976bc3ef Core.Std.( ^/ )
8 years ago
Josh Berdine 7834c95bc8 Silence deprecation warnings
8 years ago
Josh Berdine 2e66dcfac4 Open Core.Std by default, still use Caml Hashtbl, Map, Set
8 years ago
Josh Berdine e438314776 Divide Utils into Utils, Pp, and IStd
8 years ago
Josh Berdine 23cda11fda Core.Std.Int.Set
8 years ago
Josh Berdine 900da595b1 Core.Std.String.Table
8 years ago
Josh Berdine 78ec954ae2 Core.Std.String.Map
8 years ago
Josh Berdine e00c4cd2dd Core.Std.String.Set and remove unused StringPPSet
8 years ago
Josh Berdine 76f8450203 Move proc_flags from Utils to ProcAttributes
8 years ago
Josh Berdine f86fc2ce2d Core.Std.Stack
8 years ago
Josh Berdine 7e6278baeb Core.Std.Printexc
8 years ago
Josh Berdine e4618541dc Core.Std.Int64
8 years ago
Jeremy Dubreil 027bdc32e8 [infer][genrule] Add example of Buck DEFS macro to generate Infer analysis targets
8 years ago
Josh Berdine 8a3707825c Core.Std.Gc
8 years ago
Josh Berdine e5b41a67d0 Core.Std.Char
8 years ago
Josh Berdine c2abce7e3a Core.Std.Array
8 years ago
Josh Berdine 7708fc7c56 Remove extlib dependency
8 years ago
Josh Berdine de2e6c9d88 Core.Std.Option
8 years ago
Josh Berdine 4ea3410b47 Core.Std.Sys
8 years ago
Josh Berdine 9d1b495f57 Core.Std.Unix
8 years ago
Josh Berdine c094287428 Convert Process.create_process_and_wait to Core.Std.Unix
8 years ago
Josh Berdine 81d616a50b Convert Process.run_jobs_in_parallel to Core.Std.Unix
8 years ago
Josh Berdine 53c170ca0a More uniform and explicit treatment of program and arguments
8 years ago
Josh Berdine 0467c9cde1 Convert DB module to Core.Std.Unix
8 years ago
Josh Berdine 57c37f93c9 Convert Infer module to Core.Std.Unix
8 years ago
Josh Berdine 7d57469d2f Core.Std.Filename
8 years ago
Josh Berdine 782e9d69f6 Core.Std.Bool
8 years ago
Josh Berdine e415b73786 Core.Std.String
8 years ago
Josh Berdine a2930b7007 Core.Std.Int
8 years ago
Jeremy Dubreil a0b83ed693 [infer][test] The command should change directory outside the call to silent_on_success
8 years ago
Jeremy Dubreil d47d977322 [infer][java] Do not use multicore when creating the models
8 years ago
Andrzej Kotulski 78dfe85468 [clang] Make sl_file store source file instead of string
8 years ago
Sam Blackshear 831786240a [quandary] ignore null assignments to return value in void functions
8 years ago
Sam Blackshear 45ad904c1f [quandary] use actuals in JavaTrace.taint_all
8 years ago
Andrzej Kotulski 56f8757337 [SourceFile] Move DB.SourceFile into separate file
8 years ago
Jules Villard e5863f5420 [siof] handle constexpr constructors
8 years ago
Andrzej Kotulski 69b39dacb0 [DB] Create module for SourceFile
8 years ago
Andrzej Kotulski e4a93d5e13 [c++] s/cxx_experimental/cxx
8 years ago
Jeremy Dubreil 2edafcee92 [infer][backend] Save the pretty-print of the type environment when running the analysis in debug mode
8 years ago
Andrzej Kotulski 5310b617fe [c++] turn on c++ analysis by default
8 years ago
Jeremy Dubreil e029612421 [infer][backend] the pp_base parameter was not used anywhere
8 years ago
Jeremy Dubreil d89c69dbe6 [infer][java] Adding the android.jar in the classpath is not needed anymore
8 years ago
Sam Blackshear e212183e7e [thread-safety] don't count accesses in methods of builder classes
8 years ago
Jules Villard b0a5495611 [UI] add source context to reports in bugs.txt
8 years ago
Dino Distefano bd216f3205 Fixed problem with evaluation of sizeof which would give false positive
8 years ago
Jules Villard 9cc9cc101c [IR] add Static_local_var pvar kind and use it in clang
8 years ago
Andrzej Kotulski 0479720c91 [C++] Don't ignore header files passed in --changed-files-index
8 years ago
Andrzej Kotulski bd0f0cc7fc [DB] Don't fail hard when realpath fails
8 years ago
Sam Blackshear ff3b6a10db [checkers] add mli for AccessTree
8 years ago
Sam Blackshear 4b98543d35 [traces] don't hang when unrolling a mutually recursive trace
8 years ago
Josh Berdine 731ffa0ae1 Initialize Builtins also in single-core mode
8 years ago
Jeremy Dubreil 532621def1 [infer][tests] No longer rely on Infer being in the PATH for the genrule integration test
8 years ago
Sam Blackshear c1205c1453 [thread-safety] model ReadLock/WriteLock
8 years ago
Dulma Churchill 826accc21b [clang] Adding model for NSNumber boxing functions
8 years ago
Sam Blackshear 5743351906 [thread-safety] don't report thread safety violations due to calls to constructors
8 years ago
Sam Blackshear cb82dacd54 [traces] moving logic for reporting flow-sensitive traces from quandary to trace domain
8 years ago
Andrzej Kotulski bd843b277e [DB] Remove source_file_from_string, source_file_to_string no longer returns real path
8 years ago
Andrzej Kotulski b8908282f8 [DB] Remove many callsites of DB.source_file_to_string
8 years ago
Jeremy Dubreil 0b8a117b5e [infer][java] Fall back to the system compiler in case of compilation failures
8 years ago
Jeremy Dubreil 7b884144b5 [infer][tests] More complete test cases for the models of the Java Integer class
8 years ago
Sam Blackshear 0972c8d262 [quandary] don't report FP's due to flow-insensitive traces
8 years ago
Sam Blackshear 3b161a3737 [thread-safety] interprocedural traces for thread safety checker
8 years ago
Sam Blackshear 579b982359 [thread-safety] Lay the groundwork for interprocedural trace-based reporting
8 years ago
Andrzej Kotulski ea4cf13992 [tests] remove inferTest script
8 years ago
Cristiano Calcagno 827d7c3d9c [backend][perf] Address top performance bottleneck from profiling the backend.
8 years ago