295 Commits (1be7827981048291331343be06b0e84be45592c3)

Author SHA1 Message Date
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
Dino Distefano be8f25c90b Improved/simplified framework for frontend checkers.
9 years ago
Dulma Rodriguez 4264e94565 Fix problems with translation of InitListExpr
9 years ago
jrm 1f5529c67e The @NoAllocation checker should not report on created exceptions
9 years ago
Andrzej Kotulski decb263b1d Fix translation when accessing reference type fields
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
Andrzej Kotulski e4a0e9bbf7 Translate CXXDefaultInitExpr
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
Dulma Rodriguez 2fb2b3d9e1 Add the virtual flag of C++ methods in method calls
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
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
Dulma Rodriguez 7721743f46 Model ObjC method isKindOfClass
9 years ago
Andrzej Kotulski f703d780da Translate headers located inside analyzed project
9 years ago
jrm 4af130bf8d remove subtyping rule for the @PerformanceCritical annotation
9 years ago
Andrzej Kotulski 3320043217 Fix further problems with forward declarations in C/C++
9 years ago
Dulma Rodriguez bf90a64fb5 Fix the typing implication in the bi-abduction for non Java types
9 years ago
Andrzej Kotulski 8c832142b4 Don't add process type redeclaration unless it has definition
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 904151888c fix treatment of linked list in Java
9 years ago
Dulma Rodriguez ac7959f2df Adding subtyping to ObjC
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 0fbd333cab Checker that complains when Fragments don't nullify their Views
9 years ago
jrm 3ece750c15 disable on-demand for the checkers while we fix the filename too long issue
9 years ago
Andrzej Kotulski 49d7bdb6bd Translate CXXScalarValueInitExpr
9 years ago
Andrzej Kotulski 359ad9dd4b Translate constructor initializer
9 years ago
Andrzej Kotulski 7cabc86f77 Pass return parameter type in context
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
Andrzej Kotulski da3a106541 Always translate CXXRecordDecl as Sil.Class
9 years ago
Andrzej Kotulski 75f4947cb1 Ignore type change in DerivedToBase cast
9 years ago
Dulma Rodriguez f4bbd44212 Translate dynamic cast for C++
9 years ago
Dulma Rodriguez 10fe998c12 Extending subtyping to C++
9 years ago
Andrzej Kotulski 9d7ab4b9c2 Translate conversion operators
9 years ago
Sam Blackshear 14e934205f implementing dynamic dispatch support for Java interfaces
9 years ago
Andrzej Kotulski bdab22a093 Support temporary objects (CXXTemporaryObjectExpr)
9 years ago
Andrzej Kotulski 44a6ec4f10 Fix return parameter handling
9 years ago
Andrzej Kotulski ec80d40bdd Populate return parameter when returning + turn on new feature for C/C++
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
jrm ad2a9064c3 No longer overwrite the attributes in the summary if already existing
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
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
Dino Distefano d4d5c3bb2f Implemented new check CXX_REFERENCE_CAPTURED_IN_OBJC_BLOCK
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 bd935c2347 Add destructor calls on delete expression
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
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 6b9e1fc9d7 Stop reporting false alarms due to __nullable on Obj-C property getters and setters
9 years ago
Dulma Rodriguez 96a5cf58e5 Nullify variables with objc flags if they appear in conditions
9 years ago
jrm 0def5c4111 No longer enforce the subtyping rule for the @PerformanceCritical annotation
9 years ago
Josh Berdine 63b57790f9 Fix indentation of multiline copyright comment
9 years ago
Josh Berdine b729c93dd5 Add model of java.lang.Class.getResource
9 years ago
Dino Distefano c8b80f2435 Extended framework for taint analysis
9 years ago
Cristiano Calcagno 1666d7f353 Model Map.put() alongside Map.containsKey().
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
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 84549f691d Support decl_stmt in switch stmt
9 years ago
jrm 61e457b1f6 Run the @PerformanceCritical checker by default with the other checkers
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 5a218a6d02 treat guava preconditions checks as assume instead of exeption throwing assertions
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
Andrzej Kotulski a1c1b10862 Use priority node for branches inside coditional operator
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 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
jrm a49b0965ef Model `android.view.View.findViewById` as an expensive method
9 years ago
Andrzej Kotulski 35bb8a9a26 Change order in which ids get generated for objcMessageExpr_trans
9 years ago
Andrzej Kotulski 3f9a08f99c Defer cfg node creation for 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 1eecdacea6 Ignore type change in UncheckedDerivedToBase cast
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
Andrzej Kotulski ddbf4d9c47 Support template classes
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
Andrzej Kotulski 47f973660e Turn off compiler all warnings to avoid compilation failures
9 years ago
Andrzej Kotulski 81337ce2cb Support MaterializeTemporaryExpr
9 years ago