1134 Commits (3fe1cbb6ec87a31768a0e16e93e22adb5d75c4db)

Author SHA1 Message Date
Jules Villard 588cdcde42 options to run selective tests in build_integration_tests
9 years ago
Josh Berdine 63b1df9966 Print usage message when cl arg parsing fails
9 years ago
Jeremy Dubreil ebe82340b9 No longer create procedure description for the callees when running the checkers
9 years ago
Jeremy Dubreil 319cc9334e Create the procedure description of the callee when running the capture only, because Gradle uses this
9 years ago
Dulma Rodriguez c6524d799f Translate C++ constructors after new
9 years ago
Jules Villard 037c257c4f Fix base results for the Objective C frontend tests
9 years ago
Jeremy Dubreil ff737edf93 Fix broken caching support for the Buck integration
9 years ago
Cristiano Calcagno e34e369835 Complete command-line support for reactive mode with buck on iOS.
9 years ago
Sam Blackshear a71caccc80 address-taken analysis and tests
9 years ago
Dino Distefano fc5d4897a5 Registered Observer check done by front-end
9 years ago
Andrzej Kotulski 65449c87ab Fix unique_ptr model
9 years ago
Cristiano Calcagno b7bc95e1f9 Add option -merge_captured to merge the result of capture for different targets.
9 years ago
jrm af80cdc168 Enable the printing of OCaml exceptions stack traces
9 years ago
Cristiano Calcagno c198d76631 Clean up the Procname module, and remove remaining assert false
9 years ago
Sam Blackshear 91ae1baebc massive refactoring of harness generation
9 years ago
Andrzej Kotulski 675009a2ee Add unique_ptr model
9 years ago
Dulma Rodriguez 9f7bfea98f Translate CXXStdInitializerListExpr
9 years ago
martinoluca c5d26439f5 Proactively merge infer-deps.txt and report.json files and emit results to stdout
9 years ago
jrm e734c1873d Fix cases of resource leaks not detected when the resource indirectly implements Closeable
9 years ago
Sam Blackshear fb5c5c8515 turning off copy-propagation
9 years ago
Sam Blackshear 9f24051d96 adding ounit to .merlin
9 years ago
Sam Blackshear f9bffe1e87 move remove_tmps and add_abstraction steps into the pre-analysis
9 years ago
Sam Blackshear dec843f5f5 copy-propagation analysis + tests
9 years ago
Sam Blackshear 2991bd3fc3 using address-taken analysis for nullify placement rather than alias analysis
9 years ago
Josh Berdine 97cb854e5c Model NSArray::arrayWithObject
9 years ago
Andrzej Kotulski 0a32ff4400 Translate std::move from system headers to improve analysis quality
9 years ago
Sam Blackshear ab1ac822f6 Replacing Ctuple with Cclosure
9 years ago
jrm 0b56374b11 Seprate the concept of @PerformanceCritical from the concept of @NoAllocation
9 years ago
Josh Berdine 66d865ff6a Accept command line options via environment vars
9 years ago
Cristiano Calcagno 86304b3d9c Prevent assert false from occurring on Java functions in Procname.
9 years ago
Jules Villard 4384870b44 move utils.Escape to its own file
9 years ago
Sam Blackshear 8913e38dbd getting rid of bottom
9 years ago
Dulma Rodriguez a62ccc7a05 Fixing init list expr when there is no variable or compound literal expression
9 years ago
Dulma Rodriguez 7ffb635719 Restore translating C++ methods only in cxx experimental mode
9 years ago
Sam Blackshear 7d10105060 moving tracecalls around so tests will pass on open-source build
9 years ago
Dulma Rodriguez 10a14a7324 Translate CXXTypeidExpr
9 years ago
Sam Blackshear 63f8a3e709 refactoring facebook-specific and open-source taint lists to fix open-source tests
9 years ago
Dino Distefano 45ae457150 Renamed files to reflect the new structure of the translation.
9 years ago
Nick Firmani 1c819770e2 Add SuppressViewNullability annotation
9 years ago
Deniz Türkoglu beaa9a6925 Add option to generate the report in PMD XML format
9 years ago
Dino Distefano ce0ae5c821 Refactoring in preparation of implementing C++ lambda
9 years ago
Cristiano Calcagno 010b57e7cc Add --continue option for reactive analysis to continue the capture.
9 years ago
Dulma Rodriguez 3d4942a748 Restore not translating header in testing mode
9 years ago
Cristiano Calcagno 3c4013d363 In debug mode, write html files for headers too.]
9 years ago
jrm cc4fcd6837 Add support for modeling @Expensive methods using .inferconfig
10 years ago
Jules Villard c637c10d0f Revert "[java] no longer catching Class_structure_exception"
10 years ago
Cristiano Calcagno 909473f3da Clean up code to produce html pages of analysis results in debug mode.
10 years ago
Cristiano Calcagno e71ae11cae Activate timeout logging in the progress bar when developer mode is on.
10 years ago
Andrzej Kotulski eb76a441f9 Initial implementation of shared_ptr model
10 years ago
Cristiano Calcagno b2969820a4 Avoid loading the cfg explicitly to find a proc desc.
10 years ago
jrm 81a59515e4 Simplify the code to collect the list of @SuppressWarnings annotations
10 years ago
Sam Blackshear 8d62fd12ca pretty-printable versions of common data structures
10 years ago
Dulma Rodriguez a4b87a0951 Translate destructor calls
10 years ago
Jules Villard 14f329ba59 bye bye logo
10 years ago
Dulma Rodriguez 91a2eaa5f1 Translate CXXPseudoDestructorExpr
10 years ago
Cristiano Calcagno a06d854364 Make the API of Exe_env return options instead of throwing exceptions.
10 years ago
Dulma Rodriguez c20ace4a1a Add flag cxx experimental to the clang frontend
10 years ago
jrm 793911c847 Add the possibility to analyze procedure descriptions on-demand without serialization
10 years ago
Sam Blackshear 7fb8f8b651 adding type-specific taint error messages
10 years ago
Sam Blackshear 15f0c7e384 adding "kind" for taint attribute
10 years ago
Jules Villard 527d26dd91 colorise issue messages
10 years ago
Jules Villard b03304e0d8 move color code to colorize.py
10 years ago
Cristiano Calcagno 7c464c5bac Cleanup toplevel InferAnalyze and include procedures in the progress bar.
10 years ago
Jules Villard 73d5a355f6 add mock gradle for e2e test
10 years ago
Jules Villard 1aa5b1e947 do not print source excerpts in bugs.txt
10 years ago
Jules Villard 09f5605a6e move build integration tests to infer/tests/
10 years ago
Cristiano Calcagno 71f81f102c Restore printing of html for procedures
10 years ago
Sam Blackshear 730a2afaaf more consistency with abbreviated functions names in abstract domain signature
10 years ago
Dulma Rodriguez edbd7854b2 Translate SizeOfPackExpr
10 years ago
Sam Blackshear ddfd35107c unit tests for abstract interpreter
10 years ago
Sam Blackshear 2f44f3faa8 adding generic abstract interpreter
10 years ago
Sam Blackshear b62bdc46b6 adding scheduler abstraction and reverse postorder scheduler
10 years ago
Cristiano Calcagno 494dabf638 Simplify code in SymExec: cleanup and look up cfg.
10 years ago
jrm e123635122 Add support for @SuppressWarnings for Gradle and Ant projects.
10 years ago
Dulma Rodriguez ff3455452a Add trace to frontend checks
10 years ago
Dulma Rodriguez c9e5d27e0d Translate GCCAsmStmt
10 years ago
Sam Blackshear 85747084b5 adding dependency on ounit
10 years ago
Dulma Rodriguez 6c567f1104 Translate GenericSelectionExpr
10 years ago
Dulma Rodriguez ef3e516f6f Translate ImplicitValueInitExpr
10 years ago
Sam Blackshear 62965e8051 adding runner for OCaml unit tests
10 years ago
Sam Blackshear 177574c29e type signatures for abstract domains and transfer functions
10 years ago
Dulma Rodriguez d499d5fc8e Translate C++ exceptions
10 years ago
Andrzej Kotulski 7d425f22c2 Don't run rocksdb benchmark in debug mode
10 years ago
Sam Blackshear 65de2d9946 refactoring procCfg API to make it easier to mock
10 years ago
Sam Blackshear 2d89426170 fixing tenv_lookup
10 years ago
Sam Blackshear 337d2cc537 fixing tenv_add to add only struct_typ's
10 years ago
Sam Blackshear 749a649138 translating an expression returns its type
10 years ago
martinoluca 44502c1673 Merge infer-deps files generated by Buck
10 years ago
jrm 082ca6a90a Initial support for lazy dynamic dispatch
10 years ago
Sam Blackshear 82f2b7b6de make tenv a typename -> struct_typ map
10 years ago
Sam Blackshear 878bf938eb kill Tenum
10 years ago
Dino Distefano b7d6f2a3bd Fixed problem with null pointer dereference in c library models.
10 years ago
Cristiano Calcagno 89a2f2a7b4 Keep only on-demand infrastructure and delete the rest or the infrastructure.
10 years ago
jrm 761902afad for the @PerformanceCritical checker, skip allocations reports on subtypes of java.lang.Throwable instead of only java.lang.Exceptions
10 years ago
Cristiano Calcagno e0d5847eb8 Deprecate incremental
10 years ago
Dino Distefano c868f51b2d Introducing checker for observer of notification centers
10 years ago
Cristiano Calcagno 021cf213a6 Bypass the interprocedural algorithm in Fork with ondemand, and replace it with a simple iteration.
10 years ago
kstreee f400247d16 Fix missing import statement bug.
10 years ago
jrm 8ce56968d6 no longer report NULL_TEST_AFTER_DEREFERENCE in tracing mode
10 years ago
Jules Villard fcd0379d52 fix bug that made it crash
10 years ago
Jules Villard 1952f54d8c minor cleanups
10 years ago
Dulma Rodriguez 379d185d74 Sort the fields in the tenv at the end of translation as some translations need the original order
10 years ago
jrm 697778cc3b Add the annotation @IgnoreAllocations to stop tracking allocations whenever useless
10 years ago
Samuel Blackshear ed580c59e9 implementing procedure cfg wrapper
10 years ago
Cristiano Calcagno f3ba6c3906 Revamped Timeout module to save and restore seconds and symops.
10 years ago
Jules Villard 2277c23c60 move java-specific code out of analyze.Infer
10 years ago
Dino Distefano be8f25c90b Improved/simplified framework for frontend checkers.
10 years ago
Dulma Rodriguez 4264e94565 Fix problems with translation of InitListExpr
10 years ago
Jules Villard 9d080cadb1 move get_javac_args to jwlib.py
10 years ago
Josh Berdine 2c489371dd Revert "[ondemand][backend] Turn on on-demand infrastructure by default"
10 years ago
Peter O'Hearn bec08365de Part 1 of double unlock, locks as resources
10 years ago
jrm 1f5529c67e The @NoAllocation checker should not report on created exceptions
10 years ago
Cristiano Calcagno 16402cddc0 Save global state for abstraction for on-demand.
10 years ago
Cristiano Calcagno 90489d7f54 Always analyze procedures when analyze_models is set.
10 years ago
Andrzej Kotulski decb263b1d Fix translation when accessing reference type fields
10 years ago
Cristiano Calcagno ccd760b239 Fix pre-analysis crash in master.
10 years ago
Dulma Rodriguez 06f40efab8 Add extra dereference to the variable of the method call to find null dereferences when a method called with null.
10 years ago
jrm ba4dbef2d9 cleanup the Java divide by zero end-to-end test
10 years ago
jrm 73a07dc44e Fix gradle integration tests
10 years ago
Jules Villard 37c2d39dac move jwlib.FILELISTS to config.py
10 years ago
Jules Villard dc52ce8158 ignore errors as appropriate on input decode/output encode
10 years ago
Sam Blackshear cd002e5c46 fixing angelic mode for struct values passed by reference
10 years ago
Sam Blackshear 9f346ea1fc allowing abstraction of Tvar's
10 years ago
Jules Villard af5f4c6afd remove inaccurate output about analyzing 0 procedures
10 years ago
Andrzej Kotulski a83f544775 Make Sil.expand_type non-recursive
10 years ago
Jules Villard 88881581b3 use supplied javac instead of the one from PATH
10 years ago
Andrzej Kotulski e4a0e9bbf7 Translate CXXDefaultInitExpr
10 years ago
Cristiano Calcagno 2b1558af6d Turn on on-demand infrastructure by default
10 years ago
Cristiano Calcagno 57b4497663 Start reactive exploration from changed procedures only.
10 years ago
Josh Berdine cca3ecf15c Update .merlin warnings list and compile flags
10 years ago
kstreee a7e004472d Resolve a bug that Infer does not analyze procedures when the analyzer is run on '/'.
10 years ago
Andrzej Kotulski 7cb4165189 Set _FORTIFY_SOURCE to 0 when compiling with clang
10 years ago
Cristiano Calcagno 42ecddcf37 Add command line arguments for reactive mode.
10 years ago
Andrzej Kotulski 49bf38c56f Fix symbolic links in cpp tests after formatting diff (part 2)
10 years ago
Andrzej Kotulski 1fdead5958 Fix symbolic links in cpp tests after formatting diff (part 1)
10 years ago
Cristiano Calcagno c570d97ad8 Cleanup code for registering builtins.
10 years ago
Cristiano Calcagno bf2909dd34 Cleanup global state in module Fork.
10 years ago
Josh Berdine de31246399 Builtin.builtin_plain_functions is no longer used
10 years ago
Josh Berdine b54fbc2776 Add test_build target warnings not fatal otherwise
10 years ago
Josh Berdine 3a7f4b9d3f Add byte target
10 years ago
Josh Berdine 4e8008baf2 Simplify setting ocamlbuild options
10 years ago
Dulma Rodriguez 2fb2b3d9e1 Add the virtual flag of C++ methods in method calls
10 years ago
Josh Berdine c585383fba Let ocamlfind find include and lib files
10 years ago
Andrzej Kotulski 4584f7f6fc [clang-format] Reformat all c/cpp/objc sources with clang-format
10 years ago
Dulma Rodriguez c82a4c1cc1 Add the models to the intellij project that contains the tests
10 years ago
Andrzej Kotulski 50fc847c10 Compile C models again in C++
10 years ago
Andrzej Kotulski 9163b319a6 Fix whitespace issues from last diff
10 years ago
Josh Berdine a73d7be9a8 Remove unused support for ocaml < 4.02
10 years ago
martinoluca fc589ccf34 Fix encoding error while printing descriptions in stdout
10 years ago
Andrzej Kotulski 941a1c02fb Increase size of biniou buffer, add logging in case of failure
10 years ago
Josh Berdine 77b22ded03 Warn on unused identifiers
10 years ago
Josh Berdine 02056079cf Warn of unused values
10 years ago
Josh Berdine a87ef7e7ff Remove old front-end code
10 years ago
jrm c6d8cdc8ee Add support for @NoAllocation in the performance critical checker
10 years ago
jrm 14d4f862eb @Performance critical checker: compute the expensive call stack lazily when reporting errors
10 years ago
Sam Blackshear 091f31dd17 translating monitor exit/enter
10 years ago
Dulma Rodriguez 7721743f46 Model ObjC method isKindOfClass
10 years ago
Dulma Rodriguez efd3aeccc6 Using the attributes table to find out the method to call in virtual calls
10 years ago
Andrzej Kotulski f703d780da Translate headers located inside analyzed project
10 years ago
Josh Berdine a6d7bbb38b Warn of unescaped end-of-line in a string constant
10 years ago
jrm 4af130bf8d remove subtyping rule for the @PerformanceCritical annotation
10 years ago
Josh Berdine 55cb61dbda Warn of unused open statements
10 years ago
Josh Berdine b155168083 Open Utils implicitly
10 years ago
Josh Berdine 8a9f221119 Use Utils in jTransExn and jTransStaticField
10 years ago
Josh Berdine 7f231b8aa0 Move pi and sigma types from Dom to Prop
10 years ago
Josh Berdine 2fa5c5b4e9 Warn of unused types
10 years ago
Josh Berdine 89338c86e9 Warn of unused constructors
10 years ago
Josh Berdine 2e4f4a0c5f Warn of label omitted in function application
10 years ago
Josh Berdine 2f47142b94 Warn of unused loop index variables
10 years ago
Josh Berdine bd8284443c Warn of unused extension (exception) constructors
10 years ago
Josh Berdine 7e7d524e29 Enable -short-paths for better error messages
10 years ago
Josh Berdine 4f4b00fffa Enable -strict-sequence
10 years ago
Josh Berdine 675cfeb56c Enable -strict-formats
10 years ago
Josh Berdine 9bdd1a9d0f Enable -principal to check ambiguous code
10 years ago
Sam Blackshear 5833835289 dynamic dispatch for virtual calls in Java
10 years ago
Josh Berdine fb96eaabcd Make ocamlbuild obey make --silent
10 years ago
Josh Berdine 264038f3ee Make clean target obey --silent
10 years ago
Sam Blackshear bb793770b9 remove --no-cache option, which does nothing
10 years ago
Jules Villard 07822ff16e output infer source locations on --debug-exceptions
10 years ago
Dino Distefano e0fe2af712 Added a two new attributes: observer/unsubscribed_observer
10 years ago
Andrzej Kotulski 3320043217 Fix further problems with forward declarations in C/C++
10 years ago
Andrzej Kotulski 32a5cae175 Fix infinite loop in type expansion
10 years ago
Andrzej Kotulski 3db68bcb4c Create .start file when infer starts
10 years ago
Dulma Rodriguez 5db8fa4539 Remove tvars from the tenv
10 years ago
Sam Blackshear 556b9c121d improving error message from fragment retains View checker
10 years ago
Dulma Rodriguez bf90a64fb5 Fix the typing implication in the bi-abduction for non Java types
10 years ago
jrm 8eb73bf39d Turn on ondemand for the tracing mode
10 years ago
Cristiano Calcagno 2a926d8294 Remove uses of assert false to get original ml location.
10 years ago
jrm 38cb5b48ec Remove no longer useful model for java.lang.Thread
10 years ago
Andrzej Kotulski 8c832142b4 Don't add process type redeclaration unless it has definition
10 years ago
Sam Blackshear 7af27e07d5 deleting unused type_prop.ml
10 years ago
Dino Distefano c41cba92ea Fixed test for taint analysis
10 years ago
Sam Blackshear 5e9a21573b preventing Bad_footprint when passing struct value by reference
10 years ago
jrm 36cc1b0d2e Remove dead code. Feature now implemented in .inferconfig
10 years ago
jrm 904151888c fix treatment of linked list in Java
10 years ago
Dulma Rodriguez ac7959f2df Adding subtyping to ObjC
10 years ago
Jeremy Dubreil 208021fc7e Fix the buck integration for the analysis of Buck itself
10 years ago
Cristiano Calcagno 047eec5a6f Refactor callbacks for Eradicate and Checkers.
10 years ago
Dino Distefano c65947439f Implementing translation of CXXForRangeStmt
10 years ago
Jeremy Dubreil 6389cb9bd0 revert on-demand for the checkers now that the hash for long filename is fixed
10 years ago
Sam Blackshear d0cd8fca47 removed unused param footprint_part
10 years ago
Cristiano Calcagno 88e1d137ba Refactor State module and make OnDemand restore it after calls.
10 years ago
Sam Blackshear 0fbd333cab Checker that complains when Fragments don't nullify their Views
10 years ago
Cristiano Calcagno d31b041fba Replace CRC module with Digest.
10 years ago
jrm 3ece750c15 disable on-demand for the checkers while we fix the filename too long issue
10 years ago
Cristiano Calcagno 6be7266f1f Restore intraprocedural mode for Eradicate and Checkers
10 years ago
Cristiano Calcagno 34b62fc51c Inline Java synthetic methods systematically before writing the cfg to disk.
10 years ago
Cristiano Calcagno 987471d938 Remove unused code for cyclomatic complexity.
10 years ago
Sam Blackshear 526e155046 move resolve_method inside method_invocation
10 years ago
Cristiano Calcagno 41de08924b Indentation of command-line agruments.
10 years ago
jrm dba7e7124f revive the @PerforamanceCritical checker when using Buck
10 years ago
Andrzej Kotulski 49d7bdb6bd Translate CXXScalarValueInitExpr
10 years ago
Andrzej Kotulski 359ad9dd4b Translate constructor initializer
10 years ago
Andrzej Kotulski 1d6aea0fb9 Add typ to trans_state.var_exp
10 years ago
Andrzej Kotulski 7cabc86f77 Pass return parameter type in context
10 years ago
Peter O'Hearn 028ac24d46 Simple model for locks
10 years ago
Jules Villard b1d77e54aa add summary of the analysis to the standard output
10 years ago
Jules Villard cbb8810e2c make dotty field optional in json
10 years ago
Jules Villard e11395d199 print location of errors in infer source code in debug mode
10 years ago
Andrzej Kotulski 8545a0310e Treat xvalues as they were lvalues
10 years ago
Andrzej Kotulski 36fb1f202c Deal with empty parameter names
10 years ago
Jeremy Dubreil 70dbe8db74 Simplify the type comparison of Java classes
10 years ago
jrm 5da7823df5 The env variables used by the Infer backend were only passed in multicore mode
10 years ago
Sam Blackshear 7938fbb344 Fixing 'file name too long' errors
10 years ago
Sam Blackshear f3c7125dc1 build ocaml with debug tag to enable stack traces
10 years ago
Andrzej Kotulski da3a106541 Always translate CXXRecordDecl as Sil.Class
10 years ago
Cristiano Calcagno 58611b15d0 Cleanup of CMethod_signature.
10 years ago
Dino Distefano 5b91ec9f7f A fix for empty retain cycle
10 years ago
Sam Blackshear ef3912cbde Adding on-the-fly translation of types during pre-analysis
10 years ago
Cristiano Calcagno 5683fd8413 Fix collision of spec file names on case insensitive file systems.
10 years ago
Tony Cosentini ac5f092653 Target JDK 1.7 for annotations and processor jar for Android.
10 years ago
Cristiano Calcagno 1b4efcfc7a Enable the analysis of models in on-demand mode.
10 years ago
Jeremy Dubreil 8fcd094c64 Fix NPE in the annotation processor for SuppressWarnings
10 years ago
Andrzej Kotulski 75f4947cb1 Ignore type change in DerivedToBase cast
10 years ago
Andrzej Kotulski b08acedf29 Use clang for default argument resolution
10 years ago
Cristiano Calcagno 10286931ee Cleanup handling of global state, and add footprint mode to the values.
10 years ago
Cristiano Calcagno 7a7260635f Refactor the worklist data structures of the intraprocedural algorithm as non-global state.
10 years ago
Dulma Rodriguez f4bbd44212 Translate dynamic cast for C++
10 years ago
Tony Cosentini 75cca6b3d3 Add android.app.Service to whitelisted Android initializer classes.
10 years ago
Dulma Rodriguez 10fe998c12 Extending subtyping to C++
10 years ago
Sam Blackshear 82b1dd0572 adding support for source roots in maven integration
10 years ago
Andrzej Kotulski 262796d3bf Distinguish between C++ and objc class types
10 years ago
Andrzej Kotulski 9d7ab4b9c2 Translate conversion operators
10 years ago
Sam Blackshear be86e5d15d Exposing java_typ_to_string
10 years ago
Sam Blackshear 14e934205f implementing dynamic dispatch support for Java interfaces
10 years ago
Andrzej Kotulski 3dcd6490c2 Translate reinterpret_cast and const_cast
10 years ago
Cristiano Calcagno 7673d94600 Distinguish between class kinds: CPP, Java, Objc
10 years ago
Andrzej Kotulski bdab22a093 Support temporary objects (CXXTemporaryObjectExpr)
10 years ago
Andrzej Kotulski 44a6ec4f10 Fix return parameter handling
10 years ago
Cristiano Calcagno 74dbfd72b5 Fix issues with html output for debug in on-demand mode.
10 years ago