• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

ponder-lab / Hybridize-Functions-Refactoring / #2384
81%
main: 83%

Build:
Build:
LAST BUILD BRANCH: dependabot/github_actions/actions/setup-python-7
DEFAULT BRANCH: main
Ran 08 Jul 2026 09:22PM UTC
Jobs 1
Files 32
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

08 Jul 2026 09:18PM UTC coverage: 81.083% (+0.5%) from 80.547%
#2384

Pull #748

github

khatchad
Make the parameter-flow numpy precondition shape-aware (two-color taint)

The conservative call-site taint (#746) declined any function reaching numpy through a parameter, including functions that apply numpy only to a tensor's *shape* — a false positive for the common `get_shape_list`/`einsum_via_matmul` idiom, whose numpy operates on static shape dimensions and does not crash.

The scan now tracks two taint colors. A *value* taint marks the tensor value itself, over which numpy always raises under tracing; a *shape* taint marks a value derived from a tensor's shape (`.shape`/`.shape.as_list()`, `tf.shape`/`size`/`rank`), over which numpy is graph-compatible for static shapes. numpy over a value-tainted argument is a sink (decline); over a shape-tainted argument it is permitted. Call sites are tainted conservatively (following comprehension element-through-container flow, so `TUDataset.cat` is still caught), but the result is colored SHAPE when the callee is a pure shape extractor — its value taint is consumed solely by shape operations and never escapes (`get_shape_list`) — recovering `DenseLayer3d.call`/`DenseLayer3dProj.call` as hybridizable.

This is precision-favoring on the shape axis: numpy over a shape-derived value is treated as safe, sound when the consumed dimensions are static (as across the corpus). Replaces the earlier shape-staticness sanitizer, which was corpus-neutral and could not recover the interprocedural case. `testNumpyOnShapeThroughHelper` pins the recovery; the five true crashers and `cat` still decline (full suite green, 565).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01He1ULx8nRoHzGicMryry1A
Pull Request #748: Make the parameter-flow numpy precondition shape-aware

83 of 84 new or added lines in 1 file covered. (98.81%)

14 existing lines in 1 file now uncovered.

1976 of 2437 relevant lines covered (81.08%)

0.81 hits per line

Uncovered Changes

Lines Coverage ∆ File
1
91.09
2.28% edu.cuny.hunter.hybridize.core/src/edu/cuny/hunter/hybridize/core/analysis/Util.java

Coverage Regressions

Lines Coverage ∆ File
14
91.09
2.28% edu.cuny.hunter.hybridize.core/src/edu/cuny/hunter/hybridize/core/analysis/Util.java
Jobs
ID Job ID Ran Files Coverage
1 #2384.1 08 Jul 2026 09:22PM UTC 32
81.08
Source Files on build #2384
  • Tree
  • List 32
  • Changed 1
  • Source Changed 1
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Pull Request #748
  • PR Base - main (#)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc