Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

`Split` reads a keyword `axis` as absent, so `tf.split(x, n, axis=k)` with a computed `k` divides axis 0 instead of degrading

Open Beginner friendly
#952 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
76/100
Issue type
Bug
Clarity
Clearly specified
Activity status
Active
Tech stack
java, python, tensorflow

Research direction

Start in Split.isAxisPassed and compare its two anchoring paths with the keyword-name check now used by Unstack. Review the existing Split pins, then exercise a computed keyword axis like axis=last. Done means a passed but unresolved axis degrades to ⊤ instead of being treated as absent and selecting axis 0.

Written by the indexing model from the issue text.

Description

Split.isAxisPassed decides whether tf.split's axis was passed by counting positional arguments when the generator holds the invoke (call.getNumberOfPositionalParameters() > 3) and, only when it does not, by reading the keyword's points-to set. A keyword axis therefore reads as absent on an invoke-holding anchoring, and a keyword axis bound to a computed value (an empty points-to set) reads as absent on the other anchoring, so tf.split(x, n, axis=k) with k computed divides axis 0 instead of degrading, a fixed wrong answer where ⊤ is the sound one. The method's own Javadoc records the second half ("a keyword-passed computed axis is indistinguishable from an absent one here and is treated as absent").

Read, Not Measured

This is read from the code while building Unstack in the same family (https://github.com/wala/ML/issues/948), whose copy of the helper showed the defect on a fixture: m, n = tf.unstack(y, axis=last) with last = len(y.shape) - 1 over (3, 2) read (2,) (axis 0 removed) where the runtime answer is (3,). Unstack now tests the keyword by name on the invoke (call.getUse("axis") != -1) on both anchorings, so a passed-but-unresolvable axis degrades to ⊤. The same change applies to Split; its existing pins pass a positional axis or none, so none of them can see this.

Dominant language
Java
Stars
27
Forks
19
PR merge metrics
No merged PRs in 30d

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from wala/ML

All issues in wala/ML

Similar issues

More Java issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.