Tom Hvitved
0e7838aca5
Data flow: Sync files
2020-02-17 15:08:26 +01:00
Tom Hvitved
28307399f8
Data flow: Sync files
2020-02-17 10:45:35 +01:00
Tom Hvitved
332733a92e
Java/C++: Follow-up changes
2020-02-13 16:34:06 +01:00
Tom Hvitved
b5b0c2b8cf
Data flow: Sync files
2020-02-13 16:34:06 +01:00
Tom Hvitved
9b699618a8
Data flow: Improve performance of flowFwdStore()
2020-02-09 19:34:04 +01:00
Tom Hvitved
f30a42ce26
Data flow: Fix bad join-order in TPathNodeSink
...
Avoids a Cartesian product on nodes:
```
[2020-02-07 11:01:22] (432s) Tuple counts for dom#DataFlowImpl::TPathNodeSink#ff:
0 ~0% {2} r1 = JOIN DataFlowImpl::Configuration::isSource_dispred#ff AS L WITH DataFlowImpl::Configuration::isSink_dispred#ff AS R ON FIRST 2 OUTPUT R.<1>, R.<0>
101611 ~0% {2} r2 = SCAN DataFlowImpl::PathNodeMid#class#ffffff AS I OUTPUT I.<5>, I.<0>
3534537047 ~3% {3} r3 = JOIN r2 WITH DataFlowImpl::Configuration::isSink_dispred#ff AS R ON FIRST 1 OUTPUT r2.<1>, R.<1>, R.<0>
251 ~41% {3} r4 = JOIN r3 WITH project#DataFlowImpl::pathStep#fffff AS R ON FIRST 2 OUTPUT R.<2>, r3.<2>, r3.<1>
251 ~50% {2} r5 = JOIN r4 WITH DataFlowImpl::TNil#ff_1#join_rhs AS R ON FIRST 1 OUTPUT r4.<2>, r4.<1>
251 ~50% {2} r6 = r1 \/ r5
323 ~67% {3} r7 = JOIN r6 WITH DataFlowImpl::flow#ff AS R ON FIRST 1 OUTPUT r6.<1>, r6.<0>, R.<1>
288 ~58% {3} r8 = SELECT r7 ON r7.<2> >= r7.<0>
251 ~53% {3} r9 = SELECT r8 ON r8.<2> <= r8.<0>
251 ~50% {2} r10 = SCAN r9 OUTPUT r9.<1>, r9.<0>
```
2020-02-07 12:08:31 +01:00
Tom Hvitved
b3af3ad12f
Data flow: Fix bad join order in getReturnPosition()
...
Joining on the enclosing callable before the kind is crucial, as witnessed by this pipeline:
```
[2020-02-06 17:58:21] (1086s) Starting to evaluate predicate DataFlowImplCommon::getReturnPosition#ff/2@83c546
[2020-02-06 18:53:16] (4382s) Tuple counts for DataFlowImplCommon::getReturnPosition#ff:
385478 ~1% {3} r1 = SCAN DataFlowImplCommon::Cached::TReturnPosition0#fff@staged_ext AS I OUTPUT I.<2>, I.<0>, I.<1>
385478 ~2% {3} r2 = JOIN r1 WITH DataFlowImplCommon::Cached::TReturnPosition0#fff_2#join_rhs AS R ON FIRST 1 OUTPUT r1.<2>, r1.<1>, r1.<0>
58638116860 ~0% {3} r3 = JOIN r2 WITH DataFlowImplCommon::ReturnNodeExt::getKind_dispred#ff_10#join_rhs AS R ON FIRST 1 OUTPUT R.<1>, r2.<1>, r2.<2>
914049 ~0% {2} r4 = JOIN r3 WITH DataFlowImplCommon::returnNodeGetEnclosingCallable#ff AS R ON FIRST 2 OUTPUT r3.<0>, r3.<2>
return r4
```
2020-02-06 19:06:40 +01:00
Tom Hvitved
15ee1e37b9
Java: Follow-up changes
2020-02-04 14:09:12 +01:00
Tom Hvitved
c591719df2
Data flow: Sync files
2020-02-04 14:09:12 +01:00
Anders Schack-Mulligen
9b7a728609
Java: Autoformat.
2020-01-29 12:16:25 +01:00
Anders Schack-Mulligen
4bd332ddca
Java: Add Expr.isParenthesized, adjust VarAccess.toString, and fix tests.
2020-01-28 10:15:48 +01:00
yo-h
eb6f8da080
Merge pull request #2679 from aschackmull/java/remove-depr-flow-fwd-back
...
Java/C++/C#: Remove the deprecated hasFlowForward/hasFlowBackward.
2020-01-23 14:10:28 -05:00
yo-h
50320c7828
Merge pull request #2628 from aschackmull/java/no-adhoc-testclass
...
Java: Replace ad-hoc TestClass detection.
2020-01-23 14:09:11 -05:00
Anders Schack-Mulligen
e7f7c7370a
Java/C++/C#: Remove the deprecated hasFlowForward/hasFlowBackward.
2020-01-23 14:05:18 +01:00
yo-h
9a939534c7
Merge pull request #2670 from aschackmull/java/remove-parityanalysis
...
Java: Remove the deprecated ParityAnalysis.
2020-01-22 16:22:34 -05:00
Anders Schack-Mulligen
cf004ac9d8
Java: Remove the deprecated ParityAnalysis.
2020-01-22 11:45:18 +01:00
Anders Schack-Mulligen
9cc0d3d1f4
Java/C++/C#: Remove DataFlowLocation as it's no longer needed.
2020-01-21 15:08:39 +01:00
Tom Hvitved
f7278d36e1
Merge pull request #2498 from aschackmull/java/taint-getter
...
Java/C++/C#: Add support for taint-getter/setter summaries in data flow.
2020-01-15 09:55:19 +01:00
Anders Schack-Mulligen
a6526c60cb
Java: Replace ad-hoc TestClass detection.
2020-01-14 14:26:22 +01:00
Anders Schack-Mulligen
241b8a05e4
Java/C++/C#: Address review comment.
2020-01-14 11:59:55 +01:00
Anders Schack-Mulligen
041bcc5812
Java/C++/C#: Small perf improvement and simplification.
2020-01-13 17:00:56 +01:00
Anders Schack-Mulligen
9ba169b346
Java: Fix bad join-order.
2020-01-06 16:52:06 +01:00
Anders Schack-Mulligen
e74aa33f9d
Java: Include non-null final fields in clearlyNotNull.
2020-01-03 16:24:54 +01:00
Tom Hvitved
29cd6a9e30
Sync XML.qll
2019-12-19 10:29:30 +01:00
Anders Schack-Mulligen
ca08097b56
Java/C++/C#: Fix Java Content.getType and getContainerType to match C# and fix C# tests.
2019-12-17 11:51:58 +01:00
Max Schaefer
09ee106333
Java/JavaScript: Add two deprecated predicates to XML.qll.
...
This makes XML.qll identical across C++, Java, JavaScript and Python.
2019-12-17 10:15:43 +00:00
Max Schaefer
923e36ba4f
C++/Java/JavaScript/Python: Make qldoc consistent.
2019-12-17 10:15:43 +00:00
Max Schaefer
a2fe678464
C++/Java/JavaScript/Python: Unify imports in XML.qll.
2019-12-17 10:15:43 +00:00
yo-h
69a2632806
Merge pull request #2341 from aschackmull/java/cached-tostring-perf-fixes
...
Java: Fix a number of performance issues when toString is cached.
2019-12-16 22:01:35 -05:00
Anders Schack-Mulligen
a97e7bd3b2
Java/C++/C#: Some review fixes.
2019-12-16 16:17:19 +01:00
Anders Schack-Mulligen
a1a875e3e1
Java/C++/C#: Fix autoformat.
2019-12-16 16:15:48 +01:00
Anders Schack-Mulligen
02068ecdcd
Java/C++/C#: Sync.
2019-12-16 16:15:48 +01:00
Anders Schack-Mulligen
bca79cd4d6
Java/C++/C#: Add support for taint-getter/setter summaries.
2019-12-16 16:15:48 +01:00
Anders Schack-Mulligen
13f12c5332
Java: Fix characteristic predicate of XMLParent.
2019-12-13 15:20:52 +01:00
Jonas Jensen
57917bec17
Merge pull request #2480 from hvitved/dataflow/performance-tweaks
...
Data flow: Various performance tweaks
2019-12-03 18:44:11 +01:00
Tom Hvitved
b3990c5a1d
Data flow: Revert reordering changes in flowStore and flowRead
2019-12-02 14:25:59 +01:00
Tom Hvitved
5baa133e6c
Data flow: Sync files
2019-12-02 13:41:17 +01:00
Jonas Jensen
5b24b1efc3
Merge remote-tracking branch 'upstream/rc/1.23' into mergeback-20191202
...
Conflicts solved:
javascript/extractor/src/com/semmle/js/extractor/Main.java
javascript/ql/test/query-tests/Statements/UseOfReturnlessFunction/tst.js
2019-12-02 09:57:34 +01:00
Anders Schack-Mulligen
333d0a69d2
Java/C++/C#: Bugfix for field flow through reverse read.
2019-11-29 09:38:24 +01:00
Anders Schack-Mulligen
3d0e3aa1fd
Java: Fix a number of performance issues when toString is cached.
2019-11-27 09:06:15 +01:00
Anders Schack-Mulligen
18e1708036
Merge pull request #2412 from Cornelius-Riemenschneider/nullness-corr-cond
...
Java: Nullness library: track instanceof expressions in correlated conditions
2019-11-26 10:33:34 +01:00
Cornelius Riemenschneider
37f162106a
Fix formatting of file.
2019-11-25 17:04:38 +01:00
Cornelius Riemenschneider
3368169df8
Address review.
2019-11-25 14:54:50 +01:00
Tom Hvitved
a26efdf4c1
Java/C++/C#: Rename DataFlowErasedType back to DataFlowType
2019-11-25 11:43:58 +01:00
Cornelius Riemenschneider
0e7a08201f
Address review by Anders.
2019-11-22 12:19:06 +01:00
Cornelius Riemenschneider
5d4b6c3a8c
Nullness: Track correlated conditions of equality tests of variables.
2019-11-21 19:24:40 +01:00
Cornelius Riemenschneider
3e5324e772
More precise Nullness tracking by taking correlated instanceof expressions into account.
...
Fixes #2238 .
2019-11-21 18:38:27 +01:00
Tom Hvitved
acc7d5298d
Data flow: Sync files
2019-11-20 14:10:02 +01:00
Tom Hvitved
6c0dbcfca2
Java/C++: Add DataFlowErasedType aliases
2019-11-20 14:09:53 +01:00
yh-semmle
de65f023d6
Merge pull request #2167 from aschackmull/java/dataflow-out-of-arg-refactor
...
Java/C++/C#: Refactor dataflow to simplify return flow.
2019-11-15 11:10:06 -05:00