Rasmus Wriedt Larsen
4c689434c3
Python: CG trace: Restructure QL code
2020-07-24 17:00:13 +02:00
Rasmus Wriedt Larsen
321d5104f0
Python: CG trace: Autogenerate BytecodeExpr.qll
...
Some code I had lying around, just hadn't comitted.
Not that useful since most of these have been disabled in 55404ae98 for now.
2020-07-24 16:51:14 +02:00
Rasmus Wriedt Larsen
a7bc9544b6
Python: CG trace: Metrics, number of recorded calls not ignored
...
turned out to be useful after all :P
2020-07-24 16:49:54 +02:00
Rasmus Wriedt Larsen
367a49803b
Python: CG trace: handle class instantiation properly in points-to
2020-07-24 11:19:11 +02:00
Porcupiney Hairs
7a71ca3e0f
fix tests.
2020-07-24 00:57:19 +05:30
Rasmus Wriedt Larsen
3ead2e3dc7
Python: CG trace: Improve performance by only logging when needed
...
Seems like a 2x performance overall
wcwidth:
- DEBUG=True 5.78 seconds
- DEBUG=False 2.70 seconds
youtube-dl
- DEBUG=True 238.90 seconds
- DEBUG=False 120.70 seconds
2020-07-23 20:14:49 +02:00
Rasmus Wriedt Larsen
c49311e69e
Python: Fix JinjaSSTISinks.expected
2020-07-23 20:11:27 +02:00
Rasmus Wriedt Larsen
fbd939133e
Python: CG trace: More caching
...
Improves runtime of tracing youtube-dl from 296.19 seconds to 224.50 seconds.
Better, but still not that amazing :|
2020-07-23 18:07:55 +02:00
Rasmus Wriedt Larsen
ce42221cf7
Python: CG trace: Fix some printing in helper.sh
2020-07-23 17:57:52 +02:00
Rasmus Wriedt Larsen
55404ae980
Python: CG trace: Experiment with disabling some opcodes
...
Currently not supported in the QL code, so no reason to pay performance to
record them right now :P
2020-07-23 17:39:43 +02:00
Rasmus Wriedt Larsen
14c51eb3c7
Python: CG trace: XML exporter will tell what file it wrote to
2020-07-23 17:38:54 +02:00
Rasmus Wriedt Larsen
c45cc2aa2f
Python: CG trace: Add helper.sh to run tracing against real projects
2020-07-23 17:37:01 +02:00
Rasmus Wriedt Larsen
5d031d7abe
Python: CG trace: Fix sorting of ExternalCallee
...
Also exposed that the better_compare_for_dataclass was exposed to bad loop
variable capture :|
2020-07-23 17:36:31 +02:00
Rasmus Wriedt Larsen
03d22fa8e3
Python: Fix filenames in qhelp
2020-07-23 17:32:01 +02:00
Rasmus Wriedt Larsen
e283d289fd
Python: Update TemplateInjection.qhelp
...
Moved things around so there is only a single `<example>` tag (and had to rewrite contents a bit).
2020-07-23 17:23:26 +02:00
Porcupiney Hairs
1e7921e575
add qhelp and fix tests.
2020-07-23 20:04:32 +05:30
porcupineyhairs
8e85dc755a
Apply suggestions from code review
...
Co-authored-by: Rasmus Wriedt Larsen <rasmuswriedtlarsen@gmail.com >
2020-07-23 19:37:40 +05:30
Rasmus Wriedt Larsen
da518ed0d5
Python: CG trace: Remove Python 3.8 only f"{var=}" usage
2020-07-23 14:01:29 +02:00
Rasmus Wriedt Larsen
bb4b8dceaa
Python: CG trace: More robust logging setup
2020-07-23 14:01:29 +02:00
Rasmus Wriedt Larsen
a97f942a17
Python: Autoformat
2020-07-23 11:38:34 +02:00
Alexey Tereshenkov
7840dfce3b
Put the closing tag back
2020-07-22 20:51:29 +01:00
Alexey Tereshenkov
e2939377e9
Update python/ql/src/Expressions/WrongNumberArgumentsForFormat.qhelp
...
Co-authored-by: intrigus-lgtm <60750685+intrigus-lgtm@users.noreply.github.com >
2020-07-22 20:07:34 +01:00
Alexey Tereshenkov
a6eb3caa5f
Update python/ql/src/Expressions/WrongNumberArgumentsForFormat.qhelp
...
Co-authored-by: Felicity Chapman <felicitymay@github.com >
2020-07-22 20:07:27 +01:00
Rasmus Wriedt Larsen
9157385571
Python: CG trace: XML can export list of dataclass
2020-07-22 17:40:59 +02:00
Alexey Tereshenkov
a5f566b563
Fix typo
2020-07-22 15:39:50 +01:00
Rasmus Wriedt Larsen
746c577d72
Python: CG trace: Update naming and add QLDoc
2020-07-22 15:49:11 +02:00
Rasmus Wriedt Larsen
67b45164eb
Python: CG trace: Partial matching of BytecodeExpr and AST not safe
2020-07-22 15:19:57 +02:00
Rasmus Wriedt Larsen
1e89388f2b
Python: CG trace: Don't abuse example dir
2020-07-22 14:22:04 +02:00
Rasmus Wriedt Larsen
ad2e336ead
Python: CG trace: Autoformat
2020-07-22 13:53:22 +02:00
Rasmus Wriedt Larsen
ccffa7d99d
Python: CG trace: Ignore some calls for call-grahp metrics
...
and provide some internal metrics as well
2020-07-22 13:12:52 +02:00
Rasmus Wriedt Larsen
b227a7ec90
Python: CG trace: Add overall metrics query
2020-07-22 00:55:53 +02:00
Rasmus Wriedt Larsen
278ab4b883
Python: CG trace: Much improved toString for QL
2020-07-22 00:55:53 +02:00
Rasmus Wriedt Larsen
a5838b66ed
Python: CG trace: Small improvements to QL code
2020-07-22 00:00:17 +02:00
Rasmus Wriedt Larsen
b86ca19264
Python: CG trace: Apply better_compare_for_dataclass to all
2020-07-21 23:37:33 +02:00
Rasmus Wriedt Larsen
9bff615fad
Python: CG trace: Handle BUILD_LIST
2020-07-21 23:08:33 +02:00
Rasmus Wriedt Larsen
8c8656ccca
Python: CG trace: Handle BUILD_TUPLE
2020-07-21 23:05:49 +02:00
Rasmus Wriedt Larsen
0d05d96b50
Python: CG trace: Handle CALL_FUNCTION_EX
2020-07-21 22:54:45 +02:00
Rasmus Wriedt Larsen
3539798c22
Python: CG trace: ignore with statement for now
2020-07-21 22:54:19 +02:00
Rasmus Wriedt Larsen
4843d29ad6
Python: CG trace: Cache calls seen
...
This improved runtime from ~10 seconds to 1 seconds when running one of the
tests fo wcwidth
2020-07-21 22:54:10 +02:00
Rasmus Wriedt Larsen
ebbea0cd61
Python: CG trace: Ignore IMPORT_NAME
2020-07-21 22:17:17 +02:00
Rasmus Wriedt Larsen
6830804112
Python: CG trace: More logging
2020-07-21 22:08:15 +02:00
Rasmus Wriedt Larsen
3752a25665
Python: CG trace: Handle LOAD_DEREF
2020-07-21 22:02:25 +02:00
Rasmus Wriedt Larsen
61b1d3eef3
Python: CG trace: Handle subscript
2020-07-21 21:45:53 +02:00
Rasmus Wriedt Larsen
79c2c682d7
Python: CG trace: Nicer logging
2020-07-21 21:34:20 +02:00
Rasmus Wriedt Larsen
0a7e6a9938
Python: CG trace: Avoid handling jumps for now
2020-07-21 20:07:33 +02:00
Rasmus Wriedt Larsen
4e3ae98ddf
Python: CG trace: Handle list-comprehension and iteration
...
Which relies on LOAD_CONST and MAKE_FUNCTION
2020-07-21 19:54:59 +02:00
Rasmus Wriedt Larsen
58f11194a8
Python: CG trace: Refactoring
2020-07-21 19:53:05 +02:00
Rasmus Wriedt Larsen
290eb638f9
Python: CG trace: Handle SystemExit
...
otherwise, with-exit would end the tracer without producing any output :|
2020-07-21 19:40:58 +02:00
Rasmus Wriedt Larsen
296d7d1725
Python: CG trace: Allow tracing modules
...
As would normally be invoked by `python -m <module-name>` now works with
`cg-trace --module <module-name>`.
This is useful for tracing invocations of `pytest`.
2020-07-21 19:39:51 +02:00
Rasmus Wriedt Larsen
91e6222662
Python: Fix SSTI query by importing UntrustedStringKind
...
Without a concrete ExternalStringKind class, there will be no flow for
ExternalStringKind by default.
2020-07-21 18:01:27 +05:30