Commit Graph

5261 Commits

Author SHA1 Message Date
Tom Hvitved
ccc30ea650 C#: Update change note 2019-06-27 11:55:31 +02:00
Tom Hvitved
b6cf13510c C#: Update @name for two queries 2019-06-27 10:22:56 +02:00
Calum Grant
c7983a0d9d Merge pull request #1501 from felicity-semmle/1.21/new-c#-queries
Update C# change notes for 1.21 to mention two new queries
2019-06-26 14:40:14 +01:00
Felicity Chapman
dcbe765e58 Merge pull request #1502 from markshannon/python-pythag-change-note
Python: Add change note for pythagorean query.
2019-06-26 13:49:50 +01:00
Felicity Chapman
637608cae0 Add information on LGTM visibility and fix typo 2019-06-26 13:45:37 +01:00
Mark Shannon
1bb003b1dc Python: Add change note for pythagorean query. 2019-06-26 12:03:19 +01:00
Felicity Chapman
9645e48c98 Update C# change notes to mention two new queries 2019-06-26 11:33:37 +01:00
Taus
a254a84cca Merge pull request #1489 from markshannon/python-fix-nested-import-stars
Python: fix nested import stars
2019-06-24 17:37:20 +02:00
Mark Shannon
9bf67e19c2 Python points-to: Fix up some oddities with nested from ... import *. 2019-06-24 15:20:15 +01:00
Mark Shannon
a917019915 Python: Add failing tests for undefined variable as value and nested 'from import *'. 2019-06-24 14:54:25 +01:00
Taus
1c91b926a8 Merge pull request #1482 from markshannon/python-fix-odasa-7104
Backport #1407 to rc/1.21
2019-06-21 15:05:32 +02:00
Mark Shannon
bbf25f3a23 Python points-to. If __all__ is overly complex, treat all 'public' symbols as exported. 2019-06-21 09:47:50 +01:00
Arthur Baars
8b58b80e5f Merge pull request #1453 from markshannon/python-remove-redundant-override
Python: Remove redundant override.
2019-06-19 19:00:52 +02:00
Arthur Baars
d4bbb0f21f Merge pull request #1474 from yh-semmle/java-dbscheme-diagnostics-rc
Java: add compilation/diagnostic relations to dbscheme (rc/1.21)
2019-06-19 18:59:58 +02:00
Mark Shannon
217214c9e5 Merge pull request #1476 from aeyerstaylor/more-python-performance
Python: Further performance improvements on large databases.
2019-06-19 17:43:51 +01:00
alexet
78bf75544e Python: Improve performance of implicit_submodule_points_to 2019-06-19 16:01:13 +01:00
alexet
6472588569 Python: Remove pointless charpred. 2019-06-19 16:01:13 +01:00
alexet
4d1e4e0261 Python: Add no-inline to force correct join-order. 2019-06-19 16:01:12 +01:00
yh-semmle
f8f217be31 Java: add db stats for compilation/diagnostic relations 2019-06-19 10:44:30 +02:00
yh-semmle
b31b8b2403 Java: add compilation/diagnostic relations to dbscheme 2019-06-19 10:44:30 +02:00
Taus
bc7e6af979 Merge pull request #1463 from markshannon/python-no-duplicate-modules
Python: Avoid duplicate modules in points-to and resulting blow-up.
2019-06-19 10:35:26 +02:00
Taus
7ea4b6a52f Merge pull request #1465 from markshannon/python-performance-tweaks
Python: Minor performance enhancements.
2019-06-19 10:28:10 +02:00
Mark Shannon
62591e469e Python: Avoid duplicate modules in points-to and resulting blow-up. 2019-06-17 17:53:17 +01:00
Mark Shannon
a5fbbdeaf1 Python: Minor performance enhancements. 2019-06-14 16:16:06 +01:00
yh-semmle
87ebc178cc Merge pull request #1457 from felicity-semmle/1.21/java-ecj-support
Java 1.21: clarify ECJ support
2019-06-14 07:38:39 -04:00
Taus
584b0a36ad Merge pull request #1458 from markshannon/fix-typo
Python: Fix 2 typos.
2019-06-14 13:33:39 +02:00
Taus
51e06376a3 Merge pull request #1456 from markshannon/python-remove-value-get-source
Python: Remove Value.getSource(). It has no use.
2019-06-14 13:33:08 +02:00
Mark Shannon
91efce92bd Python: Fix 2 typos. 2019-06-14 11:49:15 +01:00
Felicity Chapman
f6aa9b648b Add footnote about the Maven Compiler and Takari Lifecycle plugins 2019-06-14 08:56:42 +01:00
Mark Shannon
30e1cbc5fc Python: Remove Value.getSource(). It has no use. 2019-06-13 18:23:54 +01:00
Taus
635de7cbe9 Merge pull request #1440 from markshannon/python-sanity-improvements
Python sanity improvements
2019-06-13 14:59:43 +02:00
Mark Shannon
660eda9f81 Python: Remove redundant override. 2019-06-13 12:41:56 +01:00
Mark Shannon
4a4ed69ade Python: Make sure that all Modules and ModuleObjects (even unused packages) have a working toString(). 2019-06-13 12:22:38 +01:00
semmle-qlci
8a43fdc806 Merge pull request #1448 from xiemaisi/js/fix-access-paths-perf-regression
Approved by esben-semmle
2019-06-13 10:13:27 +01:00
semmle-qlci
913544600a Merge pull request #1449 from xiemaisi/js/fix-http-response-sink-perf-regression
Approved by esben-semmle
2019-06-12 21:36:23 +01:00
Taus
e1b61d3163 Merge pull request #1423 from markshannon/python-extend-api
Python: Extend the object API.
2019-06-12 17:24:20 +02:00
Max Schaefer
60964efce5 JavaScript: Avoid bad context pushing in ReflectedXss::HttpResponseSink. 2019-06-12 16:20:35 +01:00
Mark Shannon
97294e16e0 Python: Update tests to account for improved API. 2019-06-12 15:00:20 +01:00
Mark Shannon
3b31b9cf58 Python: Extend object API. Clearly differentiate between what an object is called, and what it is named. 2019-06-12 14:59:39 +01:00
Mark Shannon
0b7d73456e Remove incorrect metadata from test query. 2019-06-12 14:31:21 +01:00
Anders Schack-Mulligen
cc70817a61 Merge pull request #1437 from jbj/bb-shortestDistances
C++: use shortestDistances in PrimitiveBasicBlocks
2019-06-12 11:31:07 +02:00
Taus
83cbad9a9d Merge pull request #1442 from markshannon/python-fixup-six-test-results
Python: fixup test results for https://github.com/Semmle/ql/pull/1433
2019-06-11 17:35:30 +02:00
Mark Shannon
0c02d3deef Python: Fix up expected test results for six test. 2019-06-11 15:44:44 +01:00
semmle-qlci
821d8c9dd2 Merge pull request #1436 from yh-semmle/java-android-manifest
Approved by aschackmull
2019-06-11 14:04:21 +01:00
Jonas Jensen
32122e86b0 C++: use plain recursion in PrimitiveBasicBlocks
It's sometimes faster but sometimes up to 2x slower to use plain
recursion here. On the other hand, plain recursion won't run out of Java
heap space, and it won't make unrelated computation slower by forcing
all RAM data out to disk.
2019-06-11 14:30:21 +02:00
Taus
d14d31c26e Merge pull request #1410 from markshannon/python-no-methodcall-defs-in-tests
Python ESSA: Remove method-callsite definitions when call is in a test defining a pi-node.
2019-06-11 11:17:16 +02:00
Jonas Jensen
16b151745b C++: use shortestDistances in PrimitiveBasicBlocks
The use of transitive closure for BB index calculation has been the
cause of an out-of-memory error. This commit switches the calculation to
use the `shortestDistances` HOP, which still has the problem that the
result needs to fit in RAM, but at least the RAM requirements are sure
to be linear in the size of the result. The `shortestDistances` HOP is
already used for BB index calculation for the C++ IR and for C#.

We could guard even better against OOM by switching the calculation to
use manual recursion, but that would undo the much-needed performance
improvements we got from #123.

This change improves performance on Wireshark, which is notorious for
having long basic blocks. When I benchmarked `shortestDistances`
for #123, it was slower than TC. With the current evaluator, it looks
like `shortestDistances` is faster. Performance before was:

    PrimitiveBasicBlocks::Cached::getMemberIndex#ff ................... 9.7s (executed 8027 times)
    #PrimitiveBasicBlocks::Cached::member_step#ffPlus ................. 6.6s
    PrimitiveBasicBlocks::Cached::primitive_basic_block_entry_node#f .. 3.5s
    PrimitiveBasicBlocks::Cached::primitive_basic_block_member#fff .... 2.3s

Performance with this commit is:

    PrimitiveBasicBlocks::Cached::primitive_basic_block_entry_node#f ................................................................... 3.5s
    shortestDistances@PrimitiveBasicBlocks::Cached::primitive_basic_block_entry_node#1@PrimitiveBasicBlocks::Cached::member_step#2#fff . 3s
    PrimitiveBasicBlocks::Cached::primitive_basic_block_member#fff ..................................................................... 963ms
2019-06-11 09:44:50 +02:00
semmle-qlci
61f7c78fa9 Merge pull request #1421 from xiemaisi/js/data-flow-tutorial-tests
Approved by esben-semmle
2019-06-11 07:55:47 +01:00
Mark Shannon
831850fad9 Merge pull request #1435 from aeyerstaylor/python-points-to-performance
Python: Improve points-to performance on large databases.
2019-06-10 18:11:53 +01:00
yh-semmle
8e6b62a301 Java: add QL library for modeling Android components 2019-06-10 13:00:03 -04:00