Skip to content

Commit 8857f0d

Browse files
authored
Merge pull request #19311 from michaelnebel/csharp/generatorcleanup
Shared: Model generator cleanup.
2 parents bcc65e1 + de12222 commit 8857f0d

File tree

72 files changed

+520
-643
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

72 files changed

+520
-643
lines changed

cpp/ql/src/utils/modelgenerator/CaptureMixedNeutralModels.ql

-13
This file was deleted.

cpp/ql/src/utils/modelgenerator/CaptureMixedSummaryModels.ql

-13
This file was deleted.

cpp/ql/src/utils/modelgenerator/CaptureNeutralModels.ql

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,5 +9,5 @@
99
import internal.CaptureModels
1010

1111
from DataFlowSummaryTargetApi api, string noflow
12-
where noflow = captureNoFlow(api)
12+
where noflow = captureNeutral(api)
1313
select noflow order by noflow

cpp/ql/src/utils/modelgenerator/CaptureSinkModels.ql

+1
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
*/
88

99
import internal.CaptureModels
10+
import Heuristic
1011

1112
from DataFlowSinkTargetApi api, string sink
1213
where sink = captureSink(api)

cpp/ql/src/utils/modelgenerator/CaptureSourceModels.ql

+1
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
*/
88

99
import internal.CaptureModels
10+
import Heuristic
1011

1112
from DataFlowSourceTargetApi api, string source
1213
where source = captureSource(api)

cpp/ql/src/utils/modelgenerator/CaptureSummaryModels.ql

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,5 +9,5 @@
99
import internal.CaptureModels
1010

1111
from DataFlowSummaryTargetApi api, string flow
12-
where flow = captureFlow(api)
12+
where flow = captureFlow(api, _)
1313
select flow order by flow

cpp/ql/test/library-tests/dataflow/modelgenerator/dataflow/CaptureSummaryModels.ql renamed to cpp/ql/test/library-tests/dataflow/modelgenerator/dataflow/CaptureHeuristicSummaryModels.ql

+2-2
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@ import utils.modelgenerator.internal.CaptureModels
33
import InlineModelsAsDataTest
44

55
module InlineMadTestConfig implements InlineMadTestConfigSig {
6-
string getCapturedModel(MadRelevantFunction c) { result = captureFlow(c) }
6+
string getCapturedModel(MadRelevantFunction c) { result = Heuristic::captureFlow(c) }
77

8-
string getKind() { result = "summary" }
8+
string getKind() { result = "heuristic-summary" }
99
}
1010

1111
import InlineMadTest<InlineMadTestConfig>

cpp/ql/test/library-tests/dataflow/modelgenerator/dataflow/summaries.cpp

