5499 Commits (b70a0f0b650649340e3f3c7ccf2c1a6bebfea6ec)

Author SHA1 Message Date
Sam Blackshear 8d62fd12ca pretty-printable versions of common data structures
9 years ago
Dulma Rodriguez a4b87a0951 Translate destructor calls
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
Cristiano Calcagno 7c464c5bac Cleanup toplevel InferAnalyze and include procedures in the progress bar.
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
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
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
jrm 8ce56968d6 no longer report NULL_TEST_AFTER_DEREFERENCE in tracing mode
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
Dino Distefano be8f25c90b Improved/simplified framework for frontend checkers.
9 years ago
Dulma Rodriguez 4264e94565 Fix problems with translation of InitListExpr
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
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
Andrzej Kotulski a83f544775 Make Sil.expand_type non-recursive
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
kstreee a7e004472d Resolve a bug that Infer does not analyze procedures when the analyzer is run on '/'.
9 years ago
Cristiano Calcagno 42ecddcf37 Add command line arguments for reactive mode.
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
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
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
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
Cristiano Calcagno 2a926d8294 Remove uses of assert false to get original ml location.
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
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
Cristiano Calcagno 047eec5a6f Refactor callbacks for Eradicate and Checkers.
9 years ago
Dino Distefano c65947439f Implementing translation of CXXForRangeStmt
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
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
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 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
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
Cristiano Calcagno 1b4efcfc7a Enable the analysis of models in on-demand mode.
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
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
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
Sam Blackshear d1cf7b7177 removing unused tenv in conditional pruning
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
Jules Villard 7b9b6841d2 translate CompoundLiteralExpr
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
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 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
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
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
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 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
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
Jules Villard a6fb4d82bb do not use --delete when rsyncing annotations
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
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 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
Josh Berdine b729c93dd5 Add model of java.lang.Class.getResource
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
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 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
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
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 a49b0965ef Model `android.view.View.findViewById` as an expensive method
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
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 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 81337ce2cb Support MaterializeTemporaryExpr
9 years ago
Andrzej Kotulski 04e4546a91 Major update of facebook-clang-plugins
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
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
Andrzej Kotulski cb42fdcc31 Use fully qualified names for functions
9 years ago
Andrzej Kotulski 9748502a1a Handle C++ static methods
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
Sam Blackshear 631f2a9882 fixing spacing issue in context leak error message
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
Andrzej Kotulski 55f9fb9d5e Add base class fields to C++ classes
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
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 db7dd5aebe fixing angelic in case where unknown function is called indirectly
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
jrm b1b9cbe771 distinguish between the user added annotation @Expensive and the inferred annotation @CallsExpensive
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 469d1e4902 fix printing number of analysed procs/files
9 years ago
Jules Villard 02b9bec78e remove extra newlines in infer output
9 years ago
Andrzej Kotulski db35afef1e Handle variable declaration inside condition expression correctly
9 years ago
jrm f5ddb983fe Initial version of the @Expensive checker
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
Dulma Rodriguez c602ce7a83 Adding progress bar to the analysis
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
Andrzej Kotulski 088293b6c2 Add pointer type to argument of method call
9 years ago
jrm 859b816e95 No longer report context leak on private methods
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
Dulma Rodriguez 80057ea523 Translate classes on demand
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 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 56f3fb4f4b Translating structs and C++ classes only on demand
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
Jules Villard 52f983253a remove -rec flag from atdgen
9 years ago
Andrzej Kotulski 1c80ba8bb7 simplify code handling default paramters
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 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
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
Andrzej Kotulski aa1951cad4 Create generic way of generating extra instructions
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
Andrzej Kotulski b277d8164c Update fcp version
9 years ago
Andrzej Kotulski 59a7ca5424 small cleanup of ast_expressions.ml
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
Dulma Rodriguez e6600cf03b Making the procname hash depend on relative paths
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
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
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
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
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
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
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 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
Sam Blackshear a9b6f33940 [Infer][filtering] Adding support for filtering by procname using .inferconfig
9 years ago
Sam Blackshear 09eb65f4e2 [Infer][backend] Fixing Not_found when source for proc can't be found during Makefile generation in InferAnalyze
9 years ago
Jules Villard 6e29be8559 output sensible version number without git or .git
9 years ago
Cristiano Calcagno 6f65486942 [backend][cleanup] move fields in common to Cfg.Procdes and Specs.summary to proc_attributes.
9 years ago
Cristiano Calcagno 78f65b6dd7 [eradicate] handle methods overridden in other files
9 years ago
Dulma Rodriguez c6b550d5f0 [clang] Generating procedures only if there isn't a spec for them already.
9 years ago
Rohan Jacob-Rao 9643bdb1c6 Clean up command line argument filtering.
9 years ago
Rohan Jacob-Rao 9b3f291b99 Refactor main file to handle command line arguments and relative source paths.
9 years ago
jrm a62c71290b [infer] Change the error message when the project root is not a prefix of the absolute path of the source files
9 years ago
jrm 6de12aa5ba [infer][eradicate] Allow developers to locally redefine @Initializer
9 years ago
Sam Blackshear cc2fda8165 [Infer][incremental] Preventing --changed-only incremental mode from corrupting the future
9 years ago
Rohan Jacob-Rao 7f8282e046 Simplify generation of source file locations and attach to more SIL objects.
9 years ago
Sam Blackshear 2e27c5127b [Infer][frontend] Making -incremental-changed-only option available from command line
9 years ago
Sam Blackshear 0b42f9cf06 [Infer][incremental] Only analyze (transitive) callers of changed procedures
9 years ago
Rohan Jacob-Rao f192b02f01 Integrate LLVM analysis with infer script.
9 years ago
Rohan Jacob-Rao 6f51b8c54b Handle source location metadata generated by clang wrapper.
9 years ago
Jules Villard d6379fb7be [clang] replace yojson frontend with biniou frontend
9 years ago
Sam Blackshear 49e09e5cda [Infer][incremental] Always assigning to "changed" field of procdescs
9 years ago
Sam Blackshear bc1c77a8a1 [Infer][nullable] Fixing bad error message
9 years ago
Sam Blackshear f8cc0c2ba8 [Infer][stats] Adding procedure stats to stats.json
9 years ago
jrm 1a615a467b [infer][java] add support for @SuppressWarnings, step 1
9 years ago
Sam Blackshear e43acf7130 [Infer][incremental] structural comparison of instructions, nodes, expressions
9 years ago
Sam Blackshear 1a51254b8c [Infer][stats] Getting reliable file count/LOC count by moving computation inside inferanalyze
9 years ago
Dulma Rodriguez e5f6df74b0 [clang] Add procdescs to cxx method. Forgotten from last commit
9 years ago
Dulma Rodriguez 3cddd0489c [clang] Use the map of pointers to find method declarations and build method signatures
9 years ago
Irene Papakonstantinou 001e6a7c8f Bump version
9 years ago
Rohan Jacob-Rao 37a4709a0f Translate call instruction and construct call graph.
9 years ago
Sam Blackshear 2d31a8c4aa [Infer][incremental] Procedure-level incrementality
9 years ago
Sam Blackshear d99ddd1ede [Infer][incremental] Refactoring: use a map of files changed -> procs in file that have changed in computing clusters
9 years ago
Rohan Jacob-Rao 5e5fac5dbc Fix some indentation and a stray comment.
9 years ago
Sam Blackshear c92bfc1093 [Infer][models] Modeling Handler.postDelayed and similar to detect more Activity leaks
9 years ago
Sam Blackshear 485d5c030e [Infer][activity leaks] Turning on Activity leak reporting
9 years ago
Rohan Jacob-Rao e127255f60 Renamed some types and variables for consistency.
9 years ago
Sam Blackshear 7821266c8f [Infer][Nullables] Eliminating some false positives from Nullable checker
9 years ago
Sam Blackshear 9a062192f8 [Infer][nullables] Turning nullable field warnings back on
9 years ago
Rohan Jacob-Rao f3afc6848b Open Utils module to avoid prefixing common list functions.
9 years ago
Rohan Jacob-Rao 96d5931744 Report source file name in error log.
9 years ago
Rohan Jacob-Rao f8ed9b91f5 Fill in source line numbers in SIL instructions.
9 years ago
jrm fcc0c72ecb [infer][eradicate] add support for butterknife @Bind annotation
9 years ago
jrm c0446276a1 [eradicate] add support for the Android support v4 @NonNull annotation
9 years ago
Rohan Jacob-Rao a7da6066e5 Build maps of metadata variables.
9 years ago
Jules Villard 7e169b0471 [copyrightor] add llvm comments
9 years ago
Irene Papakonstantinou 204b2ccc53 Make facebook-clang-plugins a submodule @update-submodule: facebook-clang-plugins
9 years ago
Jules Villard a5fa6a52ee [copyrightor] change output
9 years ago
Andrzej Kotulski bb59bb04b7 [CFrontend][Cleanup] Pass whole decl to CTypesDecl.do_record_declaration
9 years ago
Rohan Jacob-Rao b4f554b5f5 Parse call to debugging llvm.dbg.declare function.
9 years ago
Rohan Jacob-Rao c264f95ab3 Setting up metadata variable mappings.
9 years ago
Rohan Jacob-Rao b3b67cdf69 Add metadata types to AST.
9 years ago
Andrzej Kotulski 394a3b4c29 [CFrontend] Sizeof should have ulong type
9 years ago
jrm 7ebd48121f [infer][backend] do not catch exceptions thrown by failwith
9 years ago
Jules Villard cc70507552 [clang] unopen some modules
9 years ago
Rohan Jacob-Rao 4a55382345 Refactored grammar for metadata definitions.
9 years ago
Rohan Jacob-Rao 4bb331ad4f Parse and ignore function declarations.
9 years ago
Sam Blackshear 41c14b249a [Infer][incremental] Refactoring exe_env_from_cluster
9 years ago
Sam Blackshear b80f74c34a [Infer][incremental] Add changed field to procdesc's and code to compute if a procdesc has changed since the last run
9 years ago
Sam Blackshear 089abea3d7 [Infer][nullables] Temporarily disabling warnings on nullable fields
9 years ago
Rohan Jacob-Rao f9939786fb Add function types.
9 years ago
Rohan Jacob-Rao ded6b1d654 Fix parsing of boolean constants
9 years ago
Andrzej Kotulski a570bf5b85 [CFrontend] Replace names containing Method with ObjCMethod
9 years ago
Andrzej Kotulski 198c3c82e1 [C++ frontend] Handle calling c++ methods
9 years ago
Andrzej Kotulski 7a839984da [C++] Add cpp methods signatures and implementations
9 years ago
Jules Villard 352b8edff9 [copyrightor] turn checkCopyright into a standalone script
9 years ago
Jules Villard 85b0ef7266 [clang] Refactor of creating method signatures. First step to use the map of pointers to find method declarations.
9 years ago
Sam Blackshear ca2699842d [Infer][nullable] Fixing bad error messages when dereferencing null literal
9 years ago
Rohan Jacob-Rao f20236fcac Parse metadata nodes.
9 years ago
Rohan Jacob-Rao ef01c485da Made parser syntax consistent: list(X) -> X* and option(X) -> X?.
9 years ago
Rohan Jacob-Rao 353f442efb Parse debug annotations and add them to AST.
9 years ago
Rohan Jacob-Rao 026ca7176e Parse data layout and target triple.
9 years ago
Andrzej Kotulski be0e3c417a Update fcp version
9 years ago
Rohan Jacob-Rao 950b6f4aa4 Added dumb parsing of metadata.
9 years ago
Sam Blackshear 44dfcf4a4d [Infer][nullables] Fix bad "indirectly marked" error messages
9 years ago
Rohan Jacob-Rao 3c0e698671 Moved LLVM examples and added licence headers.
9 years ago
Rohan Jacob-Rao b8b62cbcb0 Add optional alignment argument to alloca, load and store rules.
9 years ago
Rohan Jacob-Rao 07d1f8b821 Properly add local variable declarations to procedure.
9 years ago
Andrzej Kotulski 1d6873f471 [C++] Handle simple new cases
9 years ago
Andrzej Kotulski 3b22adfc15 [C Frontend][Refactor] Remove code duplication on debug messages
9 years ago
Rohan Jacob-Rao e1d071fb1f Fix error in parsing int constants.
9 years ago
Rohan Jacob-Rao 66aecca31f Allow for attribute groups in function definitions.
9 years ago
Rohan Jacob-Rao 8fbe358b34 Add tiny C example of null pointer error.
9 years ago
Rohan Jacob-Rao e9f1f03aa0 Added empty AST node for binops, to prevent build warnings.
9 years ago
Rohan Jacob-Rao 264a46f80c Initial attempt to translate alloca instruction.
9 years ago
Rohan Jacob-Rao 6dc20cd4e6 Add "unnamed" (i.e. numbered) variables to syntax.
9 years ago
jrm 2dc796542a [infer][java] the detection of a resource leak should not prevent the symbolic execution to proceed
9 years ago
Rohan Jacob-Rao 9ac4b11056 Translation of load instruction.
9 years ago
Rohan Jacob-Rao a20d178e7c Translation of basic store instruction.
9 years ago
Rohan Jacob-Rao 51ebf2493e Fixed bug in parsing of variables.
9 years ago
Andrzej Kotulski 5169419216 [C frontend] Improve ObjCIvarRef/Member Exprs
9 years ago
Andrzej Kotulski 98cb3c84ac Remove code that does nothing
9 years ago
Rohan Jacob-Rao 9b8cd7d582 Generate chain of CFG nodes for instructions in a function.
9 years ago
Sam Blackshear 9cf74e0ce5 [infer][backend] basic Activity leak checking
9 years ago
Andrzej Kotulski 642e6fd33a update fcp
9 years ago
Dulma Rodriguez 732d23ce4d [clang] Add is_instance as part of the type of objc methods
9 years ago
Jonathan Keljo 17fc7c93f2 Add models for many methods in javax.lang.model and com.sun.source
9 years ago
Jonathan Keljo a1c735dd84 Factor out modelTables module
9 years ago
martinoluca cfd8a55f3b Add `-lib` flag to InferPrint to read specs files from multiple places
9 years ago
Dino Distefano 7002d0d24c Adding a test in symbolic execution when a dangling uninitialized pointer is dereferenced
9 years ago
Rohan Jacob-Rao 795742a3a2 Clean up some comments.
9 years ago
Sam Blackshear 4ad73acf9d [infer] adding is_activity method
9 years ago
Sam Blackshear 66ef0ec0b9 [infer][reporting] Adding boilerplate for reporting Activity leaks
9 years ago
Sam Blackshear 2f7c957008 [Infer] resolving TODO's by using java_is_static
9 years ago
Andrzej Kotulski 7409d48305 Update fcp to include recent changes
9 years ago
Rohan Jacob-Rao be640f9c4e Remove build warnings by commenting out unused tokens.
9 years ago
Sam Blackshear e107058bf6 [Infer] Adding warning to eliminate needless rec keywords, fixing all warnings.
9 years ago
Sam Blackshear f0c30fc166 [infer][build] Treating OCaml compiler warnings as build-blocking errors
9 years ago
Rohan Jacob-Rao d8a2ce2417 Generate CFG and call graph files.
9 years ago
jrm d7db177b84 [infer][backend] minor refactoring of the code to report leaks
9 years ago
Sam Blackshear 60000be43b [infer][backend] refactoring code for getting reachable hpred's/pure atoms from a prop
9 years ago
Jules Villard bae8a4dced [whitespace] indent .ml files as well
9 years ago
Jules Villard 6911a1516c [whitespace] ocp-indent the code
9 years ago
Jules Villard 0368f73ce9 add ocp-indent configuration and eclipse launcher
9 years ago
Sam Blackshear d7bb75ad5d [infer][backend] eliminating duplicate declaration of ExpSet module
9 years ago
Jules Villard ca613a77ff [copyrightor] format start and end of copyright comments
9 years ago
Dulma Rodriguez d7655a087e [clang] Adding getters and setters for all the methods
9 years ago
Dulma Rodriguez c9f07e31e3 [clang] Reimplement removing nodes from procdesc in a more efficient way
9 years ago
Andrzej Kotulski 35400dd4f6 Rename Procname.from_string
9 years ago
Sam Blackshear f1daf147b3 [infer][backend] Pruning pure predicates with unreachable vals in order to eliminate PRECONDITION_NOT_FOUND errors.
9 years ago
Andrzej Kotulski 687f4958c8 Change procname types for objc/c functions
9 years ago
Dino Distefano 35b7011f81 Treating blocks iterators for NSArray
9 years ago
Sam Blackshear 14c41278e6 [Infer] Better error message for warnings based on @Nullable
9 years ago
Rohan Jacob-Rao 0946c9e460 Start of SIL generation from AST.
9 years ago
Jules Villard f07c7f9093 [infer] handle sentinel arguments in symb exec
9 years ago
Andrzej Kotulski b328ee1509 [C Frontend] Always add class prefix to a field name
9 years ago
Cristiano Calcagno 1eb151a733 [back-end] make infer-out the default results directory
9 years ago
Cristiano Calcagno 3e199467f4 Complete copyright messages.
9 years ago
Jules Villard 9ad32bbbf0 gitignore wibble
9 years ago
Cristiano Calcagno df04749cd0 Add module to fix copyright messages.
10 years ago
jrm d6fc0d4cac [infer][java] update the installation process to use javalib 2.3.1 and sawja 1.5.1
10 years ago
Andrzej Kotulski 2d087b7142 [C Frontend] Get support for map pointer -> decl from fcp
10 years ago
Jules Villard 72c4354395 [clang] propagate parameters of sentinel attr to the backend
10 years ago
Dulma Rodriguez b79028af32 [clang] Remove call to create_local_procdesc and create it only when it's called.
10 years ago
Rohan Jacob-Rao fc0ca6b6db Initial LLVM parser.
10 years ago
Cristiano Calcagno 6bde9bda88 [Bucketing] Improve error bucketing by using constant propagation when detecting direct null assignments.
10 years ago
jrm 1356fd331f [infer][clang] test reporting of assertion failures
10 years ago
Cristiano Calcagno a94fab55e8 [Eradicate] Fix issue where direct throw instructions were not handled like method calls that trow exceptions.
10 years ago
Andrzej Kotulski 2365e6244d Update fcp, add support for pointers to declarations
10 years ago
Andrzej Kotulski 927653e8d8 Update facebook-clang-plugin
10 years ago
Cristiano Calcagno 9c4a4a16f3 [inferconfig] don't fail during filtering if a file does not exist
10 years ago
Jules Villard c26401021c [infer] remove Sil.Avariadic_function_argument
10 years ago
Jules Villard 9354b1562c [infer] more generic and correct handling of arrayWithObjects:
10 years ago
jrm 4013e13cbe [infer] Moving the getter for the return variable from Cfg.Procdesc to Sil
10 years ago
jrm d808a3ee26 [infer] implements call by procedure name
10 years ago
Dulma Rodriguez 41fe321582 [clang] Adding option analyzer to InferPrint in inferiOS to avoid analysing generated files
10 years ago
jrm 393f5aad1e [infer] refactoring to isolate in a single place the need for the procedure description of the callees
10 years ago
Dulma Rodriguez 63b1d1ac1c Revert "[clang] Removing the case of flagging npes in initialisers. This causes many FPs."
10 years ago
Dulma Rodriguez 18173a7b7f [clang] Removing the case of flagging npes in initialisers. This causes many FPs.
10 years ago
Sam Blackshear ca65b2b906 [Infer][Java] Adding is_static metadata to Java procname's
10 years ago
jrm 2125bfdad9 [infer][java] prevent the closeable as resource approach to report resource leak when close() throws an exception
10 years ago
Dulma Rodriguez ea3e614cce [clang] Adding support for NSMakeCollectable and CFMakeCollectable
10 years ago
Andrzej Kotulski 9f9bc53361 [Frontend][C++] Add support for default params
10 years ago
Dulma Rodriguez d15e60ffbf [clang] Translating nonnull attributes as assertions
10 years ago
Cristiano Calcagno a87bedb5dd [Bucketing] Promote NPEs originating from a call with a null parameter to bucket b1.
10 years ago
jrm cc89c6f8ac [infer] non-functional refactoring when obtaining the procedure description of function calls
10 years ago
Sam Blackshear 1baaa96fcc [Infer][C frontend] Fixing double translation of builtin args
10 years ago
jrm e7d0038af3 [infer] fix OCaml formatting
10 years ago
Andrzej Kotulski 76203aa847 [Frontend][C++] Add translation for static cast
10 years ago
Jules Villard 7f72397999 bumping Infer version to 0.2.0
10 years ago
Andrzej Kotulski f99f650b07 Don't add buckets to error message by default
10 years ago
Jules Villard 34aa9c2949 [infer][java] handle int boxing in HashMap model
10 years ago
Andrzej Kotulski 819227d97d [C++][Frontend] Add translation for nullptr
10 years ago
Sam Blackshear f6784e3796 [infer][models] Fixing InferAssume
10 years ago
Sam Blackshear 4feb925dd7 [Infer][Java] Prevent assertion failure in jTransStaticField
10 years ago
Dulma Rodriguez d3f20dcaca [clang] Fix translation of fast loops
10 years ago
Cristiano Calcagno dd066c828c [Checkers] checker for printf format strings.
10 years ago
Dulma Rodriguez 510fc4ed25 [clang] Sorting the fields in structs and classes. Was needed in the backend and forgotten.
10 years ago
Cristiano Calcagno d2e2bbf6a5 [Eradicate @Nullable checker] Don't apply sub-typing checks for method definitions in the case of constructors.
10 years ago
jrm 2b7060e917 [infer][Java] Treat classes implementing Closeable as a resource unless modeled otherwise
10 years ago
jrm fda373c706 [infer][Java] Deal with empty strings '' in the classpath
10 years ago
Cristiano Calcagno fb300b9948 [Eradicate @Nullable checker] Fix missing reports of PARAMETER_NOT_NULLABLE across modules.
10 years ago
Sam Blackshear d7a4474d90 [Infer][angelic] Adding angelic abduction on actuals passed by reference
10 years ago
Jules Villard ddec46d4aa [infer] add infrastructure for function attributes in sil and clang
10 years ago
martinoluca 98ab517da0 Fix minor makefile issues
10 years ago
Cristiano Calcagno 5de68e795c Remove unused -analyzer_mode
10 years ago
Dino Distefano 9a93c2ed46 Dealing with __weak/__unsafe_unretained modifier for ivars
10 years ago
Cristiano Calcagno 92ceae3cf6 [clang frontend] Fix translation of large integer constants.
10 years ago
jrm 5e9f88eaeb [infer][Java] more consistent names for env variables
10 years ago
Andrzej Kotulski d0ea01e354 Bump infer version to 0.1.1
10 years ago
Sam Blackshear 066b132da2 [Infer][Java] Handling assert keyword by adding a special case for the $assertionsDisabled field during translation
10 years ago
Cristiano Calcagno 3a51764d4c [clang frontend] Simplify logging functions.
10 years ago
Cristiano Calcagno 10970c4f51 [clang frontend] Pre-process AST locations to make them explicit and easier to deal with. Don't dive into include files.
10 years ago
Dulma Rodriguez b57ac1fe49 [clang] Make the script create the absolute path rather than Ocaml. Fixes issues with symbolic links
10 years ago
jrm a8a8501243 [infer][Java] fail early when no Java source can be loaded
10 years ago
jrm 4526ada822 [infer][Java] temporarily catching the Invalid_argument exception raised by classname with $$ in the name
10 years ago
Sam Blackshear 231043f5bc [Infer][bucketing] Moving warnings on dereferences of @Nullable params from B5 -> B1,
10 years ago
Sam Blackshear 8f9cef0320 [Infer][backend] Fixing bug in removal of abducted program variables
10 years ago
Jules Villard 4820a0b9fc add version information to InferAnalyze output
10 years ago
Open Source Synchronization b8982270f2 initial synchronization
10 years ago