Skip to content

L3 WALA engine: deferred minor follow-ups from the #194 review #202

Description

@sinha108

Follow-ups deferred from the #194 L3 WALA engine review (merged in PR #196) — tracked so they don't get dropped. All are non-correctness; the merged engine is sound. Flagged by the final whole-branch review as follow-ups.

  • Skip-counter granularity (L3WalaOverlays): skippedNoMatch conflates three distinct coverage-skip causes — type-not-in-index, signature-not-in-type, and no source BlockStmt. Split into per-cause counters and surface them individually in the coverage log so low-coverage debugging is actionable. (review item M1)
  • PDG control-dependence test (WalaPdgBuilderTest.controlDepEdgeExistsFromIfToGuardedStatement): asserts only the edge source (the if-test line); also assert the destination (the guarded statement), so it proves the branch controls its guarded statement rather than merely that an edge leaves the branch. (review item M3)
  • do/while degenerate fallback (WalaCfgBuilder.wireConditional): the takenBlock == null fallback path has no test coverage. Add a fixture that exercises it.
  • (Optional) phi-mediated scalar DDG: WALA's NORMAL→NORMAL filter drops branch-merge / loop-carried scalar def-use pairs (a phi is not a NormalStatement); the heap points-to DDG is sound. Resolving through phi/pi nodes would bring scalar-DDG completeness closer to the AST engine. See docs/design/notes/l3-dataflow-metrics.md ("phi-mediated-scalar limitation").

Part of epic codellm-devkit/.github#42.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestjavaPull requests that update java code

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions