Max Schaefer
|
a9c0fed4f5
|
Add test showing spurious sink candidate from method overriding a method for which we have a model.
|
2024-02-08 13:22:53 +00:00 |
|
Max Schaefer
|
02547d3839
|
Improve representation of implicit varargs arrays to more reliably filter out known flow steps.
|
2024-02-08 13:22:52 +00:00 |
|
Maiky
|
ed030bc617
|
Merge branch 'main' into maikypedia/swift-zip
|
2024-02-08 14:17:37 +01:00 |
|
Ian Lynagh
|
e0a5efef0a
|
Merge pull request #15544 from igfoo/igfoo/k2tests
Kotlin 2: Some test fixes
|
2024-02-08 12:57:58 +00:00 |
|
Koen Vlaswinkel
|
87eb1ab103
|
Ruby: Include ReturnValue and exclude self for constructors
|
2024-02-08 13:40:10 +01:00 |
|
Rasmus Lerchedahl Petersen
|
45bb4a0ee5
|
python: remove TaintStepFromSummary
as it should be covered by `SummarizedCallableFromModel`
Also move things around, to look more like the Ruby code.
|
2024-02-08 12:48:15 +01:00 |
|
Maiky
|
62bd3ac748
|
Merge branch 'main' into maikypedia/swift-zip
|
2024-02-08 12:29:46 +01:00 |
|
Rasmus Lerchedahl Petersen
|
5cb71ce7e5
|
python: remove a use of points-to
This is used by `Scope::isPublic` which in turn is called by the framework model for `setuptools`.
On my current quesry, this had a dramatic effect on the most expensive predicates:
Before
```
Most expensive predicates for completed query FindUses.ql:
time | evals | max @ iter | predicate
------|-------|--------------|----------
1m9s | 2933 | 123ms @ 422 | PointsTo::Expressions::equalityEvaluatesTo/4#ebe72212@cab7d3xr
43.1s | | | FlowSummaryImpl::Private::Steps::summaryLocalStep/3#900fb25e#ffb@8aa78a38
41.3s | 2936 | 2.1s @ 409 | PointsTo::InterProceduralPointsTo::scope_entry_value_transfer_from_earlier/4#acb2199d@cab7ddxr
30.2s | 2946 | 67ms @ 847 | PointsTo::PointsToInternal::multi_assignment_points_to/4#28782e93@cab7d0yr
29.7s | 2930 | 1.9s @ 30 | Extensions::ReModulePointToExtension.pointsTo_helper/1#a84effde@cab7dn4w
24.9s | 2933 | 84ms @ 414 | PointsTo::Expressions::inequalityEvaluatesTo/4#f0ecfab4@cab7d2xr
17.9s | 2582 | 306ms @ 31 | MRO::ClassListList.getItem/1#b6c27115#reorder_2_0_1@cab7dw6r
9.4s | 661 | 991ms @ 1 | SsaCompute::AdjacentUses::varBlockReaches/3#1824ad86@2b6af692
9.2s | 2738 | 26ms @ 664 | MRO::ClassList.containsSpecial/0#c967dabb#fb@cab7dg4w
8.9s | 2946 | 12ms @ 917 | PointsTo::Types::getBase/2#0ab04984@cab7du1w
7.4s | 2946 | 287ms @ 3 | PointsTo::PointsToInternal::points_to_candidate/4#0a587a42@cab7d80w
7.1s | 2934 | 14ms @ 2 | Constants::ConstantObjectInternal.attribute/3#6d9e12fc@cab7d6zr
6.8s | 2946 | 9ms @ 48 | PointsTo::InterProceduralPointsTo::callsite_points_to/4#72419c70@cab7dqxr
6.6s | 234 | 341ms @ 17 | ApiGraphs::API::Impl::rhs/3#2255afc6@a41b31w3
6.6s | 2946 | 86ms @ 5 | PointsTo::Types::six_add_metaclass/4#f926a4cb@cab7da0w
6.2s | 2930 | 341ms @ 30 | Extensions::RangeIterationVariableFact.pointsTo/3#662720c9#cpe#124@cab7di2w
5.9s | 287 | 61ms @ 4 | DataFlowDispatch::TrackAttrReadInput::start/2#67f26627@cc7b56yn
5.8s | | | DataFlowImplCommon::LambdaFlow::viableParamNonLambda/3#3123cc52_201#join_rhs@415f35h0
5.6s | | | FlowSummaryImpl::Private::Steps::viableParam/4#49c13ab8@2c1fcdq1
5.3s | | | FlowSummaryImpl::Private::Steps::viableParam/4#49c13ab8@22590ca9
5.2s | 233 | 276ms @ 21 | ApiGraphs::API::Impl::use/3#e6c88b66@a41b30w3
5.1s | 2945 | 177ms @ 4 | PointsTo::PointsToInternal::pointsTo/4#d99f16c6@cab7dj0w
4.7s | | | Flow::ControlFlowNode.toString/0#dispred#e1af144b@410c23a7
4.6s | 277 | 2.2s @ 6 | DataFlowDispatch::getCallArg/5#21589076@cc7b5vxn
4.5s | | | DataFlowImplCommon::Cached::viableParam/3#61239ead@cc05a1fv
4.3s | | | DataFlowImplCommon::LambdaFlow::viableParamNonLambda/3#3123cc52@cb992b2h
4.1s | | | _AstExtended::AstNode.getLocation/0#dispred#6b4dcb62_10#join_rhs_DataFlowPublic::Node.getLocation/0#__#shared@6ae639js
4s | | | Files::Location.toString/0#dispred#7e7e0516@b72abbo2
3.7s | | | locations_ast_234501#join_rhs@0859685o
3.7s | 10 | 1.7s @ 1 | ObjectInternal::ObjectInternal.toString/0#dispred#0b2e9429@6e8a4yh7
3.6s | 2942 | 63ms @ 94 | PointsTo::InterProceduralPointsTo::call_points_to_from_callee/4#394022a8@cab7d90w
3.6s | 232 | 213ms @ 18 | ApiGraphs::API::Impl::trackDefNode/2#8e3c4e6d@a41b33w3
3.6s | 2933 | 7ms @ 884 | PointsTo::Types::getInheritedMetaclass/2#097d39df#bff@cab7dr1w
3.6s | 2946 | 1.3s @ 13 | PointsTo::PointsToInternal::ssa_node_refinement_points_to/4#8ea6486b@cab7dnxr
3.5s | 1319 | 387ms @ 3 | SsaCompute::SsaDefinitions::reachesEndOfBlock/4#214bd902@fce54web
3.5s | 1320 | 385ms @ 2 | SsaCompute::SsaDefinitions::reachesEndOfBlockRec/4#63bb2cd4@fce54xeb
3.4s | 4861 | 478ms @ 2 | SsaCompute::SsaComputeImpl::ssaDefReachesRank/4#f19c6fee@cc8515rd
3.3s | | | _AstExtended::AstNode.getLocation/0#dispred#6b4dcb62_10#join_rhs_DataFlowPublic::Node.getLocation/0#__#higher_order_body@47ba63n6
3.3s | | | DataFlowPublic::Node.toString/0#dispred#af9c307a@4d16e7m6
3.3s | 2946 | 28ms @ 3 | PointsTo::PointsToInternal::reachableEdge/3#d3f53c12@cab7do7w
2.9s | 233 | 110ms @ 19 | ApiGraphs::API::Impl::trackUseNode/2#a0b4384d@a41b32w3
2.8s | 31 | 2.2s @ 9 | _Class::Class.getAMethod/0#dispred#66416e47_DataFlowDispatch::findFunctionAccordingToMroKnownStartin__#antijoin_rhs@L6#cc7b5
2.8s | 2737 | 21ms @ 444 | MRO::ClassListList.removedClassParts/4#de59b06f#reorder_2_3_4_0_1@cab7d06w
2.8s | 1322 | 462ms @ 4 | SsaCompute::Liveness::liveAtExit/2#b6aa63f4@6fd4cx73
2.8s | 2946 | 187ms @ 5 | PointsTo::Expressions::builtinCallPointsTo/5#3aa7f48b@cab7dwwr
2.8s | 2939 | 41ms @ 7 | PointsTo::PointsToInternal::use_points_to/4#ff1d0edd@cab7df0w
2.7s | 2946 | 20ms @ 92 | PointsTo::Conditionals::evaluates/5#736734b2#fbffff#reorder_5_0_2_1_3_4@cab7dp5w
2.6s | 2946 | 152ms @ 5 | Constants::callToBool/2#0b9b1e8d@cab7dn7w
2.5s | 287 | 24ms @ 4 | DataFlowDispatch::resolveClassInstanceCall/3#6e09c292@cc7b53xn
2.4s | 2946 | 31ms @ 5 | PointsTo::AttributePointsTo::variableAttributePointsTo/5#60adcc49@cab7dpwr
[2024-02-08 10:44:37] Total evaluation times for this run:
* Wall-clock duration of evaluation run: 1231.1 seconds
* Total time spent evaluating predicates: 1167.1 seconds
```
After
```
Most expensive predicates for completed query FindUses.ql:
time | evals | max @ iter | predicate
------|-------|--------------|----------
41.6s | | | FlowSummaryImpl::Private::Steps::summaryLocalStep/3#900fb25e#ffb@85aaaac1
9.2s | 661 | 905ms @ 1 | SsaCompute::AdjacentUses::varBlockReaches/3#1824ad86@2b6af692
7.6s | 234 | 502ms @ 19 | ApiGraphs::API::Impl::rhs/3#2255afc6@ce6d11wc
6.7s | | | DataFlowImplCommon::LambdaFlow::viableParamNonLambda/3#3123cc52_201#join_rhs@fd1dc5mi
6s | 287 | 80ms @ 113 | DataFlowDispatch::TrackAttrReadInput::start/2#67f26627@925826yr
5.7s | | | FlowSummaryImpl::Private::Steps::viableParam/4#49c13ab8@851052bl
5.6s | 233 | 289ms @ 21 | ApiGraphs::API::Impl::use/3#e6c88b66@ce6d10wc
5.4s | | | FlowSummaryImpl::Private::Steps::viableParam/4#49c13ab8@f2c42d17
4.8s | 277 | 2.4s @ 6 | DataFlowDispatch::getCallArg/5#21589076@92582vxr
4.7s | | | DataFlowImplCommon::Cached::viableParam/3#61239ead@ac08e0nf
4.7s | | | DataFlowImplCommon::LambdaFlow::viableParamNonLambda/3#3123cc52@82ff50ql
4.6s | | | Files::Location.toString/0#dispred#7e7e0516@b72abbo2
4.3s | | | Flow::ControlFlowNode.toString/0#dispred#e1af144b@410c23a7
4.2s | 232 | 249ms @ 19 | ApiGraphs::API::Impl::trackDefNode/2#8e3c4e6d@ce6d13wc
3.8s | | | _AstExtended::AstNode.getLocation/0#dispred#6b4dcb62_10#join_rhs_DataFlowPublic::Node.getLocation/0#__#shared@0ac73425
3.6s | 1319 | 354ms @ 1 | SsaCompute::SsaDefinitions::reachesEndOfBlock/4#214bd902@fce54web
3.6s | 1320 | 381ms @ 2 | SsaCompute::SsaDefinitions::reachesEndOfBlockRec/4#63bb2cd4@fce54xeb
3.4s | | | _AstExtended::AstNode.getLocation/0#dispred#6b4dcb62_10#join_rhs_DataFlowPublic::Node.getLocation/0#__#higher_order_body@9e946ea8
3.4s | 4861 | 474ms @ 2 | SsaCompute::SsaComputeImpl::ssaDefReachesRank/4#f19c6fee@cc8515rd
3.1s | 31 | 2.5s @ 9 | _Class::Class.getAMethod/0#dispred#66416e47_DataFlowDispatch::findFunctionAccordingToMroKnownStartin__#antijoin_rhs@L6#92582
3s | 53 | 114ms @ 48 | DataFlowDispatch::TrackAttrReadInput::start/2#67f26627@9ab38jw0
3s | 233 | 126ms @ 20 | ApiGraphs::API::Impl::trackUseNode/2#a0b4384d@ce6d12wc
3s | | | locations_ast_234501#join_rhs@0859685o
3s | | | DataFlowPublic::Node.toString/0#dispred#af9c307a@a2145cqf
2.8s | 234 | 206ms @ 21 | _ApiGraphs::API::Impl::MkDef#51c2f877#prev_ApiGraphs::API::Impl::trackDefNode/1#7e78e336#prev_delta___#antijoin_rhs#1@L9#ce6d1
2.8s | 1322 | 447ms @ 4 | SsaCompute::Liveness::liveAtExit/2#b6aa63f4@6fd4cx73
2.7s | 230 | 176ms @ 28 | ApiGraphs::API::Impl::MkDef#51c2f877@ce6d1w9c
2.5s | 287 | 50ms @ 112 | DataFlowDispatch::resolveClassInstanceCall/3#6e09c292@925823xr
2.4s | 234 | 246ms @ 19 | _ApiGraphs::API::Impl::MkDef#51c2f877#prev_ApiGraphs::API::Impl::trackDefNode/1#7e78e336#prev_delta___#antijoin_rhs@L4#ce6d1
2.3s | | | TaintTrackingPrivate::localAdditionalTaintStep/2#a2ec8c9d@e31201hd
2.2s | 53 | 72ms @ 15 | DataFlowDispatch::TrackAttrReadInput::start/2#67f26627@96b28jwo
2.2s | | | SensitiveDataSources::SensitiveDataModeling::sensitiveString/1#fdc3ad40@41f6ee2g
2s | | | DataFlowImplCommon::Cached::viableParamArg/3#4c55eddb@8f7f25oq
2s | | | Flow::ControlFlowNode.getExprChild/1#e757d179#bbf@db51e8ed
1.9s | | | project#FlowSummaryImpl::Private::Steps::viableParam/4#49c13ab8#2@e36c2dr8
1.9s | | | DataFlowPublic::Node.hasLocationInfo/5#dispred#b79d995f@6e929dfv
1.7s | 15 | 433ms @ 1 | PoorMansFunctionResolution::poorMansFunctionTracker/2#75430e01@e5202dnv
1.7s | | | #ImportResolution::ImportResolution::allowedEssaImportStep/2#f4117c61Plus#swapped@60d9daea
1.7s | 29 | 633ms @ 6 | _Class::Class.getAMethod/0#dispred#66416e47_Function::Function.getName/0#dispred#033700ef_10#join_rh__#antijoin_rhs@L4#92582
1.5s | 233 | 79ms @ 24 | ApiGraphs::API::Impl::trackUseNode/1#1af3a9ea@ce6d16wc
1.5s | | | ApiGraphs::API::Impl::edge/3#8453bf65@1bd8a6ja
1.5s | | | ApiGraphs::API::Node.getAValueReachableFromSource/0#dispred#9a406fb1@5dbb806u
1.3s | 1323 | 178ms @ 13 | SsaCompute::Liveness::liveAtEntry/2#bab3ea7c@6fd4cw73
1.3s | | | SsaCompute::SsaComputeImpl::defUseRank/4#782a2f48@0f27919s
1.3s | | | DataFlowDispatch::LibraryCallable.getACall/0#dispred#66a01171#fb@96b65frd
1.3s | | | ApiGraphs::API::Node.getAValueReachableFromSource/0#dispred#9a406fb1_10#join_rhs@c1dd43nv
1.3s | | | FlowSummaryImpl::Private::SummaryNode.toString/0#dispred#d499e234@63bd684g
1.2s | | | DataFlowDispatch::LibraryCallable.getACall/0#dispred#66a01171#fb@eaebb27g
1.2s | | | _DataFlowPublic::Node#da3b6093_DataFlowPublic::Node.asExpr/0#dispred#2845197a_py_exprs#antijoin_rhs@fcd8c3kj
1.2s | | | #ImportResolution::ImportResolution::allowedEssaImportStep/2#f4117c61Plus#swapped@c3f634us
[2024-02-08 11:43:50] Total evaluation times for this run:
* Wall-clock duration of evaluation run: 636.9 seconds
* Total time spent evaluating predicates: 562.4 seconds
```
|
2024-02-08 12:20:56 +01:00 |
|
Anders Schack-Mulligen
|
bcfce56ef6
|
Merge pull request #15547 from aschackmull/csharp/contentdataflow
C#: Simplify, getASuccessor is pruned now.
|
2024-02-08 11:15:14 +01:00 |
|
Anders Schack-Mulligen
|
dfc9c4d079
|
C#: Simplify, getASuccessor is pruned now.
|
2024-02-08 10:36:55 +01:00 |
|
Michael Nebel
|
a54caeaf61
|
Merge pull request #15545 from github/workflow/coverage/update
Update CSV framework coverage reports
|
2024-02-08 08:55:41 +01:00 |
|
Tamás Vajk
|
290c3454c8
|
Merge pull request #15535 from tamasvajk/buildless/winforms-usings
C# Add missing Windows Forms implicit usings
|
2024-02-08 08:20:05 +01:00 |
|
github-actions[bot]
|
070402d3ae
|
Add changed framework coverage reports
|
2024-02-08 00:15:53 +00:00 |
|
Tamas Vajk
|
1c7e6e769b
|
C#: Try resolve relative paths in line mappings
|
2024-02-07 23:48:58 +01:00 |
|
Benjamin Rodes
|
915aa94b13
|
Merge branch '51-2cppnon-constant-format-alter-not-const-source' of https://github.com/microsoft/codeql into 51-2cppnon-constant-format-alter-not-const-source
|
2024-02-07 14:15:40 -05:00 |
|
Benjamin Rodes
|
f12a1ecdf2
|
Simplifying the query.
|
2024-02-07 14:15:16 -05:00 |
|
Ben Rodes
|
2c962d51a9
|
Merge branch 'main' into 51-2cppnon-constant-format-alter-not-const-source
|
2024-02-07 10:57:31 -08:00 |
|
Benjamin Rodes
|
50134e644f
|
Merge branch '50-model-gettext-family-of-string-operations' into 51-2cppnon-constant-format-alter-not-const-source
# Conflicts:
# cpp/ql/src/Likely Bugs/Format/NonConstantFormat.ql
|
2024-02-07 13:56:39 -05:00 |
|
Benjamin Rodes
|
9fc2405681
|
Updating non-const source logic and associated tests and expected files.
|
2024-02-07 13:54:56 -05:00 |
|
Robert Marsh
|
174966164d
|
Merge branch 'main' into rdmarsh2/cpp/ir-synthetic-destructors
|
2024-02-07 18:25:12 +00:00 |
|
Ian Lynagh
|
ef8e6c8805
|
Kotlin 2: Accept loc changes in library-tests/exprs/funcExprs.expected
|
2024-02-07 16:40:40 +00:00 |
|
Ian Lynagh
|
8a93133b81
|
Kotlin 2: Accept loc changes in library-tests/exprs/unaryOp.expected
|
2024-02-07 16:21:49 +00:00 |
|
Ian Lynagh
|
c314cc8b68
|
Kotlin 2: Accept some location changes in library-tests/exprs/binop.expected
|
2024-02-07 15:56:10 +00:00 |
|
Henry Mercer
|
23921afd8d
|
Merge pull request #15532 from github/henrymercer/add-build-modes
Add supported build modes to extractor metadata
|
2024-02-07 15:54:44 +00:00 |
|
Mathias Vorreiter Pedersen
|
ebefcb8d35
|
Merge pull request #15513 from microsoft/50-model-gettext-family-of-string-operations
Added model for gettext variants.
|
2024-02-07 15:48:16 +00:00 |
|
Ian Lynagh
|
c731251e61
|
Kotlin 2: Remove an unused diagnostic matcher in library-tests/dataflow/func
|
2024-02-07 15:32:04 +00:00 |
|
Paolo Tranquilli
|
b105d0cf9a
|
Bazel/CMake: be more lenient with aquery
It turns out `bazel aquery` is not so well behaved on Windows, so we
need to accept that it reports errors and exits with an error.
|
2024-02-07 16:25:54 +01:00 |
|
Mathias Vorreiter Pedersen
|
0ee3c9987f
|
Merge pull request #15539 from MathiasVP/fix-ir-gen-for-conditional-decl-expr-without-var-access
C++: Fix IR generation when `ConditionDeclExpr` does not have an immediate `VariableAccess`
|
2024-02-07 15:19:16 +00:00 |
|
Ian Lynagh
|
3d1f9a79fb
|
Kotlin 2: Accept location changes in test-kotlin2/library-tests/data-classes
|
2024-02-07 15:17:40 +00:00 |
|
Benjamin Rodes
|
5866fc1fd0
|
Updating expected file.
|
2024-02-07 10:12:25 -05:00 |
|
Ian Lynagh
|
1c6108028b
|
Kotlin 2: Accept some location changes for arrays
|
2024-02-07 15:12:17 +00:00 |
|
maikypedia
|
ed052ccc26
|
Change note
|
2024-02-07 15:58:10 +01:00 |
|
Mathias Vorreiter Pedersen
|
df181f2dc4
|
C++: Accept more test changes.
|
2024-02-07 14:50:18 +00:00 |
|
Mathias Vorreiter Pedersen
|
23677b23c2
|
Merge pull request #15537 from MathiasVP/swap-also-clears-first-argument
C++: Also clear the `0`'th argument of `swap`
|
2024-02-07 14:35:31 +00:00 |
|
Mathias Vorreiter Pedersen
|
950b5f2235
|
C++: Block flow out of 'gettext' in 'cpp/non-constant-format'. (#52)
|
2024-02-07 09:10:12 -05:00 |
|
Tamas Vajk
|
4eeca02da6
|
Change file content string comparisons to be case invariant
|
2024-02-07 14:58:19 +01:00 |
|
maikypedia
|
1a499cf388
|
Update expected
|
2024-02-07 14:38:21 +01:00 |
|
Koen Vlaswinkel
|
8646bffaea
|
Ruby: Remove ReturnValue as access path for constructors
|
2024-02-07 14:35:19 +01:00 |
|
Maiky
|
7c0f80ff7d
|
Apply suggestions from code review
Co-authored-by: Geoffrey White <40627776+geoffw0@users.noreply.github.com>
|
2024-02-07 14:32:42 +01:00 |
|
Maiky
|
7fb72ea81f
|
Redundant import
|
2024-02-07 14:30:16 +01:00 |
|
Maiky
|
c6fb303d63
|
Suggested changes
Co-authored-by: Geoffrey White <40627776+geoffw0@users.noreply.github.com>
|
2024-02-07 14:27:40 +01:00 |
|
Maiky
|
9ce75dac0e
|
Update UnsafeUnpackQuery.qll
|
2024-02-07 14:26:56 +01:00 |
|
Max Schaefer
|
082754a3d8
|
Remove problematic Kotlin model.
|
2024-02-07 13:21:59 +00:00 |
|
Mathias Vorreiter Pedersen
|
fe5eca4134
|
C++: Accept test changes.
|
2024-02-07 11:45:40 +00:00 |
|
Mathias Vorreiter Pedersen
|
edc7903c69
|
C++: Add a predicate for getting the 0'th child of a 'ConditionDeclExpr' without casting it to a 'VariableAccess' and use it in IR generation.
|
2024-02-07 11:45:13 +00:00 |
|
Mathias Vorreiter Pedersen
|
d0b0440427
|
C++: Add a testcase with failing IR generation.
|
2024-02-07 11:38:02 +00:00 |
|
Mathias Vorreiter Pedersen
|
4b046ad670
|
C++: Also clear the 0'th argument of 'swap'.
|
2024-02-07 10:31:18 +00:00 |
|
Paolo Tranquilli
|
9cfef6e42f
|
Bazel/CMake: auto detect all cc_binary/cc_test targets
|
2024-02-07 11:11:30 +01:00 |
|
Mathias Vorreiter Pedersen
|
c5dc88345d
|
Merge pull request #15528 from MathiasVP/flow-barrier-interface
C++: Add an interface for models to block flow
|
2024-02-07 09:58:08 +00:00 |
|
Tamas Vajk
|
b8dbb8c866
|
C# Add missing Windows Forms implicit usings
|
2024-02-07 10:41:21 +01:00 |
|