Commit Graph

455 Commits

Author SHA1 Message Date
Henry Mercer
568442d5f8 QL: Run diagnostics and summary metrics in code scanning
Add diagnostics and summary metric queries to the code scanning suite.
2024-03-26 18:11:50 +00:00
Henry Mercer
4e3a6e2140 Merge pull request #15874 from github/henrymercer/mark-loc-as-telemetry
Show lines of code data in debug mode only
2024-03-21 12:20:09 +00:00
Henry Mercer
a76832f4e0 Mark LOC queries as debug instead 2024-03-20 21:18:55 +00:00
Tom Hvitved
31e04631d1 QL4QL: Regenerate DB scheme and stats 2024-03-19 13:04:12 +01:00
Tom Hvitved
80649786c3 QL4QL: Remove MissingOverride query 2024-03-15 11:06:15 +01:00
Henry Mercer
c325ff8a23 Mark lines of code queries as telemetry queries
The new file coverage metrics are available in all supported GHES
versions. This PR tags lines of code queries as telemetry queries. Lines
of code information will still be available in the SARIF file, but it
will no longer be displayed in the logging output of the CLI.

The one exception is the metric queries for Java/Kotlin that provides
separate lines of code information for Java and Kotlin. I've kept these
since separate file coverage information for languages like Java and
Kotlin is only available for GHES 3.12 and later.
2024-03-11 16:40:31 +00:00
Tom Hvitved
62b16c0fa3 Share getFileBySourceArchiveName implementation 2024-02-23 11:25:49 +01:00
erik-krogh
8be7eadace delete outdated deprecations 2024-01-22 09:11:35 +01:00
Tom Hvitved
0361b2e6e8 QL4QL: Improvements to RedundantImport query 2023-12-08 10:19:04 +01:00
Henry Mercer
da92da2204 Bump minor versions of packs we regularly release 2023-10-03 16:31:23 +01:00
Anders Schack-Mulligen
7bc0c54a41 QL: Use shared FileSystem library. 2023-09-28 08:58:55 +02:00
Mathias Vorreiter Pedersen
5fa70b0eb0 Update ql/ql/test/queries/performance/MissingNoInline/MissingNoInline.expected 2023-07-19 11:34:05 +01:00
Mathias Vorreiter Pedersen
b470dd7f00 Update ql/ql/src/queries/performance/MissingNoinline.ql
Co-authored-by: Geoffrey White <40627776+geoffw0@users.noreply.github.com>
2023-07-19 11:33:16 +01:00
Mathias Vorreiter Pedersen
5a15c19e4b QL: Accept test changes. 2023-07-18 18:04:46 +01:00
Mathias Vorreiter Pedersen
3b3f374223 QL: Fix FP in 'ql/missing-noinline'. 2023-07-18 17:55:44 +01:00
Chuan-kai Lin
ce464a7d69 Remove pragma[assume_small_delta] 2023-06-30 11:09:29 -07:00
Kasper Svendsen
c9cf0744c0 QL: Enable implicit this warnings for remaining packs 2023-06-27 12:04:29 +02:00
Tom Hvitved
104dab4b66 QL: Improve dead-code query 2023-06-22 13:37:42 +02:00
Tom Hvitved
04f388f8c4 QL: Add more dead-code tests 2023-06-22 11:30:38 +02:00
Tom Hvitved
6942925899 QL: Fix bad join
```
[2023-06-22 10:44:20] (92s) Tuple counts for Predicate#23818b54::Cached::resolveSelfClassCalls#2#ff/2@06fd3bf5 after 1m9s:
                      30500      ~567%     {3} r1 = JOIN Ast#8e1d5bcf::ClassPredicate::getName#0#dispred#ff WITH Ast#8e1d5bcf::PredicateOrBuiltin::getArity#0#dispred#ff ON FIRST 1 OUTPUT Lhs.0 'p', Lhs.1, Rhs.1
                      26500      ~573%     {4} r2 = JOIN r1 WITH Ast#8e1d5bcf::Class::getAClassPredicate#0#dispred#ff_10#join_rhs ON FIRST 1 OUTPUT Lhs.2, Lhs.0 'p', Lhs.1, Rhs.1
                      3059915597 ~605%     {4} r3 = JOIN r2 WITH Ast#8e1d5bcf::Call::getNumberOfArguments#0#dispred#ff_10#join_rhs ON FIRST 1 OUTPUT Rhs.1 'mc', Lhs.2, Lhs.1 'p', Lhs.3
                      20999389   ~701%     {3} r4 = JOIN r3 WITH Ast#8e1d5bcf::MemberCall::getMemberName#0#dispred#ff ON FIRST 2 OUTPUT Lhs.0 'mc', Lhs.2 'p', Lhs.3
                      20995877   ~711%     {4} r5 = JOIN r4 WITH Ast#8e1d5bcf::MemberCall::getBase#0#dispred#ff ON FIRST 1 OUTPUT Rhs.1, Lhs.1 'p', Lhs.2, Lhs.0 'mc'
                      1240332    ~700%     {3} r6 = JOIN r5 WITH Ast#8e1d5bcf::ThisAccess#ff ON FIRST 1 OUTPUT Lhs.3 'mc', Lhs.1 'p', Lhs.2
                      1236711    ~716%     {4} r7 = JOIN r6 WITH Ast#8e1d5bcf::AstNode::getEnclosingPredicate#0#dispred#ff ON FIRST 1 OUTPUT Rhs.1, Lhs.2, Lhs.1 'p', Lhs.0 'mc'
                      4476       ~347%     {2} r8 = JOIN r7 WITH Ast#8e1d5bcf::AstNode::getParent#0#dispred#ff ON FIRST 2 OUTPUT Lhs.3 'mc', Lhs.2 'p'
                                           return r8
```
2023-06-22 10:53:10 +02:00
Tom Hvitved
e6e966bd22 QL: Model final extends 2023-06-21 10:40:12 +02:00
Tom Hvitved
0edd80001b QL: Add tests for AbstractClassImport.ql 2023-06-21 10:40:12 +02:00
Tom Hvitved
59147ad674 QL: Add more tests for MissingOverride.ql 2023-06-20 19:30:30 +02:00
Mathias Vorreiter Pedersen
865c050226 Merge pull request #13517 from hvitved/ql/field-only-used-in-charpred-fix
QL: Exclude overridden fields from `FieldOnlyUsedInCharPred.ql`
2023-06-20 16:28:23 +01:00
Tony Torralba
3c60f52a1b Update ql/ql/src/queries/style/AndroidIdPrefix.ql
Co-authored-by: Erik Krogh Kristensen <erik-krogh@github.com>
2023-06-20 15:41:30 +02:00
Tony Torralba
c230c9f793 Consider only Java files in importsAndroidModule 2023-06-20 15:30:46 +02:00
Tom Hvitved
d296256920 QL: Exclude overridden fields from FieldOnlyUsedInCharPred.ql 2023-06-20 15:24:09 +02:00
Tom Hvitved
12c810c63d QL: Add tests for FieldOnlyUsedInCharPred.ql 2023-06-20 15:23:08 +02:00
Tony Torralba
768478103c Add another exception 2023-06-20 15:16:37 +02:00
Tony Torralba
818c312a56 Add exception for java/improper-intent-verification
As suggested by @igfoo.
2023-06-20 14:50:41 +02:00
Tony Torralba
41534803e5 Refactor to use QueryDoc
Kudos to @erik-krogh for the suggestion.
2023-06-20 14:41:57 +02:00
Tony Torralba
7837959bdf QL: Add query to find Android queries with improper ids 2023-06-20 12:37:24 +02:00
Jeroen Ketema
9633f00ed1 QL-for-QL: Rewrite inline expectation tests to use parameterized module 2023-06-09 10:42:46 +02:00
Asger F
818753e922 Merge pull request #13265 from asgerf/rb/delete-name-clash
Ruby: fix some name clashes between summarized callables
2023-05-24 11:08:56 +02:00
Asger F
5b7f69cf0a QL4QL: Fix a warning about repeating alert location 2023-05-24 09:55:09 +02:00
Asger F
e4e52e77f7 QL4QL: Add query to warn about name clashes between summarized callables 2023-05-23 18:01:31 +02:00
Arthur Baars
bec2b7fef9 QL/Ruby: update dbscheme stats 2023-05-22 19:37:58 +02:00
Arthur Baars
d2bc66e393 QL: switch to shared YAML extractor 2023-05-22 19:28:59 +02:00
Arthur Baars
9f83dd5c7a Tree-sitter extractor: extract shared dbscheme fragments into 'prefix.dbscheme' 2023-05-22 19:28:51 +02:00
Kasper Svendsen
1af1bf8917 QL: Enable implicit this receiver warnings 2023-05-12 11:35:35 +02:00
Kasper Svendsen
3dbc0cf0b6 QL: Make implicit receivers explicit 2023-05-12 11:35:35 +02:00
Kasper Svendsen
a920c13869 Remove ql/implicit-this restriction to files with explicit this 2023-05-11 13:15:48 +02:00
Jami Cogswell
06bf246afe QL: update regexes 2023-04-16 16:10:23 -04:00
Asger F
2f82f4338a QL: Dont ask me to inline cached predicates 2023-04-12 20:33:21 +02:00
Asger F
7b4951005b QL: Update test expectations 2023-03-27 13:47:29 +02:00
Asger F
0aceedac78 QL: Make Class.getType() only return ClassType
Previously this would return both the ClassCharType and ClassType
2023-03-27 13:39:01 +02:00
Erik Krogh Kristensen
5dc5c8e683 Merge pull request #12629 from erik-krogh/qlTreeSitterQll
QL: regen TreeSitter.qll
2023-03-22 12:28:27 +01:00
erik-krogh
5a3ddcfca6 QL: disable the consistency check 2023-03-22 10:53:39 +01:00
erik-krogh
4bc6a0927d fix queries that relied on the old TreeSitter.qll 2023-03-22 10:45:50 +01:00
erik-krogh
53d9e4d4eb QL: regen TreeSitter.qll 2023-03-22 10:29:30 +01:00