790 Commits (6f6da12b2c35a7130adba906e26cea51dfa53e3d)

Author SHA1 Message Date
Cristiano Calcagno 71f81f102c Restore printing of html for procedures
10 years ago
Sam Blackshear 730a2afaaf more consistency with abbreviated functions names in abstract domain signature
10 years ago
Dulma Rodriguez edbd7854b2 Translate SizeOfPackExpr
10 years ago
Sam Blackshear ddfd35107c unit tests for abstract interpreter
10 years ago
Sam Blackshear 2f44f3faa8 adding generic abstract interpreter
10 years ago
Sam Blackshear b62bdc46b6 adding scheduler abstraction and reverse postorder scheduler
10 years ago
Cristiano Calcagno 494dabf638 Simplify code in SymExec: cleanup and look up cfg.
10 years ago
jrm e123635122 Add support for @SuppressWarnings for Gradle and Ant projects.
10 years ago
Dulma Rodriguez ff3455452a Add trace to frontend checks
10 years ago
Dulma Rodriguez c9e5d27e0d Translate GCCAsmStmt
10 years ago
Sam Blackshear 85747084b5 adding dependency on ounit
10 years ago
Dulma Rodriguez 6c567f1104 Translate GenericSelectionExpr
10 years ago
Dulma Rodriguez ef3e516f6f Translate ImplicitValueInitExpr
10 years ago
Sam Blackshear 62965e8051 adding runner for OCaml unit tests
10 years ago
Sam Blackshear 177574c29e type signatures for abstract domains and transfer functions
10 years ago
Dulma Rodriguez d499d5fc8e Translate C++ exceptions
10 years ago
Sam Blackshear 65de2d9946 refactoring procCfg API to make it easier to mock
10 years ago
Sam Blackshear 2d89426170 fixing tenv_lookup
10 years ago
Sam Blackshear 337d2cc537 fixing tenv_add to add only struct_typ's
10 years ago
Sam Blackshear 749a649138 translating an expression returns its type
10 years ago
jrm 082ca6a90a Initial support for lazy dynamic dispatch
10 years ago
Sam Blackshear 82f2b7b6de make tenv a typename -> struct_typ map
10 years ago
Sam Blackshear 878bf938eb kill Tenum
10 years ago
Dino Distefano b7d6f2a3bd Fixed problem with null pointer dereference in c library models.
10 years ago
Cristiano Calcagno 89a2f2a7b4 Keep only on-demand infrastructure and delete the rest or the infrastructure.
10 years ago
jrm 761902afad for the @PerformanceCritical checker, skip allocations reports on subtypes of java.lang.Throwable instead of only java.lang.Exceptions
10 years ago
Cristiano Calcagno e0d5847eb8 Deprecate incremental
10 years ago
Dino Distefano c868f51b2d Introducing checker for observer of notification centers
10 years ago
Cristiano Calcagno 021cf213a6 Bypass the interprocedural algorithm in Fork with ondemand, and replace it with a simple iteration.
10 years ago
jrm 8ce56968d6 no longer report NULL_TEST_AFTER_DEREFERENCE in tracing mode
10 years ago
Dulma Rodriguez 379d185d74 Sort the fields in the tenv at the end of translation as some translations need the original order
10 years ago
jrm 697778cc3b Add the annotation @IgnoreAllocations to stop tracking allocations whenever useless
10 years ago
Samuel Blackshear ed580c59e9 implementing procedure cfg wrapper
10 years ago
Cristiano Calcagno f3ba6c3906 Revamped Timeout module to save and restore seconds and symops.
10 years ago
Dino Distefano be8f25c90b Improved/simplified framework for frontend checkers.
10 years ago
Dulma Rodriguez 4264e94565 Fix problems with translation of InitListExpr
10 years ago
Josh Berdine 2c489371dd Revert "[ondemand][backend] Turn on on-demand infrastructure by default"
10 years ago
Peter O'Hearn bec08365de Part 1 of double unlock, locks as resources
10 years ago
jrm 1f5529c67e The @NoAllocation checker should not report on created exceptions
10 years ago
Cristiano Calcagno 16402cddc0 Save global state for abstraction for on-demand.
10 years ago
Cristiano Calcagno 90489d7f54 Always analyze procedures when analyze_models is set.
10 years ago
Andrzej Kotulski decb263b1d Fix translation when accessing reference type fields
10 years ago
Cristiano Calcagno ccd760b239 Fix pre-analysis crash in master.
10 years ago
Dulma Rodriguez 06f40efab8 Add extra dereference to the variable of the method call to find null dereferences when a method called with null.
10 years ago
Sam Blackshear cd002e5c46 fixing angelic mode for struct values passed by reference
10 years ago
Sam Blackshear 9f346ea1fc allowing abstraction of Tvar's
10 years ago
Andrzej Kotulski a83f544775 Make Sil.expand_type non-recursive
10 years ago
Andrzej Kotulski e4a0e9bbf7 Translate CXXDefaultInitExpr
10 years ago
Cristiano Calcagno 2b1558af6d Turn on on-demand infrastructure by default
10 years ago
Cristiano Calcagno 57b4497663 Start reactive exploration from changed procedures only.
10 years ago
kstreee a7e004472d Resolve a bug that Infer does not analyze procedures when the analyzer is run on '/'.
10 years ago
Cristiano Calcagno 42ecddcf37 Add command line arguments for reactive mode.
10 years ago
Cristiano Calcagno c570d97ad8 Cleanup code for registering builtins.
10 years ago
Cristiano Calcagno bf2909dd34 Cleanup global state in module Fork.
10 years ago
Josh Berdine de31246399 Builtin.builtin_plain_functions is no longer used
10 years ago
Josh Berdine b54fbc2776 Add test_build target warnings not fatal otherwise
10 years ago
Josh Berdine 3a7f4b9d3f Add byte target
10 years ago
Josh Berdine 4e8008baf2 Simplify setting ocamlbuild options
10 years ago
Dulma Rodriguez 2fb2b3d9e1 Add the virtual flag of C++ methods in method calls
10 years ago
Josh Berdine c585383fba Let ocamlfind find include and lib files
10 years ago
Andrzej Kotulski 4584f7f6fc [clang-format] Reformat all c/cpp/objc sources with clang-format
10 years ago
Andrzej Kotulski 50fc847c10 Compile C models again in C++
10 years ago
Andrzej Kotulski 9163b319a6 Fix whitespace issues from last diff
10 years ago
Josh Berdine a73d7be9a8 Remove unused support for ocaml < 4.02
10 years ago
Andrzej Kotulski 941a1c02fb Increase size of biniou buffer, add logging in case of failure
10 years ago
Josh Berdine 77b22ded03 Warn on unused identifiers
10 years ago
Josh Berdine 02056079cf Warn of unused values
10 years ago
Josh Berdine a87ef7e7ff Remove old front-end code
10 years ago
jrm c6d8cdc8ee Add support for @NoAllocation in the performance critical checker
10 years ago
jrm 14d4f862eb @Performance critical checker: compute the expensive call stack lazily when reporting errors
10 years ago
Sam Blackshear 091f31dd17 translating monitor exit/enter
10 years ago
Dulma Rodriguez 7721743f46 Model ObjC method isKindOfClass
10 years ago
Dulma Rodriguez efd3aeccc6 Using the attributes table to find out the method to call in virtual calls
10 years ago
Andrzej Kotulski f703d780da Translate headers located inside analyzed project
10 years ago
Josh Berdine a6d7bbb38b Warn of unescaped end-of-line in a string constant
10 years ago
jrm 4af130bf8d remove subtyping rule for the @PerformanceCritical annotation
10 years ago
Josh Berdine 55cb61dbda Warn of unused open statements
10 years ago
Josh Berdine b155168083 Open Utils implicitly
10 years ago
Josh Berdine 8a9f221119 Use Utils in jTransExn and jTransStaticField
10 years ago
Josh Berdine 7f231b8aa0 Move pi and sigma types from Dom to Prop
10 years ago
Josh Berdine 2fa5c5b4e9 Warn of unused types
10 years ago
Josh Berdine 89338c86e9 Warn of unused constructors
10 years ago
Josh Berdine 2e4f4a0c5f Warn of label omitted in function application
10 years ago
Josh Berdine 2f47142b94 Warn of unused loop index variables
10 years ago
Josh Berdine bd8284443c Warn of unused extension (exception) constructors
10 years ago
Josh Berdine 7e7d524e29 Enable -short-paths for better error messages
10 years ago
Josh Berdine 4f4b00fffa Enable -strict-sequence
10 years ago
Josh Berdine 675cfeb56c Enable -strict-formats
10 years ago
Josh Berdine 9bdd1a9d0f Enable -principal to check ambiguous code
10 years ago
Sam Blackshear 5833835289 dynamic dispatch for virtual calls in Java
10 years ago
Josh Berdine fb96eaabcd Make ocamlbuild obey make --silent
10 years ago
Josh Berdine 264038f3ee Make clean target obey --silent
10 years ago
Dino Distefano e0fe2af712 Added a two new attributes: observer/unsubscribed_observer
10 years ago
Andrzej Kotulski 3320043217 Fix further problems with forward declarations in C/C++
10 years ago
Andrzej Kotulski 32a5cae175 Fix infinite loop in type expansion
10 years ago
Andrzej Kotulski 3db68bcb4c Create .start file when infer starts
10 years ago
Dulma Rodriguez 5db8fa4539 Remove tvars from the tenv
10 years ago
Sam Blackshear 556b9c121d improving error message from fragment retains View checker
10 years ago
Dulma Rodriguez bf90a64fb5 Fix the typing implication in the bi-abduction for non Java types
10 years ago
Cristiano Calcagno 2a926d8294 Remove uses of assert false to get original ml location.
10 years ago
Andrzej Kotulski 8c832142b4 Don't add process type redeclaration unless it has definition
10 years ago
Sam Blackshear 7af27e07d5 deleting unused type_prop.ml
10 years ago
Sam Blackshear 5e9a21573b preventing Bad_footprint when passing struct value by reference
10 years ago
jrm 36cc1b0d2e Remove dead code. Feature now implemented in .inferconfig
10 years ago
jrm 904151888c fix treatment of linked list in Java
10 years ago
Dulma Rodriguez ac7959f2df Adding subtyping to ObjC
10 years ago
Cristiano Calcagno 047eec5a6f Refactor callbacks for Eradicate and Checkers.
10 years ago
Dino Distefano c65947439f Implementing translation of CXXForRangeStmt
10 years ago
Sam Blackshear d0cd8fca47 removed unused param footprint_part
10 years ago
Cristiano Calcagno 88e1d137ba Refactor State module and make OnDemand restore it after calls.
10 years ago
Sam Blackshear 0fbd333cab Checker that complains when Fragments don't nullify their Views
10 years ago
Cristiano Calcagno d31b041fba Replace CRC module with Digest.
10 years ago
Cristiano Calcagno 6be7266f1f Restore intraprocedural mode for Eradicate and Checkers
10 years ago
Cristiano Calcagno 34b62fc51c Inline Java synthetic methods systematically before writing the cfg to disk.
10 years ago
Cristiano Calcagno 987471d938 Remove unused code for cyclomatic complexity.
10 years ago
Sam Blackshear 526e155046 move resolve_method inside method_invocation
10 years ago
Cristiano Calcagno 41de08924b Indentation of command-line agruments.
10 years ago
Andrzej Kotulski 49d7bdb6bd Translate CXXScalarValueInitExpr
10 years ago
Andrzej Kotulski 359ad9dd4b Translate constructor initializer
10 years ago
Andrzej Kotulski 1d6aea0fb9 Add typ to trans_state.var_exp
10 years ago
Andrzej Kotulski 7cabc86f77 Pass return parameter type in context
10 years ago
Peter O'Hearn 028ac24d46 Simple model for locks
10 years ago
Jules Villard cbb8810e2c make dotty field optional in json
10 years ago
Jules Villard e11395d199 print location of errors in infer source code in debug mode
10 years ago
Andrzej Kotulski 8545a0310e Treat xvalues as they were lvalues
10 years ago
Andrzej Kotulski 36fb1f202c Deal with empty parameter names
10 years ago
Jeremy Dubreil 70dbe8db74 Simplify the type comparison of Java classes
10 years ago
Sam Blackshear 7938fbb344 Fixing 'file name too long' errors
10 years ago
Sam Blackshear f3c7125dc1 build ocaml with debug tag to enable stack traces
10 years ago
Andrzej Kotulski da3a106541 Always translate CXXRecordDecl as Sil.Class
10 years ago
Cristiano Calcagno 58611b15d0 Cleanup of CMethod_signature.
10 years ago
Dino Distefano 5b91ec9f7f A fix for empty retain cycle
10 years ago
Sam Blackshear ef3912cbde Adding on-the-fly translation of types during pre-analysis
10 years ago
Cristiano Calcagno 5683fd8413 Fix collision of spec file names on case insensitive file systems.
10 years ago
Cristiano Calcagno 1b4efcfc7a Enable the analysis of models in on-demand mode.
10 years ago
Andrzej Kotulski 75f4947cb1 Ignore type change in DerivedToBase cast
10 years ago
Andrzej Kotulski b08acedf29 Use clang for default argument resolution
10 years ago
Cristiano Calcagno 10286931ee Cleanup handling of global state, and add footprint mode to the values.
10 years ago
Cristiano Calcagno 7a7260635f Refactor the worklist data structures of the intraprocedural algorithm as non-global state.
10 years ago
Dulma Rodriguez f4bbd44212 Translate dynamic cast for C++
10 years ago
Tony Cosentini 75cca6b3d3 Add android.app.Service to whitelisted Android initializer classes.
10 years ago
Dulma Rodriguez 10fe998c12 Extending subtyping to C++
10 years ago
Andrzej Kotulski 262796d3bf Distinguish between C++ and objc class types
10 years ago
Andrzej Kotulski 9d7ab4b9c2 Translate conversion operators
10 years ago
Sam Blackshear be86e5d15d Exposing java_typ_to_string
10 years ago
Sam Blackshear 14e934205f implementing dynamic dispatch support for Java interfaces
10 years ago
Andrzej Kotulski 3dcd6490c2 Translate reinterpret_cast and const_cast
10 years ago
Cristiano Calcagno 7673d94600 Distinguish between class kinds: CPP, Java, Objc
10 years ago
Andrzej Kotulski bdab22a093 Support temporary objects (CXXTemporaryObjectExpr)
10 years ago
Andrzej Kotulski 44a6ec4f10 Fix return parameter handling
10 years ago
Cristiano Calcagno 74dbfd72b5 Fix issues with html output for debug in on-demand mode.
10 years ago
Andrzej Kotulski e329916e5b Add basic translation of CXXBindTemporaryExpr
10 years ago
Andrzej Kotulski 0a32c95f39 Fix build of llvm frontend
10 years ago
Andrzej Kotulski 1fe920c0c5 Cleanup code triggering code translation
10 years ago
Andrzej Kotulski ec80d40bdd Populate return parameter when returning + turn on new feature for C/C++
10 years ago
Andrzej Kotulski 61de633647 Add information whether translated method has return parameter
10 years ago
Andrzej Kotulski 2c8238849d Add return parameter to function/method call
10 years ago
Andrzej Kotulski 58be5d0eb0 Add return parameter to functions returning structs
10 years ago
jrm 18668a41ce simplify the API to create procedure descriptions
10 years ago
Sam Blackshear dc0b91662a Save space/simplify by deleting Exe.file_map
10 years ago
Cristiano Calcagno 162dc42b5b Use a record for struct types instead of a 7-tuple.
10 years ago
Andrzej Kotulski a317ac38f2 Use init_exp in InitListExpr and CompoundLiteralExpr
10 years ago
Andrzej Kotulski 5eb7d9e994 Add init_pvar to trans_state and use it in c++ constructor
10 years ago
Dulma Rodriguez f379383b04 Adding support for annotations for cpp classes to separate them in the backend from objc classes
10 years ago
jrm ad2a9064c3 No longer overwrite the attributes in the summary if already existing
10 years ago
Andrzej Kotulski fcb561a1ee Use Sil.exp instead of var_res_trans to get initialized variable
10 years ago
Cristiano Calcagno bcba8a7011 Fix transition between re-execution and footprint in on demand, and support tests for incremental.
10 years ago
Cristiano Calcagno 453709c3c8 Only propagate nullable to return value when environment variable is set.
10 years ago
Cristiano Calcagno 97a3aa3d0b Fix treatment of recursion and double file descriptor close in on-demand.
10 years ago
Dulma Rodriguez f34f2dcd98 Don't crash when a cg cannot be loaded.
10 years ago
Sam Blackshear d1cf7b7177 removing unused tenv in conditional pruning
10 years ago
Sam Blackshear 6fa9b995e5 no longer catching Class_structure_exception
10 years ago
Jules Villard 59a3b9c22a add temp var from compoundLiteralExpr to the function locals
10 years ago
Jules Villard 7b9b6841d2 translate CompoundLiteralExpr
10 years ago
Dulma Rodriguez 7855d6ecfa Fix the order of the translated stmts inside compound stmt
10 years ago
jrm a7371d5678 Perf critical checker: save the chains of calls to expensive methods in the error traces
10 years ago
Dino Distefano 377893637a Direct property access should not fire on dealloc methods
10 years ago
Dulma Rodriguez c88ac54613 Improving the line number information in the string delegate warning check
10 years ago
Dino Distefano d4d5c3bb2f Implemented new check CXX_REFERENCE_CAPTURED_IN_OBJC_BLOCK
10 years ago
Dulma Rodriguez 432dd28731 Improving the line number information in the string delegate warning check
10 years ago
Sam Blackshear 43daa760ee adding InferJava flags for classpath and class-source map, along with associated Python boilerplate
10 years ago
Andrzej Kotulski 0ae9b0e7a1 Change the way nested structs are translated
10 years ago
Andrzej Kotulski df192d06c3 Use ints as clang pointers
10 years ago
Josh Berdine 2ff26d37fb Simplify CLocation implementation
10 years ago
Josh Berdine d9667d07e4 Remove unused CLocation.init_curr_source_file
10 years ago
Josh Berdine c930ef90eb Remove redundant CLocation.current_source_file
10 years ago
Josh Berdine 7999dc3c4e Check CLocation.current_source_file is redundant
10 years ago
jrm cf5040cbee call the on-demand analysis using the procedre name after name resolution
10 years ago
Andrzej Kotulski bd935c2347 Add destructor calls on delete expression
10 years ago
jrm 30e2cf7114 Revive the "call by procedure name" mechanism for Java
10 years ago
Andrzej Kotulski 32745b67aa Add dotty information about retain cycle
10 years ago
Andrzej Kotulski 0ea850b7a2 Add dotty file contents to json report
10 years ago
Andrzej Kotulski 3adbb56e9c Add extra field to error_desc.
10 years ago
Josh Berdine 2c0fc4025b Remove out-of-date comments
10 years ago
Jules Villard 9ecf2d9f5e force git repo root when computing version info
10 years ago
jrm b3bf8b1ecc No longer overwrite the list of non-static fields during the translation
10 years ago
jrm 51cd3ded47 make sure that the Infer out directory is empty before generating the models
10 years ago
Jules Villard f2240395dd restore join of integer values
10 years ago
jrm 9f5159241f Use Typename.t for the type of the supertypes in the defintion of classes.
10 years ago
jrm 6d91199be7 Generalize the detection of assertion failures to any kind of custom errors defined programatically in the orginal source code
10 years ago