+35-35
Original file line numberDiff line numberDiff line change
@@ -10,32 +10,32 @@ namespace Models {
1010
//No model as destructors are excluded from model generation.
1111
~BasicFlow() = default;
1212

13-
//summary=Models;BasicFlow;true;returnThis;(int *);;Argument[-1];ReturnValue[*];taint;df-generated
13+
//heuristic-summary=Models;BasicFlow;true;returnThis;(int *);;Argument[-1];ReturnValue[*];taint;df-generated
1414
//contentbased-summary=Models;BasicFlow;true;returnThis;(int *);;Argument[-1];ReturnValue[*];value;dfc-generated
1515
BasicFlow* returnThis(int* input) {
1616
return this;
1717
}
1818

19-
//summary=Models;BasicFlow;true;returnParam0;(int *,int *);;Argument[0];ReturnValue;taint;df-generated
20-
//summary=Models;BasicFlow;true;returnParam0;(int *,int *);;Argument[*0];ReturnValue[*];taint;df-generated
19+
//heuristic-summary=Models;BasicFlow;true;returnParam0;(int *,int *);;Argument[0];ReturnValue;taint;df-generated
20+
//heuristic-summary=Models;BasicFlow;true;returnParam0;(int *,int *);;Argument[*0];ReturnValue[*];taint;df-generated
2121
//contentbased-summary=Models;BasicFlow;true;returnParam0;(int *,int *);;Argument[0];ReturnValue;value;dfc-generated
2222
//contentbased-summary=Models;BasicFlow;true;returnParam0;(int *,int *);;Argument[*0];ReturnValue[*];value;dfc-generated
2323
int* returnParam0(int* input0, int* input1) {
2424
return input0;
2525
}
2626

27-
//summary=Models;BasicFlow;true;returnParam1;(int *,int *);;Argument[1];ReturnValue;taint;df-generated
28-
//summary=Models;BasicFlow;true;returnParam1;(int *,int *);;Argument[*1];ReturnValue[*];taint;df-generated
27+
//heuristic-summary=Models;BasicFlow;true;returnParam1;(int *,int *);;Argument[1];ReturnValue;taint;df-generated
28+
//heuristic-summary=Models;BasicFlow;true;returnParam1;(int *,int *);;Argument[*1];ReturnValue[*];taint;df-generated
2929
//contentbased-summary=Models;BasicFlow;true;returnParam1;(int *,int *);;Argument[1];ReturnValue;value;dfc-generated
3030
//contentbased-summary=Models;BasicFlow;true;returnParam1;(int *,int *);;Argument[*1];ReturnValue[*];value;dfc-generated
3131
int* returnParam1(int* input0, int* input1) {
3232
return input1;
3333
}
3434

35-
//summary=Models;BasicFlow;true;returnParamMultiple;(bool,int *,int *);;Argument[1];ReturnValue;taint;df-generated
36-
//summary=Models;BasicFlow;true;returnParamMultiple;(bool,int *,int *);;Argument[*1];ReturnValue[*];taint;df-generated
37-
//summary=Models;BasicFlow;true;returnParamMultiple;(bool,int *,int *);;Argument[2];ReturnValue;taint;df-generated
38-
//summary=Models;BasicFlow;true;returnParamMultiple;(bool,int *,int *);;Argument[*2];ReturnValue[*];taint;df-generated
35+
//heuristic-summary=Models;BasicFlow;true;returnParamMultiple;(bool,int *,int *);;Argument[1];ReturnValue;taint;df-generated
36+
//heuristic-summary=Models;BasicFlow;true;returnParamMultiple;(bool,int *,int *);;Argument[*1];ReturnValue[*];taint;df-generated
37+
//heuristic-summary=Models;BasicFlow;true;returnParamMultiple;(bool,int *,int *);;Argument[2];ReturnValue;taint;df-generated
38+
//heuristic-summary=Models;BasicFlow;true;returnParamMultiple;(bool,int *,int *);;Argument[*2];ReturnValue[*];taint;df-generated
3939
//contentbased-summary=Models;BasicFlow;true;returnParamMultiple;(bool,int *,int *);;Argument[1];ReturnValue;value;dfc-generated
4040
//contentbased-summary=Models;BasicFlow;true;returnParamMultiple;(bool,int *,int *);;Argument[*1];ReturnValue[*];value;dfc-generated
4141
//contentbased-summary=Models;BasicFlow;true;returnParamMultiple;(bool,int *,int *);;Argument[2];ReturnValue;value;dfc-generated
@@ -44,11 +44,11 @@ namespace Models {
4444
return b ? input0 : input1;
4545
}
4646

47-
//summary=Models;BasicFlow;true;returnSubstring;(const char *,char *);;Argument[0];Argument[*1];taint;df-generated
48-
//summary=Models;BasicFlow;true;returnSubstring;(const char *,char *);;Argument[0];ReturnValue[*];taint;df-generated
49-
//summary=Models;BasicFlow;true;returnSubstring;(const char *,char *);;Argument[*0];ReturnValue[*];taint;df-generated
50-
//summary=Models;BasicFlow;true;returnSubstring;(const char *,char *);;Argument[1];ReturnValue;taint;df-generated
51-
//summary=Models;BasicFlow;true;returnSubstring;(const char *,char *);;Argument[*0];Argument[*1];taint;df-generated
47+
//heuristic-summary=Models;BasicFlow;true;returnSubstring;(const char *,char *);;Argument[0];Argument[*1];taint;df-generated
48+
//heuristic-summary=Models;BasicFlow;true;returnSubstring;(const char *,char *);;Argument[0];ReturnValue[*];taint;df-generated
49+
//heuristic-summary=Models;BasicFlow;true;returnSubstring;(const char *,char *);;Argument[*0];ReturnValue[*];taint;df-generated
50+
//heuristic-summary=Models;BasicFlow;true;returnSubstring;(const char *,char *);;Argument[1];ReturnValue;taint;df-generated
51+
//heuristic-summary=Models;BasicFlow;true;returnSubstring;(const char *,char *);;Argument[*0];Argument[*1];taint;df-generated
5252
//contentbased-summary=Models;BasicFlow;true;returnSubstring;(const char *,char *);;Argument[0];Argument[*1];taint;dfc-generated
5353
//contentbased-summary=Models;BasicFlow;true;returnSubstring;(const char *,char *);;Argument[0];ReturnValue[*];taint;dfc-generated
5454
//contentbased-summary=Models;BasicFlow;true;returnSubstring;(const char *,char *);;Argument[*0];ReturnValue[*];value;dfc-generated
@@ -58,16 +58,16 @@ namespace Models {
5858
return strcpy(dest, source + 1);
5959
}
6060

61-
//summary=Models;BasicFlow;true;setField;(int *);;Argument[0];Argument[-1];taint;df-generated
62-
//summary=Models;BasicFlow;true;setField;(int *);;Argument[*0];Argument[-1];taint;df-generated
61+
//heuristic-summary=Models;BasicFlow;true;setField;(int *);;Argument[0];Argument[-1];taint;df-generated
62+
//heuristic-summary=Models;BasicFlow;true;setField;(int *);;Argument[*0];Argument[-1];taint;df-generated
6363
//contentbased-summary=Models;BasicFlow;true;setField;(int *);;Argument[0];Argument[-1].Field[*tainted];value;dfc-generated
6464
//contentbased-summary=Models;BasicFlow;true;setField;(int *);;Argument[*0];Argument[-1].Field[**tainted];value;dfc-generated
6565
void setField(int* s) {
6666
tainted = s;
6767
}
6868

69-
//summary=Models;BasicFlow;true;returnField;();;Argument[-1];ReturnValue;taint;df-generated
70-
//summary=Models;BasicFlow;true;returnField;();;Argument[-1];ReturnValue[*];taint;df-generated
69+
//heuristic-summary=Models;BasicFlow;true;returnField;();;Argument[-1];ReturnValue;taint;df-generated
70+
//heuristic-summary=Models;BasicFlow;true;returnField;();;Argument[-1];ReturnValue[*];taint;df-generated
7171
//contentbased-summary=Models;BasicFlow;true;returnField;();;Argument[-1].Field[*tainted];ReturnValue;value;dfc-generated
7272
//contentbased-summary=Models;BasicFlow;true;returnField;();;Argument[-1].Field[**tainted];ReturnValue[*];value;dfc-generated
7373
int* returnField() {
@@ -79,34 +79,34 @@ namespace Models {
7979
struct TemplatedFlow {
8080
T tainted;
8181

82-
//summary=Models;TemplatedFlow<T>;true;template_returnThis;(T);;Argument[-1];ReturnValue[*];taint;df-generated
82+
//heuristic-summary=Models;TemplatedFlow<T>;true;template_returnThis;(T);;Argument[-1];ReturnValue[*];taint;df-generated
8383
//contentbased-summary=Models;TemplatedFlow<T>;true;template_returnThis;(T);;Argument[-1];ReturnValue[*];value;dfc-generated
8484
TemplatedFlow<T>* template_returnThis(T input) {
8585
return this;
8686
}
8787

88-
//summary=Models;TemplatedFlow<T>;true;template_returnParam0;(T *,T *);;Argument[0];ReturnValue;taint;df-generated
89-
//summary=Models;TemplatedFlow<T>;true;template_returnParam0;(T *,T *);;Argument[*0];ReturnValue[*];taint;df-generated
88+
//heuristic-summary=Models;TemplatedFlow<T>;true;template_returnParam0;(T *,T *);;Argument[0];ReturnValue;taint;df-generated
89+
//heuristic-summary=Models;TemplatedFlow<T>;true;template_returnParam0;(T *,T *);;Argument[*0];ReturnValue[*];taint;df-generated
9090
//contentbased-summary=Models;TemplatedFlow<T>;true;template_returnParam0;(T *,T *);;Argument[0];ReturnValue;value;dfc-generated
9191
//contentbased-summary=Models;TemplatedFlow<T>;true;template_returnParam0;(T *,T *);;Argument[*0];ReturnValue[*];value;dfc-generated
9292
T* template_returnParam0(T* input0, T* input1) {
9393
return input0;
9494
}
9595

96-
//summary=Models;TemplatedFlow<T>;true;template_setField;(T);;Argument[0];Argument[-1];taint;df-generated
96+
//heuristic-summary=Models;TemplatedFlow<T>;true;template_setField;(T);;Argument[0];Argument[-1];taint;df-generated
9797
//contentbased-summary=Models;TemplatedFlow<T>;true;template_setField;(T);;Argument[0];Argument[-1].Field[*tainted];value;dfc-generated
9898
void template_setField(T s) {
9999
tainted = s;
100100
}
101101

102-
//summary=Models;TemplatedFlow<T>;true;template_returnField;();;Argument[-1];ReturnValue[*];taint;df-generated
102+
//heuristic-summary=Models;TemplatedFlow<T>;true;template_returnField;();;Argument[-1];ReturnValue[*];taint;df-generated
103103
//contentbased-summary=Models;TemplatedFlow<T>;true;template_returnField;();;Argument[-1].Field[*tainted];ReturnValue[*];value;dfc-generated
104104
T& template_returnField() {
105105
return tainted;
106106
}
107107

108-
//summary=Models;TemplatedFlow<T>;true;templated_function<U>;(U *,T *);;Argument[0];ReturnValue;taint;df-generated
109-
//summary=Models;TemplatedFlow<T>;true;templated_function<U>;(U *,T *);;Argument[*0];ReturnValue[*];taint;df-generated
108+
//heuristic-summary=Models;TemplatedFlow<T>;true;templated_function<U>;(U *,T *);;Argument[0];ReturnValue;taint;df-generated
109+
//heuristic-summary=Models;TemplatedFlow<T>;true;templated_function<U>;(U *,T *);;Argument[*0];ReturnValue[*];taint;df-generated
110110
//contentbased-summary=Models;TemplatedFlow<T>;true;templated_function<U>;(U *,T *);;Argument[0];ReturnValue;value;dfc-generated
111111
//contentbased-summary=Models;TemplatedFlow<T>;true;templated_function<U>;(U *,T *);;Argument[*0];ReturnValue[*];value;dfc-generated
112112
template<typename U>
@@ -129,8 +129,8 @@ namespace Models {
129129
}
130130
}
131131

132-
//summary=;;true;toplevel_function;(int *);;Argument[0];ReturnValue;taint;df-generated
133-
//summary=;;true;toplevel_function;(int *);;Argument[*0];ReturnValue;taint;df-generated
132+
//heuristic-summary=;;true;toplevel_function;(int *);;Argument[0];ReturnValue;taint;df-generated
133+
//heuristic-summary=;;true;toplevel_function;(int *);;Argument[*0];ReturnValue;taint;df-generated
134134
//contentbased-summary=;;true;toplevel_function;(int *);;Argument[0];ReturnValue;taint;dfc-generated
135135
//contentbased-summary=;;true;toplevel_function;(int *);;Argument[*0];ReturnValue;value;dfc-generated
136136
int toplevel_function(int* p) {
@@ -143,13 +143,13 @@ static int static_toplevel_function(int* p) {
143143
}
144144

145145
struct NonFinalStruct {
146-
//summary=;NonFinalStruct;true;public_not_final_member_function;(int);;Argument[0];ReturnValue;taint;df-generated
146+
//heuristic-summary=;NonFinalStruct;true;public_not_final_member_function;(int);;Argument[0];ReturnValue;taint;df-generated
147147
//contentbased-summary=;NonFinalStruct;true;public_not_final_member_function;(int);;Argument[0];ReturnValue;value;dfc-generated
148148
virtual int public_not_final_member_function(int x) {
149149
return x;
150150
}
151151

152-
//summary=;NonFinalStruct;false;public_final_member_function;(int);;Argument[0];ReturnValue;taint;df-generated
152+
//heuristic-summary=;NonFinalStruct;false;public_final_member_function;(int);;Argument[0];ReturnValue;taint;df-generated
153153
//contentbased-summary=;NonFinalStruct;false;public_final_member_function;(int);;Argument[0];ReturnValue;value;dfc-generated
154154
virtual int public_final_member_function(int x) final {
155155
return x;
@@ -169,13 +169,13 @@ struct NonFinalStruct {
169169
};
170170

171171
struct FinalStruct final {
172-
//summary=;FinalStruct;false;public_not_final_member_function_2;(int);;Argument[0];ReturnValue;taint;df-generated
172+
//heuristic-summary=;FinalStruct;false;public_not_final_member_function_2;(int);;Argument[0];ReturnValue;taint;df-generated
173173
//contentbased-summary=;FinalStruct;false;public_not_final_member_function_2;(int);;Argument[0];ReturnValue;value;dfc-generated
174174
virtual int public_not_final_member_function_2(int x) {
175175
return x;
176176
}
177177

178-
//summary=;FinalStruct;false;public_final_member_function_2;(int);;Argument[0];ReturnValue;taint;df-generated
178+
//heuristic-summary=;FinalStruct;false;public_final_member_function_2;(int);;Argument[0];ReturnValue;taint;df-generated
179179
//contentbased-summary=;FinalStruct;false;public_final_member_function_2;(int);;Argument[0];ReturnValue;value;dfc-generated
180180
virtual int public_final_member_function_2(int x) final {
181181
return x;
@@ -186,16 +186,16 @@ union U {
186186
int x, y;
187187
};
188188

189-
//summary=;;true;get_x_from_union;(U *);;Argument[0];ReturnValue;taint;df-generated
190-
//summary=;;true;get_x_from_union;(U *);;Argument[*0];ReturnValue;taint;df-generated
189+
//heuristic-summary=;;true;get_x_from_union;(U *);;Argument[0];ReturnValue;taint;df-generated
190+
//heuristic-summary=;;true;get_x_from_union;(U *);;Argument[*0];ReturnValue;taint;df-generated
191191
//contentbased-summary=;;true;get_x_from_union;(U *);;Argument[0];ReturnValue;taint;dfc-generated
192192
//contentbased-summary=;;true;get_x_from_union;(U *);;Argument[*0].Union[*U];ReturnValue;value;dfc-generated
193193
int get_x_from_union(U* u) {
194194
return u->x;
195195
}
196196

197-
//summary=;;true;set_x_in_union;(U *,int);;Argument[1];Argument[*0];taint;df-generated
197+
//heuristic-summary=;;true;set_x_in_union;(U *,int);;Argument[1];Argument[*0];taint;df-generated
198198
//contentbased-summary=;;true;set_x_in_union;(U *,int);;Argument[1];Argument[*0].Union[*U];value;dfc-generated
199199
void set_x_in_union(U* u, int x) {
200200
u->x = x;
201-
}
201+
}

csharp/ql/integration-tests/posix/query-suite/not_included_in_qls.expected

-2
Original file line numberDiff line numberDiff line change
@@ -117,8 +117,6 @@ ql/csharp/ql/src/utils/modelconverter/ExtractSummaries.ql
117117
ql/csharp/ql/src/utils/modeleditor/ApplicationModeEndpoints.ql
118118
ql/csharp/ql/src/utils/modeleditor/FrameworkModeEndpoints.ql
119119
ql/csharp/ql/src/utils/modelgenerator/CaptureContentSummaryModels.ql
120-
ql/csharp/ql/src/utils/modelgenerator/CaptureMixedNeutralModels.ql
121-
ql/csharp/ql/src/utils/modelgenerator/CaptureMixedSummaryModels.ql
122120
ql/csharp/ql/src/utils/modelgenerator/CaptureNeutralModels.ql
123121
ql/csharp/ql/src/utils/modelgenerator/CaptureSinkModels.ql
124122
ql/csharp/ql/src/utils/modelgenerator/CaptureSourceModels.ql
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
---
2+
category: minorAnalysis
3+
---
4+
* Changes to the MaD model generation infrastructure: Changed the query `cs/utils/modelgenerator/summary-models` to use the implementation from `cs/utils/modelgenerator/mixed-summary-models`. Removed the now-redundant `cs/utils/modelgenerator/mixed-summary-models` query. Similar replacement was made for `cs/utils/modelgenerator/neutral-models`. That is, if `GenerateFlowModel.py` is provided with `--with-summaries` combined/mixed models are now generated instead of heuristic models (and similar for `--with-neutrals`).

csharp/ql/src/utils/modelgenerator/CaptureMixedNeutralModels.ql

-13
This file was deleted.

csharp/ql/src/utils/modelgenerator/CaptureMixedSummaryModels.ql

-13
This file was deleted.

csharp/ql/src/utils/modelgenerator/CaptureNeutralModels.ql

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,5 +9,5 @@
99
import internal.CaptureModels
1010

1111
from DataFlowSummaryTargetApi api, string noflow
12-
where noflow = captureNoFlow(api)
12+
where noflow = captureNeutral(api)
1313
select noflow order by noflow

csharp/ql/src/utils/modelgenerator/CaptureSinkModels.ql

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,5 +9,5 @@
99
import internal.CaptureModels
1010

1111
from DataFlowSinkTargetApi api, string sink
12-
where sink = captureSink(api)
12+
where sink = Heuristic::captureSink(api)
1313
select sink order by sink

csharp/ql/src/utils/modelgenerator/CaptureSourceModels.ql

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,5 +9,5 @@
99
import internal.CaptureModels
1010

1111
from DataFlowSourceTargetApi api, string source
12-
where source = captureSource(api)
12+
where source = Heuristic::captureSource(api)
1313
select source order by source

csharp/ql/src/utils/modelgenerator/CaptureSummaryModels.ql

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,5 +9,5 @@
99
import internal.CaptureModels
1010

1111
from DataFlowSummaryTargetApi api, string flow
12-
where flow = captureFlow(api)
12+
where flow = captureFlow(api, _)
1313
select flow order by flow

csharp/ql/src/utils/modelgenerator/debug/CaptureSummaryModelsPartialPath.ql

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ import PartialFlow::PartialPathGraph
1414

1515
int explorationLimit() { result = 3 }
1616

17-
module PartialFlow = PropagateFlow::FlowExplorationFwd<explorationLimit/0>;
17+
module PartialFlow = Heuristic::PropagateFlow::FlowExplorationFwd<explorationLimit/0>;
1818

1919
from
2020
PartialFlow::PartialPathNode source, PartialFlow::PartialPathNode sink,

csharp/ql/src/utils/modelgenerator/debug/CaptureSummaryModelsPath.ql

+1
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010

1111
import csharp
1212
import utils.modelgenerator.internal.CaptureModels
13+
import Heuristic
1314
import PropagateFlow::PathGraph
1415

1516
from

csharp/ql/test/utils/modelgenerator/dataflow/CaptureSummaryModels.ql renamed to csharp/ql/test/utils/modelgenerator/dataflow/CaptureHeuristicSummaryModels.ql

+2-2
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@ import utils.modelgenerator.internal.CaptureModels
33
import utils.test.InlineMadTest
44

55
module InlineMadTestConfig implements InlineMadTestConfigSig {
6-
string getCapturedModel(Callable c) { result = captureFlow(c) }
6+
string getCapturedModel(Callable c) { result = Heuristic::captureFlow(c) }
77

8-
string getKind() { result = "summary" }
8+
string getKind() { result = "heuristic-summary" }
99
}
1010

1111
import InlineMadTest<InlineMadTestConfig>

csharp/ql/test/utils/modelgenerator/dataflow/CaptureNeutralModels.ql

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import utils.modelgenerator.internal.CaptureModels
33
import utils.test.InlineMadTest
44

55
module InlineMadTestConfig implements InlineMadTestConfigSig {
6-
string getCapturedModel(Callable c) { result = captureNoFlow(c) }
6+
string getCapturedModel(Callable c) { result = captureNeutral(c) }
77

88
string getKind() { result = "neutral" }
99
}

csharp/ql/test/utils/modelgenerator/dataflow/CaptureSinkModels.ql

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import utils.modelgenerator.internal.CaptureModels
33
import utils.test.InlineMadTest
44

55
module InlineMadTestConfig implements InlineMadTestConfigSig {
6-
string getCapturedModel(Callable c) { result = captureSink(c) }
6+
string getCapturedModel(Callable c) { result = Heuristic::captureSink(c) }
77

88
string getKind() { result = "sink" }
99
}

0 commit comments

Comments
 (0)