Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Dataflow perf investigations #15444

Draft
wants to merge 19 commits into
base: main
Choose a base branch
from

Conversation

hvitved
Copy link
Contributor

@hvitved hvitved commented Jan 26, 2024

No description provided.

}

pragma[nomagic]
private predicate isExactArgument(ArgumentNode arg, BasicBlock bb, Method m, ArgumentPosition apos) {

Check warning

Code scanning / CodeQL

Dead code Warning

This code is never used, and it's not publicly exported.
}

pragma[nomagic]
private predicate setsInstanceField(Field f, Node qualifier, BasicBlock bb) {

Check warning

Code scanning / CodeQL

Dead code Warning

This code is never used, and it's not publicly exported.
}

pragma[nomagic]
private predicate isInstanceFieldSetter(Method m, ArgumentPosition apos, Field f) {

Check warning

Code scanning / CodeQL

Dead code Warning

This code is never used, and it's not publicly exported.
)
}

private predicate sdf(Field f, Class c) {

Check warning

Code scanning / CodeQL

Dead code Warning

This code is never used, and it's not publicly exported.
)
}

/** A debug predicate for identifying the most busy node in forwards flow. */

Check warning

Code scanning / CodeQL

Predicate QLDoc style. Warning

The QLDoc for a predicate without a result should start with 'Holds'.
)
}

/** A debug predicate for identifying the most busy node in reverse flow. */

Check warning

Code scanning / CodeQL

Predicate QLDoc style. Warning

The QLDoc for a predicate without a result should start with 'Holds'.
@hvitved hvitved force-pushed the dataflow-perf-investigations branch from b4b45d6 to 069406e Compare January 30, 2024 10:55
/**
* Holds if forward flow with access path `tail` and type `t1` reaches a
* store of `c` on a container of type `t2` resulting in access path
* `cons`.
*/
pragma[nomagic]
private predicate fwdFlowConsCand(Typ t2, Ap cons, Content c, Typ t1, Ap tail) {
fwdFlowStore(_, t1, tail, c, t2, _, _, _, _, _, _) and
private predicate fwdFlowConsCandNoStrenght(

Check warning

Code scanning / CodeQL

Misspelling Warning

This predicate name contains the common misspelling 'strenght', which should instead be 'strength'.
@hvitved hvitved force-pushed the dataflow-perf-investigations branch from 73da939 to 147f854 Compare February 8, 2024 16:22
pragma[nomagic]
additional predicate nodeMayFlowThrough(ParamNode p, Ap argAp, NodeEx node, Ap ap) {
// revFlow(node, _, TReturnCtxMaybeFlowThrough(_), _, ap)
exists(ApOption argApO, ReturnPosition pos, Ap returnAp, ApOption returnApO |

Check warning

Code scanning / CodeQL

Omittable 'exists' variable Warning

This exists variable can be omitted by using a don't-care expression
in this argument
.
@@ -33,6 +33,11 @@
result.asSummarizedCallable().getACall() = c.asCall()
}

private DataFlowCallable viableCallable(DataFlowCall c, int k) {

Check warning

Code scanning / CodeQL

Dead code Warning

This code is never used, and it's not publicly exported.
@@ -122,6 +127,26 @@
mayBenefitFromCallContext(call.asCall(), _, _)
}

private DataFlowCallable testviableImplInCallContext(DataFlowCall call, DataFlowCall ctx) {

Check warning

Code scanning / CodeQL

Dead code Warning

This code is never used, and it's not publicly exported.
}

pragma[nomagic]
private predicate foo(DataFlowCall call, DataFlowCall ctx1, DataFlowCall ctx2) {

Check warning

Code scanning / CodeQL

Dead code Warning

This code is never used, and it's not publicly exported.
)
}

private DataFlowCallable testviableImplInCallContext(

Check warning

Code scanning / CodeQL

Dead code Warning

This code is never used, and it's not publicly exported.
@@ -365,6 +408,12 @@
erasedHaveIntersection(t1, t2)
}

private predicate sdef(DataFlowType t1, DataFlowType t2) {

Check warning

Code scanning / CodeQL

Dead code Warning

This code is never used, and it's not publicly exported.
@hvitved hvitved force-pushed the dataflow-perf-investigations branch from 147f854 to f8347e9 Compare February 21, 2024 12:39
sanitizer instanceof PathInjectionSanitizer
sanitizer instanceof PathInjectionSanitizer or
sanitizer.getLocation().getFile().getBaseName() =
[/*"BaseObject.java", "SimpleNode.java",*/ "Context.java"]

Check warning

Code scanning / CodeQL

Singleton set literal Warning

Singleton set literal can be replaced by its member.
@@ -33,6 +33,16 @@
result.asSummarizedCallable().getACall() = c.asCall()
}

private DataFlowCallable testviableCallable(DataFlowCall c) {

Check warning

Code scanning / CodeQL

Dead code Warning

This code is never used, and it's not publicly exported.
private module Stage3 = MkStage<Stage2_5>::Stage<Stage3Param>;

// private predicate mostBusyNodeFwd3 = Stage3::mostBusyNodeFwd/10;
private predicate mostBusyNodeFwd3_5 = Stage3_5::mostBusyNodeFwd/10;

Check warning

Code scanning / CodeQL

Dead code Warning

This code is never used, and it's not publicly exported.
private predicate mostBusyNodeFwd3_5 = Stage3_5::mostBusyNodeFwd/10;

// private predicate mostBusyNodeFwd4 = Stage4::mostBusyNodeFwd/10;
private predicate mostBusyNodeFwd5 = Stage5::mostBusyNodeFwd/10;

Check warning

Code scanning / CodeQL

Dead code Warning

This code is never used, and it's not publicly exported.
ArgTyp argT, Ap argAp, ApApprox argApa, Typ t, TypOption origT, Ap ap, ApApprox apa,
boolean allowsFieldFlow
) {
exists(DataFlowCall call, RetNodeEx ret |

Check warning

Code scanning / CodeQL

Omittable 'exists' variable Warning

This exists variable can be omitted by using a don't-care expression
in this argument
.
) {
exists(ReturnKindExt kind |
exists(DataFlowCall call, ReturnKindExt kind |

Check warning

Code scanning / CodeQL

Omittable 'exists' variable Warning

This exists variable can be omitted by using a don't-care expression
in this argument
.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant