1511 Commits (ab70143e1becf018c7b8200bbd436878445eb389)

Author SHA1 Message Date
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
9 years ago
Jules Villard c637c10d0f Revert "[java] no longer catching Class_structure_exception"
9 years ago
Cristiano Calcagno 909473f3da Clean up code to produce html pages of analysis results in debug mode.
9 years ago
Cristiano Calcagno e71ae11cae Activate timeout logging in the progress bar when developer mode is on.
9 years ago
Andrzej Kotulski eb76a441f9 Initial implementation of shared_ptr model
9 years ago
Cristiano Calcagno b2969820a4 Avoid loading the cfg explicitly to find a proc desc.
9 years ago
jrm 81a59515e4 Simplify the code to collect the list of @SuppressWarnings annotations
9 years ago
Sam Blackshear 8d62fd12ca pretty-printable versions of common data structures
9 years ago
Dulma Rodriguez a4b87a0951 Translate destructor calls
9 years ago
Jules Villard 14f329ba59 bye bye logo
9 years ago
Dulma Rodriguez 91a2eaa5f1 Translate CXXPseudoDestructorExpr
9 years ago
Cristiano Calcagno a06d854364 Make the API of Exe_env return options instead of throwing exceptions.
9 years ago
Dulma Rodriguez c20ace4a1a Add flag cxx experimental to the clang frontend
9 years ago
jrm 793911c847 Add the possibility to analyze procedure descriptions on-demand without serialization
9 years ago
Sam Blackshear 7fb8f8b651 adding type-specific taint error messages
9 years ago
Sam Blackshear 15f0c7e384 adding "kind" for taint attribute
9 years ago
Jules Villard 527d26dd91 colorise issue messages
9 years ago
Jules Villard b03304e0d8 move color code to colorize.py
9 years ago
Cristiano Calcagno 7c464c5bac Cleanup toplevel InferAnalyze and include procedures in the progress bar.
9 years ago
Jules Villard 73d5a355f6 add mock gradle for e2e test
9 years ago
Jules Villard 1aa5b1e947 do not print source excerpts in bugs.txt
9 years ago
Jules Villard 09f5605a6e move build integration tests to infer/tests/
9 years ago
Cristiano Calcagno 71f81f102c Restore printing of html for procedures
9 years ago
Sam Blackshear 730a2afaaf more consistency with abbreviated functions names in abstract domain signature
9 years ago
Dulma Rodriguez edbd7854b2 Translate SizeOfPackExpr
9 years ago
Sam Blackshear ddfd35107c unit tests for abstract interpreter
9 years ago
Sam Blackshear 2f44f3faa8 adding generic abstract interpreter
9 years ago
Sam Blackshear b62bdc46b6 adding scheduler abstraction and reverse postorder scheduler
9 years ago
Cristiano Calcagno 494dabf638 Simplify code in SymExec: cleanup and look up cfg.
9 years ago
jrm e123635122 Add support for @SuppressWarnings for Gradle and Ant projects.
9 years ago
Dulma Rodriguez ff3455452a Add trace to frontend checks
9 years ago
Dulma Rodriguez c9e5d27e0d Translate GCCAsmStmt
9 years ago
Sam Blackshear 85747084b5 adding dependency on ounit
9 years ago
Dulma Rodriguez 6c567f1104 Translate GenericSelectionExpr
9 years ago
Dulma Rodriguez ef3e516f6f Translate ImplicitValueInitExpr
9 years ago
Sam Blackshear 62965e8051 adding runner for OCaml unit tests
9 years ago
Sam Blackshear 177574c29e type signatures for abstract domains and transfer functions
9 years ago
Dulma Rodriguez d499d5fc8e Translate C++ exceptions
9 years ago
Andrzej Kotulski 7d425f22c2 Don't run rocksdb benchmark in debug mode
9 years ago
Sam Blackshear 65de2d9946 refactoring procCfg API to make it easier to mock
9 years ago
Sam Blackshear 2d89426170 fixing tenv_lookup
9 years ago
Sam Blackshear 337d2cc537 fixing tenv_add to add only struct_typ's
9 years ago
Sam Blackshear 749a649138 translating an expression returns its type
9 years ago
martinoluca 44502c1673 Merge infer-deps files generated by Buck
9 years ago
jrm 082ca6a90a Initial support for lazy dynamic dispatch
9 years ago
Sam Blackshear 82f2b7b6de make tenv a typename -> struct_typ map
9 years ago
Sam Blackshear 878bf938eb kill Tenum
9 years ago
Dino Distefano b7d6f2a3bd Fixed problem with null pointer dereference in c library models.
9 years ago
Cristiano Calcagno 89a2f2a7b4 Keep only on-demand infrastructure and delete the rest or the infrastructure.
9 years ago
jrm 761902afad for the @PerformanceCritical checker, skip allocations reports on subtypes of java.lang.Throwable instead of only java.lang.Exceptions
9 years ago
Cristiano Calcagno e0d5847eb8 Deprecate incremental
9 years ago
Dino Distefano c868f51b2d Introducing checker for observer of notification centers
9 years ago
Cristiano Calcagno 021cf213a6 Bypass the interprocedural algorithm in Fork with ondemand, and replace it with a simple iteration.
9 years ago
kstreee f400247d16 Fix missing import statement bug.
9 years ago
jrm 8ce56968d6 no longer report NULL_TEST_AFTER_DEREFERENCE in tracing mode
9 years ago
Jules Villard fcd0379d52 fix bug that made it crash
9 years ago
Jules Villard 1952f54d8c minor cleanups
9 years ago
Dulma Rodriguez 379d185d74 Sort the fields in the tenv at the end of translation as some translations need the original order
9 years ago
jrm 697778cc3b Add the annotation @IgnoreAllocations to stop tracking allocations whenever useless
9 years ago
Samuel Blackshear ed580c59e9 implementing procedure cfg wrapper
9 years ago
Cristiano Calcagno f3ba6c3906 Revamped Timeout module to save and restore seconds and symops.
9 years ago
Jules Villard 2277c23c60 move java-specific code out of analyze.Infer
9 years ago
Dino Distefano be8f25c90b Improved/simplified framework for frontend checkers.
9 years ago
Dulma Rodriguez 4264e94565 Fix problems with translation of InitListExpr
9 years ago
Jules Villard 9d080cadb1 move get_javac_args to jwlib.py
9 years ago
Josh Berdine 2c489371dd Revert "[ondemand][backend] Turn on on-demand infrastructure by default"
9 years ago
Peter O'Hearn bec08365de Part 1 of double unlock, locks as resources
9 years ago
jrm 1f5529c67e The @NoAllocation checker should not report on created exceptions
9 years ago
Cristiano Calcagno 16402cddc0 Save global state for abstraction for on-demand.
9 years ago
Cristiano Calcagno 90489d7f54 Always analyze procedures when analyze_models is set.
9 years ago
Andrzej Kotulski decb263b1d Fix translation when accessing reference type fields
9 years ago
Cristiano Calcagno ccd760b239 Fix pre-analysis crash in master.
9 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.
9 years ago
jrm ba4dbef2d9 cleanup the Java divide by zero end-to-end test
9 years ago
jrm 73a07dc44e Fix gradle integration tests
9 years ago
Jules Villard 37c2d39dac move jwlib.FILELISTS to config.py
9 years ago
Jules Villard dc52ce8158 ignore errors as appropriate on input decode/output encode
9 years ago
Sam Blackshear cd002e5c46 fixing angelic mode for struct values passed by reference
9 years ago
Sam Blackshear 9f346ea1fc allowing abstraction of Tvar's
9 years ago
Jules Villard af5f4c6afd remove inaccurate output about analyzing 0 procedures
9 years ago
Andrzej Kotulski a83f544775 Make Sil.expand_type non-recursive
9 years ago
Jules Villard 88881581b3 use supplied javac instead of the one from PATH
9 years ago
Andrzej Kotulski e4a0e9bbf7 Translate CXXDefaultInitExpr
9 years ago
Cristiano Calcagno 2b1558af6d Turn on on-demand infrastructure by default
9 years ago
Cristiano Calcagno 57b4497663 Start reactive exploration from changed procedures only.
9 years ago
Josh Berdine cca3ecf15c Update .merlin warnings list and compile flags
9 years ago
kstreee a7e004472d Resolve a bug that Infer does not analyze procedures when the analyzer is run on '/'.
9 years ago
Andrzej Kotulski 7cb4165189 Set _FORTIFY_SOURCE to 0 when compiling with clang
9 years ago
Cristiano Calcagno 42ecddcf37 Add command line arguments for reactive mode.
9 years ago
Andrzej Kotulski 49bf38c56f Fix symbolic links in cpp tests after formatting diff (part 2)
9 years ago
Andrzej Kotulski 1fdead5958 Fix symbolic links in cpp tests after formatting diff (part 1)
9 years ago
Cristiano Calcagno c570d97ad8 Cleanup code for registering builtins.
9 years ago
Cristiano Calcagno bf2909dd34 Cleanup global state in module Fork.
9 years ago
Josh Berdine de31246399 Builtin.builtin_plain_functions is no longer used
9 years ago
Josh Berdine b54fbc2776 Add test_build target warnings not fatal otherwise
9 years ago
Josh Berdine 3a7f4b9d3f Add byte target
9 years ago
Josh Berdine 4e8008baf2 Simplify setting ocamlbuild options
9 years ago
Dulma Rodriguez 2fb2b3d9e1 Add the virtual flag of C++ methods in method calls
9 years ago
Josh Berdine c585383fba Let ocamlfind find include and lib files
9 years ago
Andrzej Kotulski 4584f7f6fc [clang-format] Reformat all c/cpp/objc sources with clang-format
9 years ago
Dulma Rodriguez c82a4c1cc1 Add the models to the intellij project that contains the tests
9 years ago
Andrzej Kotulski 50fc847c10 Compile C models again in C++
9 years ago
Andrzej Kotulski 9163b319a6 Fix whitespace issues from last diff
9 years ago
Josh Berdine a73d7be9a8 Remove unused support for ocaml < 4.02
9 years ago
martinoluca fc589ccf34 Fix encoding error while printing descriptions in stdout
9 years ago
Andrzej Kotulski 941a1c02fb Increase size of biniou buffer, add logging in case of failure
9 years ago
Josh Berdine 77b22ded03 Warn on unused identifiers
9 years ago
Josh Berdine 02056079cf Warn of unused values
9 years ago
Josh Berdine a87ef7e7ff Remove old front-end code
9 years ago
jrm c6d8cdc8ee Add support for @NoAllocation in the performance critical checker
9 years ago
jrm 14d4f862eb @Performance critical checker: compute the expensive call stack lazily when reporting errors
9 years ago
Sam Blackshear 091f31dd17 translating monitor exit/enter
9 years ago
Dulma Rodriguez 7721743f46 Model ObjC method isKindOfClass
9 years ago
Dulma Rodriguez efd3aeccc6 Using the attributes table to find out the method to call in virtual calls
9 years ago
Andrzej Kotulski f703d780da Translate headers located inside analyzed project
9 years ago
Josh Berdine a6d7bbb38b Warn of unescaped end-of-line in a string constant
9 years ago
jrm 4af130bf8d remove subtyping rule for the @PerformanceCritical annotation
9 years ago
Josh Berdine 55cb61dbda Warn of unused open statements
9 years ago
Josh Berdine b155168083 Open Utils implicitly
9 years ago
Josh Berdine 8a9f221119 Use Utils in jTransExn and jTransStaticField
9 years ago
Josh Berdine 7f231b8aa0 Move pi and sigma types from Dom to Prop
9 years ago
Josh Berdine 2fa5c5b4e9 Warn of unused types
9 years ago
Josh Berdine 89338c86e9 Warn of unused constructors
9 years ago
Josh Berdine 2e4f4a0c5f Warn of label omitted in function application
9 years ago
Josh Berdine 2f47142b94 Warn of unused loop index variables
9 years ago
Josh Berdine bd8284443c Warn of unused extension (exception) constructors
9 years ago
Josh Berdine 7e7d524e29 Enable -short-paths for better error messages
9 years ago
Josh Berdine 4f4b00fffa Enable -strict-sequence
9 years ago
Josh Berdine 675cfeb56c Enable -strict-formats
9 years ago
Josh Berdine 9bdd1a9d0f Enable -principal to check ambiguous code
9 years ago
Sam Blackshear 5833835289 dynamic dispatch for virtual calls in Java
9 years ago
Josh Berdine fb96eaabcd Make ocamlbuild obey make --silent
9 years ago
Josh Berdine 264038f3ee Make clean target obey --silent
9 years ago
Sam Blackshear bb793770b9 remove --no-cache option, which does nothing
9 years ago
Jules Villard 07822ff16e output infer source locations on --debug-exceptions
9 years ago
Dino Distefano e0fe2af712 Added a two new attributes: observer/unsubscribed_observer
9 years ago
Andrzej Kotulski 3320043217 Fix further problems with forward declarations in C/C++
9 years ago
Andrzej Kotulski 32a5cae175 Fix infinite loop in type expansion
9 years ago
Andrzej Kotulski 3db68bcb4c Create .start file when infer starts
9 years ago
Dulma Rodriguez 5db8fa4539 Remove tvars from the tenv
9 years ago
Sam Blackshear 556b9c121d improving error message from fragment retains View checker
9 years ago
Dulma Rodriguez bf90a64fb5 Fix the typing implication in the bi-abduction for non Java types
9 years ago
jrm 8eb73bf39d Turn on ondemand for the tracing mode
9 years ago
Cristiano Calcagno 2a926d8294 Remove uses of assert false to get original ml location.
9 years ago
jrm 38cb5b48ec Remove no longer useful model for java.lang.Thread
9 years ago
Andrzej Kotulski 8c832142b4 Don't add process type redeclaration unless it has definition
9 years ago
Sam Blackshear 7af27e07d5 deleting unused type_prop.ml
9 years ago
Dino Distefano c41cba92ea Fixed test for taint analysis
9 years ago
Sam Blackshear 5e9a21573b preventing Bad_footprint when passing struct value by reference
9 years ago
jrm 36cc1b0d2e Remove dead code. Feature now implemented in .inferconfig
9 years ago
jrm 904151888c fix treatment of linked list in Java
9 years ago
Dulma Rodriguez ac7959f2df Adding subtyping to ObjC
9 years ago
Jeremy Dubreil 208021fc7e Fix the buck integration for the analysis of Buck itself
9 years ago
Cristiano Calcagno 047eec5a6f Refactor callbacks for Eradicate and Checkers.
9 years ago
Dino Distefano c65947439f Implementing translation of CXXForRangeStmt
9 years ago
Jeremy Dubreil 6389cb9bd0 revert on-demand for the checkers now that the hash for long filename is fixed
9 years ago
Sam Blackshear d0cd8fca47 removed unused param footprint_part
9 years ago
Cristiano Calcagno 88e1d137ba Refactor State module and make OnDemand restore it after calls.
9 years ago
Sam Blackshear 0fbd333cab Checker that complains when Fragments don't nullify their Views
9 years ago
Cristiano Calcagno d31b041fba Replace CRC module with Digest.
9 years ago
jrm 3ece750c15 disable on-demand for the checkers while we fix the filename too long issue
9 years ago
Cristiano Calcagno 6be7266f1f Restore intraprocedural mode for Eradicate and Checkers
9 years ago
Cristiano Calcagno 34b62fc51c Inline Java synthetic methods systematically before writing the cfg to disk.
9 years ago
Cristiano Calcagno 987471d938 Remove unused code for cyclomatic complexity.
9 years ago
Sam Blackshear 526e155046 move resolve_method inside method_invocation
9 years ago
Cristiano Calcagno 41de08924b Indentation of command-line agruments.
9 years ago
jrm dba7e7124f revive the @PerforamanceCritical checker when using Buck
9 years ago
Andrzej Kotulski 49d7bdb6bd Translate CXXScalarValueInitExpr
9 years ago
Andrzej Kotulski 359ad9dd4b Translate constructor initializer
9 years ago
Andrzej Kotulski 1d6aea0fb9 Add typ to trans_state.var_exp
9 years ago
Andrzej Kotulski 7cabc86f77 Pass return parameter type in context
9 years ago
Peter O'Hearn 028ac24d46 Simple model for locks
9 years ago
Jules Villard b1d77e54aa add summary of the analysis to the standard output
9 years ago
Jules Villard cbb8810e2c make dotty field optional in json
9 years ago
Jules Villard e11395d199 print location of errors in infer source code in debug mode
9 years ago
Andrzej Kotulski 8545a0310e Treat xvalues as they were lvalues
9 years ago
Andrzej Kotulski 36fb1f202c Deal with empty parameter names
9 years ago
Jeremy Dubreil 70dbe8db74 Simplify the type comparison of Java classes
9 years ago
jrm 5da7823df5 The env variables used by the Infer backend were only passed in multicore mode
9 years ago
Sam Blackshear 7938fbb344 Fixing 'file name too long' errors
9 years ago
Sam Blackshear f3c7125dc1 build ocaml with debug tag to enable stack traces
9 years ago
Andrzej Kotulski da3a106541 Always translate CXXRecordDecl as Sil.Class
9 years ago
Cristiano Calcagno 58611b15d0 Cleanup of CMethod_signature.
9 years ago
Dino Distefano 5b91ec9f7f A fix for empty retain cycle
9 years ago
Sam Blackshear ef3912cbde Adding on-the-fly translation of types during pre-analysis
9 years ago
Cristiano Calcagno 5683fd8413 Fix collision of spec file names on case insensitive file systems.
9 years ago
Tony Cosentini ac5f092653 Target JDK 1.7 for annotations and processor jar for Android.
9 years ago
Cristiano Calcagno 1b4efcfc7a Enable the analysis of models in on-demand mode.
9 years ago
Jeremy Dubreil 8fcd094c64 Fix NPE in the annotation processor for SuppressWarnings
9 years ago
Andrzej Kotulski 75f4947cb1 Ignore type change in DerivedToBase cast
9 years ago
Andrzej Kotulski b08acedf29 Use clang for default argument resolution
9 years ago
Cristiano Calcagno 10286931ee Cleanup handling of global state, and add footprint mode to the values.
9 years ago
Cristiano Calcagno 7a7260635f Refactor the worklist data structures of the intraprocedural algorithm as non-global state.
9 years ago
Dulma Rodriguez f4bbd44212 Translate dynamic cast for C++
9 years ago
Tony Cosentini 75cca6b3d3 Add android.app.Service to whitelisted Android initializer classes.
9 years ago
Dulma Rodriguez 10fe998c12 Extending subtyping to C++
9 years ago
Sam Blackshear 82b1dd0572 adding support for source roots in maven integration
9 years ago
Andrzej Kotulski 262796d3bf Distinguish between C++ and objc class types
9 years ago
Andrzej Kotulski 9d7ab4b9c2 Translate conversion operators
9 years ago
Sam Blackshear be86e5d15d Exposing java_typ_to_string
9 years ago
Sam Blackshear 14e934205f implementing dynamic dispatch support for Java interfaces
9 years ago
Andrzej Kotulski 3dcd6490c2 Translate reinterpret_cast and const_cast
9 years ago
Cristiano Calcagno 7673d94600 Distinguish between class kinds: CPP, Java, Objc
9 years ago
Andrzej Kotulski bdab22a093 Support temporary objects (CXXTemporaryObjectExpr)
9 years ago
Andrzej Kotulski 44a6ec4f10 Fix return parameter handling
9 years ago
Cristiano Calcagno 74dbfd72b5 Fix issues with html output for debug in on-demand mode.
9 years ago
Andrzej Kotulski e329916e5b Add basic translation of CXXBindTemporaryExpr
9 years ago
Andrzej Kotulski 0a32c95f39 Fix build of llvm frontend
9 years ago
Andrzej Kotulski 1fe920c0c5 Cleanup code triggering code translation
9 years ago
Andrzej Kotulski ec80d40bdd Populate return parameter when returning + turn on new feature for C/C++
9 years ago
Andrzej Kotulski 61de633647 Add information whether translated method has return parameter
9 years ago
Andrzej Kotulski 2c8238849d Add return parameter to function/method call
9 years ago
Andrzej Kotulski 58be5d0eb0 Add return parameter to functions returning structs
9 years ago
jrm 18668a41ce simplify the API to create procedure descriptions
9 years ago
Sam Blackshear dc0b91662a Save space/simplify by deleting Exe.file_map
9 years ago
Cristiano Calcagno 162dc42b5b Use a record for struct types instead of a 7-tuple.
9 years ago
Andrzej Kotulski a317ac38f2 Use init_exp in InitListExpr and CompoundLiteralExpr
9 years ago
Andrzej Kotulski 5eb7d9e994 Add init_pvar to trans_state and use it in c++ constructor
9 years ago
Dulma Rodriguez f379383b04 Adding support for annotations for cpp classes to separate them in the backend from objc classes
9 years ago
jrm ad2a9064c3 No longer overwrite the attributes in the summary if already existing
9 years ago
jrm cdda16effa Make Eradicate use on-demand analysis by default
9 years ago
Andrzej Kotulski fcb561a1ee Use Sil.exp instead of var_res_trans to get initialized variable
9 years ago
Cristiano Calcagno bcba8a7011 Fix transition between re-execution and footprint in on demand, and support tests for incremental.
9 years ago
Cristiano Calcagno 453709c3c8 Only propagate nullable to return value when environment variable is set.
9 years ago
Cristiano Calcagno 97a3aa3d0b Fix treatment of recursion and double file descriptor close in on-demand.
9 years ago
Dulma Rodriguez f34f2dcd98 Don't crash when a cg cannot be loaded.
9 years ago
jrm 2e7956f384 Always use the current directory as the default classpath
9 years ago
Sam Blackshear 9c03a6b14c Using -processorpath and -processor flags correctly
9 years ago
jrm ec2a1e2130 Revive support for --no-cache when analyzing Buck-based projects
9 years ago
Sam Blackshear d1cf7b7177 removing unused tenv in conditional pruning
9 years ago
jrm 2479f69f34 remove symbolic link to deleted script BuckAnalyze
9 years ago
Sam Blackshear 6fa9b995e5 no longer catching Class_structure_exception
9 years ago
Jules Villard 59a3b9c22a add temp var from compoundLiteralExpr to the function locals
9 years ago
jrm ea5490989e Remove deprecated script BuckAnalyze
9 years ago
jrm 1544819b40 merge redundant code to configure logging
9 years ago
Jules Villard 7b9b6841d2 translate CompoundLiteralExpr
9 years ago
Dulma Rodriguez c32f8f39cd Update the intellij settings.
9 years ago
Dulma Rodriguez 7855d6ecfa Fix the order of the translated stmts inside compound stmt
9 years ago
jrm a7371d5678 Perf critical checker: save the chains of calls to expensive methods in the error traces
9 years ago
Sam Blackshear f1c424e1d4 fixing accidental change to Child.java
9 years ago
Dino Distefano 377893637a Direct property access should not fire on dealloc methods
9 years ago
Dulma Rodriguez c88ac54613 Improving the line number information in the string delegate warning check
9 years ago
Dino Distefano 1fc7d4c0a3 Fix year
9 years ago
Dino Distefano d4d5c3bb2f Implemented new check CXX_REFERENCE_CAPTURED_IN_OBJC_BLOCK
9 years ago
Dulma Rodriguez 432dd28731 Improving the line number information in the string delegate warning check
9 years ago
Tony Cosentini dc9f8a7a01 Don't create infer-out directory or logs unless analyzing something.
9 years ago
Sam Blackshear 43daa760ee adding InferJava flags for classpath and class-source map, along with associated Python boilerplate
9 years ago
Andrzej Kotulski 0ae9b0e7a1 Change the way nested structs are translated
9 years ago
Sam Blackshear e27959f655 adding annotation processor to build class -> source map, with proper deps this time
9 years ago
Dulma Rodriguez d5baa2a1de Revert "[java] adding annotation processor to build class -> source map"
9 years ago
jrm 22013a007b Buck integration: Infer should always use the javac out directory when running the analysis from the javac commands
9 years ago
Sam Blackshear 8f8d398a9a adding annotation processor to build class -> source map
9 years ago
Andrzej Kotulski df192d06c3 Use ints as clang pointers
9 years ago
Josh Berdine 2ff26d37fb Simplify CLocation implementation
9 years ago
Josh Berdine d9667d07e4 Remove unused CLocation.init_curr_source_file
9 years ago
Josh Berdine c930ef90eb Remove redundant CLocation.current_source_file
9 years ago
Josh Berdine 7999dc3c4e Check CLocation.current_source_file is redundant
9 years ago
jrm cf5040cbee call the on-demand analysis using the procedre name after name resolution
9 years ago
Sam Blackshear 022161cae2 refactoring SuppressWarnings processor to make it easy to add class -> source map processor
9 years ago
Andrzej Kotulski bd935c2347 Add destructor calls on delete expression
9 years ago
jrm 30e2cf7114 Revive the "call by procedure name" mechanism for Java
9 years ago
Andrzej Kotulski 32745b67aa Add dotty information about retain cycle
9 years ago
Andrzej Kotulski 0ea850b7a2 Add dotty file contents to json report
9 years ago
Andrzej Kotulski 3adbb56e9c Add extra field to error_desc.
9 years ago
Josh Berdine 2c0fc4025b Remove out-of-date comments
9 years ago
Jules Villard 9ecf2d9f5e force git repo root when computing version info
9 years ago
jrm b3bf8b1ecc No longer overwrite the list of non-static fields during the translation
9 years ago
jrm 1754e4f0b0 Fix copy-pasted test names
9 years ago
jrm 51cd3ded47 make sure that the Infer out directory is empty before generating the models
9 years ago
Jules Villard f2240395dd restore join of integer values
9 years ago
jrm 9f5159241f Use Typename.t for the type of the supertypes in the defintion of classes.
9 years ago
jrm 6d91199be7 Generalize the detection of assertion failures to any kind of custom errors defined programatically in the orginal source code
9 years ago
Sam Blackshear 43ee904a1f fix possible infinite loop in get_fld_typ_path
9 years ago
Cristiano Calcagno 51f494f542 Add missing reference to eradicate directory.
9 years ago
Cristiano Calcagno a8ee0e6361 Move Eradicate files to a separate directory.
9 years ago
Josh Berdine e607ceb5ba Re-enable printing of specs in InferPrint
9 years ago
Josh Berdine b93bbfdd39 Fix recursive make invocations building models
9 years ago
martinoluca 6daedaef13 Pass javac wrapper through command-line argument
9 years ago
jrm 807922ca7f simplify the PatternMatch module
9 years ago
jrm 8325630da1 remove the function Sil.get_typ and use Sil.tenv_lookup instead
9 years ago
jrm 467fe385be Use the Mangled module to name the parameters in the procudure description instead of simple string
9 years ago
Sam Blackshear 45e8db6892 turn off intentional crashing on assertion failures in developer mode
9 years ago
jrm 2e7f5735d3 Extract the naming of types to its own module named Typename
9 years ago
jrm 4143d4eb2d Extract the kind of data structure, Class Struct or Union, into it own module
9 years ago
Dulma Rodriguez bf9dc57a9b Fix broken test
9 years ago
Jules Villard a6fb4d82bb do not use --delete when rsyncing annotations
9 years ago
Dulma Rodriguez 193fb8799c Removing issues in the models that cause Infer to flag warnings
9 years ago
Andrzej Kotulski cc4d3f3cd0 make get_decl_from_typ_ptr return optional type instead of crashing
9 years ago
Andrzej Kotulski 7960798ca8 Deal with default parameter earlier
9 years ago
Andrzej Kotulski 70b003696f Translate bodies of destructors
9 years ago
Dino Distefano 4feb93e91c Fixed FP for blocks used in loops generated by join operator
9 years ago
Sam Blackshear 15480f34d5 distinguishing between failures and timeouts
9 years ago
Jules Villard 09f9765473 use several build directories
9 years ago
Sam Blackshear 6b9e1fc9d7 Stop reporting false alarms due to __nullable on Obj-C property getters and setters
9 years ago
jrm d579b2be51 avoid name collision when two or more files have the same basename
9 years ago
Josh Berdine 24aceba441 Remove unnecessary code from Arg module
9 years ago
Andrzej Kotulski f83927f0d7 Don't set is_objc_instance_method=true for any C++ methods
9 years ago
Jules Villard 0ccbb80df9 quote infer result dir shell variable
9 years ago
Dulma Rodriguez 96a5cf58e5 Nullify variables with objc flags if they appear in conditions
9 years ago
Jules Villard ec98c32b18 generate .{annot,cmt} files on demand
9 years ago
Sam Blackshear a82588ba8a Factoring out the implementations for letderef and set
9 years ago
Sam Blackshear 812ac265a8 more logging cleanup: only print Errdesc.warning_err in developer mode
9 years ago
Jules Villard 98557bb1fd compatibility with older python (eg 2.7.3)
9 years ago
Jules Villard ea4be060f6 add --disable-java-analyzers option
9 years ago
Sam Blackshear 44de91f84b logging to stderr/stdout all the time
9 years ago
Jules Villard edcc984158 compute version number inside configure script
9 years ago
Samuel Blackshear 546eaa0eaa only log to analyzer_err and analyzer_out files in developer mode
9 years ago
Dulma Rodriguez 742cb4146e Remove property of maps
9 years ago
Andrzej Kotulski 0bf6333708 Remove parent_line_number information from cfg translation
9 years ago
jrm 0def5c4111 No longer enforce the subtyping rule for the @PerformanceCritical annotation
9 years ago
Sam Blackshear df97489aa1 closing the classpath when we're done with it
9 years ago
Josh Berdine 63b57790f9 Fix indentation of multiline copyright comment
9 years ago
jrm d390568aed to avoid redundancy, no longer print the name of the class when printing the name of a constructor
9 years ago
Sam Blackshear 53167d98cd refactoring command line options for debugging
9 years ago
Josh Berdine b729c93dd5 Add model of java.lang.Class.getResource
9 years ago
Josh Berdine d99b6ca492 Use doesNotContain instead of containsExactly none
9 years ago
Andrzej Kotulski 6d9c5c684e Fix naming problems with template methods
9 years ago
Jules Villard 4d23334abd add version.mli
9 years ago
Jules Villard a31d45b4f7 do not use ocamlbuild -clean, do not print rm commands
9 years ago
Dulma Rodriguez fcd040ff8a Don't use the property of maps for finding properties in the frontend checkers
9 years ago
Dulma Rodriguez 339cf56eb9 Replace query for getter and setter with info from the procdesc rather than the property map
9 years ago
Jules Villard 2565bb1438 fix open-source taint models
9 years ago
Jules Villard b8c16ddb27 fix typo
9 years ago
jrm 24d28c6858 no longer fail when the type of an execption is not found in the type environement
9 years ago
Dino Distefano c8b80f2435 Extended framework for taint analysis
9 years ago
Sam Blackshear c6b8682dd6 compute taint errors in single pass over the set of atoms
9 years ago
Cristiano Calcagno 1666d7f353 Model Map.put() alongside Map.containsKey().
9 years ago
jrm 3ba477faff add more special characters that can appear in the list of filenames generated by Buck
9 years ago
jrm 15eb16723b non-functional refactoring of the Procname module
9 years ago
Sam Blackshear e0cf26e5c3 adding cf_interface flag--prereq for experimenting with dynamic dispatch for interfaces only
9 years ago
Sam Blackshear 99f79587cd adding ContentValues as sink
9 years ago
Josh Berdine d66261a1f4 Do not reuse Undef function values
9 years ago
Andrzej Kotulski 5b4df5566c Make all internal pointers convertible to ints
9 years ago
Dulma Rodriguez a54b2d03f6 Remove unused code from ast_expressions
9 years ago
Dulma Rodriguez 515ce95a98 Remove unused code in ObjCProperty_decl
9 years ago
Dulma Rodriguez b51da4f050 Remove the concept of generated method from the frontend and proc attributes
9 years ago
Dulma Rodriguez 1e5b8aeee7 Adding builtin setters and using them by skip
9 years ago
Andrzej Kotulski 173ee91844 Support template methods
9 years ago
Andrzej Kotulski b544be7bef Use PriorityNode.compute_results_to_parent in init_expr_trans
9 years ago
Andrzej Kotulski cd77e41fbb Simplify PriorityNode.compute_results_to_parent
9 years ago
Andrzej Kotulski 84549f691d Support decl_stmt in switch stmt
9 years ago
Andrzej Kotulski a8d5f4241d Put condition node to res_trans_cond
9 years ago
Jules Villard a57ec90405 add empty _tags file to pacify ocaml
9 years ago
jrm 61e457b1f6 Run the @PerformanceCritical checker by default with the other checkers
9 years ago
martinoluca 0dfe0b8f75 Let InferPrint count timeouts
9 years ago
Dulma Rodriguez c02b3ca034 Add correct ivar name to the getters and save the ivar to the tenv if not available
9 years ago
Andrzej Kotulski 6d7521809b Update fcp to get automatic location visitor
9 years ago
Andrzej Kotulski eeb7c33230 Update fcp
9 years ago
Andrzej Kotulski 92690551a6 Handle lvalues inside conditional operator right + fix init_expr_trans to fix materializeTempExpr not connecting nodes
9 years ago
Dulma Rodriguez 9c9504ba51 Using the link from method decl to property to determine whether the method is accessor
9 years ago
jrm 3b919179bc Add the type of the resource being leaked to the error message
9 years ago
jrm 5a218a6d02 treat guava preconditions checks as assume instead of exeption throwing assertions
9 years ago
Jules Villard a774f5e733 compile with -safe-string
9 years ago
Jules Villard 8dabf716e0 remove compilation warnings for OCaml version >= 4.02.0
9 years ago
Dulma Rodriguez 4b82e208ff Update facebook clang plugin after adding more info about ObjC properties
9 years ago
Sam Blackshear 8e8772f1aa make tainting work properly for skip functions
9 years ago
Dino Distefano dd5b3dfd83 Making the checker not report on init methods
9 years ago
Dino Distefano e76939b53b Drawing retain cycles
9 years ago
Dulma Rodriguez 37fdeb84bc Moving the property frontend checkers to a dummy procdesc
9 years ago
Andrzej Kotulski a1c1b10862 Use priority node for branches inside coditional operator
9 years ago
Andrzej Kotulski 9db84e3a86 Always translate record types
9 years ago
Jules Villard c95a142d76 remove GNU-specific install flags
9 years ago
Jules Villard 5019471640 migrate infer/src/Makefile
9 years ago
Jules Villard 7f1b494001 migrate infer/models/Makefile
9 years ago
Jules Villard 408ec141ad migrate infer/Makefile
9 years ago
Jules Villard dbfa1f7c69 migrate infer/annotations/Makefile
9 years ago
Andrzej Kotulski 96b659bb6e fix cpp frontend tests
9 years ago
Andrzej Kotulski 0bf7e46579 Translate C++ function templates
9 years ago
Sam Blackshear 4dc9dac9e9 getting started on a Nullable annotation checker for obj-c
9 years ago
Andrzej Kotulski d4e76fa9ec Refactor UnaryOperator_trans to use compute_results_to_parent
9 years ago
Andrzej Kotulski 71482fb472 Refactor CompoundBinaryOperator to use same code as BinaryOperator
9 years ago
Dino Distefano 99c491e8c7 Introducing the DIRECT_ATOMIC_PROPERTY_ACCESS
9 years ago
Dulma Rodriguez 12d21c73dd Adding builtins for getters and calling them by skip
9 years ago
Andrzej Kotulski 1349492e57 Update facebook-clang-plugins version
9 years ago
jrm 1aa354cf1f Skip the Buck build command when the list of target is empty
9 years ago
jrm a49b0965ef Model `android.view.View.findViewById` as an expensive method
9 years ago
martinoluca e62920ebae Add support for passing blacklist regex for files to not analyze with Buck
9 years ago
Jules Villard f7ecf30739 refactor pruning code in symExec.ml
9 years ago
Andrzej Kotulski 5a4f5fa444 Refactor BinaryOperator_trans to use compute_results_to_parent
9 years ago
Andrzej Kotulski 60b4f6e766 Refactor PriorityNode.compute_results_to_parent to call collect_res_trans directly
9 years ago
Andrzej Kotulski 35bb8a9a26 Change order in which ids get generated for objcMessageExpr_trans
9 years ago
Jules Villard 1abebf9046 minor cleanups in prop.ml
9 years ago
Andrzej Kotulski 3f9a08f99c Defer cfg node creation for returnStmt and init_expr_trans
9 years ago
Andrzej Kotulski 0d1af3cc46 Don't set succ_nodes for substatements in returnStmt and init_expr_trans
9 years ago
Andrzej Kotulski 9353c7bbfd Use qualified names for global variables
9 years ago
Andrzej Kotulski a06ce9ca0e Don't report null dereference on 'this' in C++ methods
9 years ago
Andrzej Kotulski 22b84162d6 Don't use trans_state.parent_line_number to determine location
9 years ago
Andrzej Kotulski 1eecdacea6 Ignore type change in UncheckedDerivedToBase cast
9 years ago
jrm b598c747b5 Always consider Java types as subtypes of themselves
9 years ago
jrm d712635feb Automatically infer the @PerformanceCritical annotations from the overriden methods
9 years ago
Sam Blackshear dcdebbd811 creating a framework for adding src/sink models based on method names/signatures alone
9 years ago
Sam Blackshear a6543cd665 simplifying use of process_splitting by moving normalization inside
9 years ago
Jules Villard 37d2e84192 dedup merged json reports
9 years ago
Cristiano Calcagno 8cd68cd890 Separate payloads from different analyses in specs.
9 years ago
Andrzej Kotulski ddbf4d9c47 Support template classes
9 years ago
Andrzej Kotulski 7389dfe976 Don't crash when method decl is not found
9 years ago
Dulma Rodriguez 0441919a42 Using clang's method resolution if possible
9 years ago
Sam Blackshear 867e7804af implementing abstract methods to avoid false negatives due to dynamic dispatch issues
9 years ago
Sam Blackshear 29ea879930 eliminating precondition not met in taint analysis
9 years ago
Sam Blackshear 353f23695a eliminate need to use attr_check_changed when adding or replacing attributes
9 years ago
Andrzej Kotulski 47f973660e Turn off compiler all warnings to avoid compilation failures
9 years ago
Andrzej Kotulski 81337ce2cb Support MaterializeTemporaryExpr
9 years ago
Jules Villard 22bd029e46 refactor print_and_save_errors
9 years ago
Jules Villard 529d103977 refactor reading json
9 years ago
Jules Villard fc2879ca8f refactor dumping of json
9 years ago
Andrzej Kotulski 04e4546a91 Major update of facebook-clang-plugins
9 years ago
Sam Blackshear 8eb668f668 deleting string models/tests
9 years ago
jrm 646c9dbb61 Report error message with call stacks for @PerformanceCritical checker
9 years ago
Sam Blackshear 848bf24f66 Print warnings when running InferPrint on a .specs file
9 years ago
Sam Blackshear 14c616e34f clean up some duplicate code in Errdesc
9 years ago
martinoluca 64189548b0 Add paths to specs through file list
9 years ago
Dulma Rodriguez 369de5880e Add variable to locals in dispatch functions as usual
9 years ago
jrm afac6dbfdc Fixing a couple of broken things in the script to compare Infer reports
9 years ago
Sam Blackshear c7c8d58334 fixing taint analysis so it doesn't prevent postcondition inference
9 years ago
Andrzej Kotulski 16cb8e3f30 Translate CXXOperatorCallExpr
9 years ago
Andrzej Kotulski c45f7793ea Assign proper location information to children of OpaqueValueExpr
9 years ago
Andrzej Kotulski dbe4c0c307 Assign proper location information to block
9 years ago
Sam Blackshear 8e9ed5eb6b adding model for verifying sockets before reading from them
9 years ago
Dino Distefano 761e4acc08 Adding models of CADisplayLink for catching retain cycles.
9 years ago
Andrzej Kotulski cb42fdcc31 Use fully qualified names for functions
9 years ago
Andrzej Kotulski 9748502a1a Handle C++ static methods
9 years ago
jrm 2e01d3402f adding some tests to outline the behaviour of the @Expensive checker with inheritance
9 years ago
jrm 8fb90ccf54 get the @PerformanceCritical and @Expensive annotatations of overridden methods from the summaries
9 years ago
Andrzej Kotulski c2aaf867cd Cleanup handling of namespaces from ocaml code
9 years ago
Andrzej Kotulski 71e424d6ba Use qual_name to extract class name from method decl
9 years ago
Dulma Rodriguez 87a3d693e1 Adding static variables to blocks class to get retain cycles
9 years ago
jrm 930eaba2d5 model Inflater and Deflater as resources
9 years ago
jrm 12e37c97fc sort the list of bugs in order to preserve the position of the entries in the JSON file
9 years ago
Sam Blackshear 631f2a9882 fixing spacing issue in context leak error message
9 years ago
Sam Blackshear 3d646f012e use buck query for faster target lookup
9 years ago
martinoluca 0ad19a3b93 Fix wrong module name in toplevel buck module
9 years ago
Dino Distefano 316ad95659 Fixing Bad pointer comparison checker in fast iteration
9 years ago
Dino Distefano 03b4c11c06 Improved error message for taint analysis
9 years ago
Josh Berdine 53a32848d5 Model and test FileChannel.tryLock throws
9 years ago
Andrzej Kotulski 55f9fb9d5e Add base class fields to C++ classes
9 years ago
Jules Villard 10db97be1e cleanup print_errors()
9 years ago
Josh Berdine bf408a1d03 Add models of FileChannel.tryLock methods.
9 years ago
Josh Berdine b77e24fa01 Model File.listFiles using undefined instead of allocation
9 years ago
Jules Villard 2367b1c9ff cleanup two c tests that were causing clang warnings
9 years ago
Andrzej Kotulski c4b237e9f6 Fix type of CXXThisExpr_trans
9 years ago
Dulma Rodriguez f20af0e9aa Add memory bucket for internal memory leak errors
9 years ago
Andrzej Kotulski 3262640214 Move translation of init_expr to general function
9 years ago
Jules Villard 81e143b3be move csv and json constants to issues.py
9 years ago
Jules Villard 9efc1b6be7 move mkdir_if_not_exists to utils.py
9 years ago
Jules Villard 1848f6deba move paths constants to config.py
9 years ago
Dulma Rodriguez 7d5e129ac0 Translate categories on demand
9 years ago
jrm 5691f24090 Use the summaries to store the @CallsExpensive attributes
9 years ago
Sam Blackshear 4fa4c9f0d6 Deleting models that specify a non-null return value
9 years ago
Sam Blackshear db7dd5aebe fixing angelic in case where unknown function is called indirectly
9 years ago
Josh Berdine f2ba1b1c76 Add model for java.io.File.listFiles
9 years ago
Jules Villard d545da14c1 fix stuff that was accidentally broken
9 years ago
Jules Villard 0490e739b0 move LOCALE to config.py
9 years ago
Jules Villard 2ec2858b66 move indenter to a new module source.py
9 years ago
Jules Villard 88b615d8ab move code about infer issues formats to issues.py
9 years ago
Jules Villard a416afeb44 move error types strings to a new issues.py
9 years ago
Jules Villard 9139ab5dfb move analyzer constants to config.py
9 years ago
Jules Villard ded09066ed create config.py and move BUG_FOUND_ERROR_CODE there
9 years ago
Andrzej Kotulski 1180aabe39 Fix result of returnStmt_trans
9 years ago
Dulma Rodriguez de1a627335 Translate enums as ints and not add them to the tenv
9 years ago
Jules Villard 80af77a528 revert back to printing python lists
9 years ago
Jules Villard 674c199605 remove vim hints
9 years ago
jrm b1b9cbe771 distinguish between the user added annotation @Expensive and the inferred annotation @CallsExpensive
9 years ago
Jules Villard 07ebdc0918 fix missing import
9 years ago
Jules Villard f72a1a4210 read errors from json instead of csv
9 years ago
Jules Villard ae81d8d215 handle unicode in source code
9 years ago
jrm 0cd533f892 Enforcing subtyping rules for @Expensive and @PerformanceCritical
9 years ago
jrm 6b6b4d1949 Detecting if methods annotated with @PerformanceCritical transitively call methods annotated with @Expensive
9 years ago
jrm 8636aa1f70 open the jar file of the model only once
9 years ago
Jules Villard e03b36338b rename infer.py to analyze.py
9 years ago
Jules Villard 5f57d199f3 print more info about ant/gradle/make/mvn capture
9 years ago
Jules Villard 571bb306cf [sync] repair broken github sync
9 years ago
Jules Villard 469d1e4902 fix printing number of analysed procs/files
9 years ago
Jules Villard 02b9bec78e remove extra newlines in infer output
9 years ago
Jules Villard d03dcb6961 generate json natively
9 years ago
Andrzej Kotulski db35afef1e Handle variable declaration inside condition expression correctly
9 years ago
Dulma Rodriguez 0db83eb5dd Adding the no progress bar option to the tests
9 years ago
jrm f5ddb983fe Initial version of the @Expensive checker
9 years ago
Jules Villard f88164dae9 define INFER_INFER_DIRECTORY more concisely
9 years ago
Jules Villard d0d0a5efa0 print copy-pastable compilation command in case of failure
9 years ago
Jules Villard 6bf9f47c14 add colored output
9 years ago
Andrzej Kotulski 3b4dda102b Change return type of CTrans.loop_instruction
9 years ago
Dino Distefano 0f5aa343e7 Fixed line number in the reporting of strong delegate warning
9 years ago
Jules Villard d50a401cd0 replace string constants for json fields with variables
9 years ago
Jules Villard 872ce8ea87 move python code to infer package
9 years ago
Dulma Rodriguez c602ce7a83 Adding progress bar to the analysis
9 years ago
Cristiano Calcagno 9177ba8d20 Add model for FileChannel.lock() returning not null
9 years ago
jrm a8388644b8 Add a flag to create the procedure descriptions of callees
9 years ago
Cristiano Calcagno 4300d1bf62 Add support for specifying the list of files to be analyzed in on-demand mode.
9 years ago
Dino Distefano 00e97afdf8 First version of taint analysis.
9 years ago
Andrzej Kotulski a9bdf2b291 Translate c++ constructor calls in var initialization
9 years ago
Dino Distefano ae49cacee8 Framework to emit warning from frontend
9 years ago
jrm 740f673451 build integration tests: temporarily removing the hash value for the base reports
9 years ago
Andrzej Kotulski 088293b6c2 Add pointer type to argument of method call
9 years ago
Jules Villard 47cc250bdd add way to save build integration test results
9 years ago
jrm 859b816e95 No longer report context leak on private methods
9 years ago
martinoluca 513eee3059 Adding initial support for Buck for Cxx with flavored targets
9 years ago
Jules Villard d151977b39 print stats in debug mode only
9 years ago
Cristiano Calcagno 078d3f1c1e Remove special treatment of harness code
9 years ago
Jules Villard 159d335da5 print source context together with each report
9 years ago
Jules Villard 43cb5ae7e0 refactor to expose indenter class
9 years ago
Dulma Rodriguez 80057ea523 Translate classes on demand
9 years ago
Jules Villard 8c1979410a print location of the html report
9 years ago
Jules Villard c68464bd29 add html backend
9 years ago
jrm d8e74e456c report leaks on all context, not only activities
9 years ago
Jules Villard 197b13434a use absolute path for BUILDDIR
9 years ago
jrm 4260c720c0 Disable the creation of the harness by default
9 years ago
jrm cbc19f484a Temporarily disabling the reporting on print args in Infer
9 years ago
jrm 6f3873aa99 Adding inferconfig support to skip the translation of generated source code
9 years ago
Sam Blackshear abc0e8315e better error messages for Activity leaks
9 years ago
Cristiano Calcagno 56ccb6b198 Fix assert false in Paths.
9 years ago
Cristiano Calcagno 6a922ff597 Print origin information for procedured modelled internally.
9 years ago
Andrzej Kotulski a7a332ea51 add different handling for C++ increment/decrement operators
9 years ago
Dulma Rodriguez 982616148e Adding endtoend test that shows that dispatch once works well
9 years ago
Dulma Rodriguez 56f3fb4f4b Translating structs and C++ classes only on demand
9 years ago
Dulma Rodriguez 1371ca96e9 Added endtoend test that shows that we can release objects inside a block
9 years ago
Andrzej Kotulski 9c578406a1 update clang plugin version
9 years ago
Andrzej Kotulski be07cdda2a Factor out some parts of CXXMemberCallExpr
9 years ago
Andrzej Kotulski 9e39f3bf72 Refactor of declRefExpr_trans & MemberExpr_trans
9 years ago
jrm 43958b461a Use the type environment as a cache of translated types
9 years ago
jrm 3076b434c1 Collect all the class fields in a single loop instead of collecting the static and non-static fields separately
9 years ago
jrm dc470816d1 Fix the option -a compile
9 years ago
Jules Villard 52f983253a remove -rec flag from atdgen
9 years ago
Dulma Rodriguez f1716988ec Adding endtoend test that shows the correct use of self inside a block
9 years ago
Andrzej Kotulski 1c80ba8bb7 simplify code handling default paramters
9 years ago
Dulma Rodriguez 042bcaf3e6 Adding endtoend test for blocks that shows proper handling of global variables and captured variables.
9 years ago
Dulma Rodriguez bee713e557 Fixing mangling of captured variables
9 years ago
Cristiano Calcagno 03bca6734c fix a number of issues related to the treatment of global state in ondemand analysis
9 years ago
Andrzej Kotulski 453924f303 Add basic translation of constructors
9 years ago
Andrzej Kotulski 87dfcdeb99 Replace '/' in anonymous type names
9 years ago
Jules Villard 1f973cfc12 refactor makefile to allow more ocaml and c libs to be added more easily
9 years ago
Sam Blackshear 04f92614e8 Moving printf args checker into Infer
9 years ago
Dulma Rodriguez 286d27be10 Remove the file information form the mangling of variable names
9 years ago
Jules Villard 7d0a7568f3 put Util.list_* functions into an IList module
9 years ago
Cristiano Calcagno f17f54939b checkers can now analyze a restricted subset of the procedures defined in a file
9 years ago
Andrzej Kotulski a5e1743382 Fix failing C++ frontend test
9 years ago
Andrzej Kotulski 5a07f767bb Handle assignment operations correctly
9 years ago
Andrzej Kotulski b86af1e5d1 Fix type information about reference types in CFGs
9 years ago
Cristiano Calcagno 596401856d report activity leaks without stopping the analysis
9 years ago
Jules Villard 2af1687cd4 add builtin for dictionary literals
9 years ago
Andrzej Kotulski bfe10e3829 Fix handling of C++ references
9 years ago
Dulma Rodriguez ba00f08f00 Remove variable resolution and use pointers to declarations instead
9 years ago
jrm c01df1fe90 no longer collect all possible subtypes in the type environment
9 years ago
Cristiano Calcagno 6ec888ec23 add option to create one cluster per procedure in on-demand mode
9 years ago
Dulma Rodriguez 6278b779df Adding memory leak bucket for cpp
9 years ago
jrm 3095b68127 Add a test case with @SuppressWarnings on a Buck project
9 years ago
jrm 2d074e82dc Add integration test for Buck
9 years ago
Andrzej Kotulski d360ba7776 update fcp
9 years ago
Dulma Rodriguez e49d9d6f4d Adding an outer context to the context in case of blocks
9 years ago
Jules Villard 5a7399f8cb fix always regenerating jsonbug with atdgen
9 years ago
Cristiano Calcagno 22aad3e33a Add basic support for on-demand for the core Infer analysis.
9 years ago
Dino Distefano e6625c9e37 Adding models for NSTimer and NSRunLoop
9 years ago
Andrzej Kotulski aa1951cad4 Create generic way of generating extra instructions
9 years ago
Andrzej Kotulski f63582893f Add basic e2e tests for C++
9 years ago
Andrzej Kotulski 7ac5a5c308 Refactor C frontend tests
9 years ago
Andrzej Kotulski d4c3d39fb9 Refactor C++ frontend tests
9 years ago
jrm d825302189 The option -o was not working with the Buck integration
9 years ago
Andrzej Kotulski cb0380eb4e Update version of fcp
9 years ago
Andrzej Kotulski f01a639605 Slight improvement of block function handling
9 years ago
Andrzej Kotulski 4d10c8d9f4 Add support for C++ this expression
9 years ago
Andrzej Kotulski f8b8078538 Fix build process of clang_ast_t files
9 years ago
jrm 4263b9a7c6 Add integration tests for Ant-based Java projects
9 years ago
jrm 4f7a56d470 Move the annotation processor into lib
9 years ago
Andrzej Kotulski b277d8164c Update fcp version
9 years ago
Andrzej Kotulski 59a7ca5424 small cleanup of ast_expressions.ml
9 years ago
Andrzej Kotulski b78d6f623a Split methods.cpp test into multiple ones
9 years ago
Cristiano Calcagno 1e9ce38056 Fix cast of null value.
9 years ago
Andrzej Kotulski 2a425b8218 Add structured type_ptr
9 years ago
Cristiano Calcagno 7d95e284d2 Let on-demand control whether to start at all the analysis of a procedure.
9 years ago
martinoluca 9db0648cb1 Fix compilation failure issue when compiling for armv7k architecture
9 years ago
jrm 76d2f66001 Add support for @SuppressWarnings on Buck projects
9 years ago
jrm 0282060808 delete the deprecated script inferJ
9 years ago
Dulma Rodriguez e6600cf03b Making the procname hash depend on relative paths
9 years ago
Sam Blackshear 7ee2bf248b Don't print Makefile generation time under errors during BuckAnalyze
9 years ago
Andrzej Kotulski a045886eba Get better language information about functions/methods
9 years ago
jrm 5e41fc7a54 fix a bug preventing to run the capture only with Buck
9 years ago
Andrzej Kotulski d6b1d422fd Update fcp and remove qual_type type
9 years ago
Sam Blackshear 30a7a2fd8e Fixing Symexec_memory error that occurs when dereferencing the return value of an undefined function
9 years ago
Cristiano Calcagno ebfe1d69cc simplify cluster and makefile creation when on-demand is active.
9 years ago
martinoluca 30d869b9b1 Disable SKIP_FUNCTIONs when Infer is not running in debug mode
9 years ago
Dulma Rodriguez a4c910cc2c Adding makefile generation time to the infer toplevel script
9 years ago
Cristiano Calcagno e2fb879321 make summaries deterministic by default by removing timing information
9 years ago
Andrzej Kotulski 16604a9e75 Update fcp which exports less redundant information
9 years ago
Irene Papakonstantinou 168980e9cd Bump infer release
9 years ago
Dulma Rodriguez 0b0cd0d38d [clang] Using qual names for fields
9 years ago
Cristiano Calcagno 1e96e56145 [backend][ondemand][perf] improve perf of on demand by only loading the minimum number of cfgs needed
9 years ago
Dulma Rodriguez e26f9b4dd4 [clang] Removing the use of raw types
9 years ago
Andrzej Kotulski a380cd3e6c [CFrontend] Use type attributes in more structured way
9 years ago
Cristiano Calcagno 75950384c9 [backend] Extend results directory with attributes for each procedure.
9 years ago
Andrzej Kotulski e8949d16e4 [Frontend][C++] Use Sil.class for C++ class/struct/union types
9 years ago
Cristiano Calcagno 1fcea9258a [backend] Fix Failure "handle input_value: truncated object" observer with Eradicate/Checkers, probably due to races when writing specs files.
9 years ago
martinoluca 6553ba2379 Replace the gmodules flag of Xcode's clang with equivalent ones
9 years ago
Andrzej Kotulski b810ae68b4 Skip some frontend tests when xcode version doesn't match
9 years ago
Dulma Rodriguez 79df8d2b3c [clang] Fix tests so that they pass with xcode 7
9 years ago
Dulma Rodriguez fd853f97ca [clang] C function names depend only on their name (and their file is they are static, and their type if we are in C++)
9 years ago
Andrzej Kotulski 6606df245c [CFrontend] Upgrade frontend tests to xcode 7
9 years ago
Sam Blackshear 09242fc711 [Infer][backend] Refactoring attribute categories so as not to conflate resource and undefined attrs
9 years ago
Cristiano Calcagno 8c80856e97 [Eradicate] Fix regression introduced when adding support for @TrueOnNull and @FalseOnNull.
9 years ago
Sam Blackshear a50ecde01c [Infer][backend] Fixing inconsistency between exe_env file and proc_attributes file in harness generation
9 years ago
Sam Blackshear 62b57827c8 [Infer][java] Fixing bug where passing -deprecation flag to javac broke compilation
9 years ago
Cristiano Calcagno 0f8c3e7974 [eradicate][ondemand] Skeleton of on-demand analysis for Eradicate.
9 years ago
Cristiano Calcagno 28f5025862 [backend] fix verbose logging "The project root ... is not a prefix of ..."
9 years ago
Sam Blackshear 5104d852ee [Infer][backend] No longer crashing when -project_root is not a prefix of source file path
9 years ago
Cristiano Calcagno f1c5cb337e [Eradicate] Add support for modeling boolean functions that check if the argument is null.
9 years ago
Dulma Rodriguez a4cbf94de5 [clang] Replacing type void by type void star . Fixing bug in commit 41e0128cf71a399ddc183a7d12fd43dfdc493985
9 years ago
Andrzej Kotulski 4dac490e8d Update fcp to have newer clang
9 years ago
Dulma Rodriguez bd48a7d0dd [clang] Fixing eradicate tests
9 years ago
Andrzej Kotulski bc050c4188 [C++] Add inheritance information for C++ classes
9 years ago
Dulma Rodriguez 0b4fc3a979 [backend] make adding overriden methods during cluster generation only available in Java
9 years ago
Dulma Rodriguez a3e4d7a0fa Revert "Make clang_ast_t.ml* non recursive"
9 years ago
Andrzej Kotulski 5c671677b4 Make clang_ast_t.ml* non recursive
9 years ago
Dulma Rodriguez 65f4280d6e [clang] [3 of 3] Changes to the translation of record, classes and enums
9 years ago
Dulma Rodriguez 51e0e40bc7 [clang] [2 of 3] Dealing with custom ast expressions and flow of types in the frontend.
9 years ago
Dulma Rodriguez 8e547d197d [clang] [1 of 3] Replacing parser of types
9 years ago
Andrzej Kotulski 99e9d11902 [Test] Fix handling of symbolic links in tests
9 years ago
Sam Blackshear 2e2673df66 [Infer][ios] Reporting error when NSNumber * is coerced to boolean in a comparison
9 years ago
Sam Blackshear 7646777f7f [Infer][backend] Refactoring: adding attr_is_undef method
9 years ago
Cristiano Calcagno 629b09307f [Models] Add model for System.getProperty for Infer and Eradicate
9 years ago
Dulma Rodriguez 8a48ca9360 Revert "Revert "[clang] Removing the case of flagging npes in initialisers. This causes many FPs.""
9 years ago
Dulma Rodriguez eafa285e1d [clang] Moving log to debug mode
9 years ago
Cristiano Calcagno 401109b4eb [Eradicate] Allow assigning null to fields marked @InjectView to support ButterKnife.
9 years ago
Cristiano Calcagno 2eb0f47646 [eradicate] generalize domain from two fields (nullable, present) to a map
9 years ago
Cristiano Calcagno 708ec725f9 [backend] remove support for internal parallelism and simplify the interprocedural algorithm
9 years ago
martinoluca d7877bbda4 [Fixed] Specify to clang to use x86_64 to build models and tests for ObjectiveCxx
9 years ago
Cristiano Calcagno 1e6247c872 [frontend] generate fresh ids separately for different procedures in the cfg
9 years ago
Cristiano Calcagno 76c8b6e58b [backend] Reorganize the resolution of procedure attributes, fixing a bug where annotations of overridden procedures via spec files were not found.
9 years ago
Sam Blackshear b8579fe531 [Infer][Gradle plugin] Fixing issue where files are captured twice
9 years ago
Sam Blackshear 7911e7e54d [Infer][filtering] Implementing SuppressWarnings filtering and adding tests
9 years ago
Sam Blackshear e46b6d3c9d [Infer][filtering] Always using local_config to build procedure filter
9 years ago
Cristiano Calcagno ea7c13ff6c [backend][cleanup] Move proc_attributes to a separate module.
9 years ago