Skip to content

Conversation

@ChrisRackauckas-Claude
Copy link
Contributor

Summary

This PR significantly expands the JET.jl test suite to improve static analysis coverage:

  • New tests added: 75 total JET tests (up from 19)
  • Test categories expanded:
    • Algorithm constructors with explicit autodiff settings
    • Implicit algorithm order functions (alg_order)
    • alg_autodiff function for all implicit solvers
    • diffeqgpunorm with Float64, Complex, and ForwardDiff.Dual types
    • make_prob_compatible with ODEProblem
    • Integrator initialization (both fixed-step and adaptive) for all algorithm types
    • Butcher tableau type stability (Vern7, Vern9, Rodas4, Rodas5P, Kvaerno3, Kvaerno5)
    • Adaptive controller cache type stability

JET Analysis Summary

I ran JET.report_package("DiffEqGPU") and analyzed key functions. The package is already well-typed:

  • All utility functions (diffeqgpunorm, make_prob_compatible, alg_autodiff, etc.) are type-stable
  • All integrator init functions are type-stable
  • All algorithm constructors are type-stable
  • Tableau constructors are type-stable

Some false positives were identified (related to empty tuple indexing and callback nothing checks) that are properly guarded at runtime but JET cannot fully reason about.

Test plan

  • Run expanded JET tests locally: All 75 tests pass
  • CI should run full test suite including new JET tests

Changes

  1. test/jet_tests.jl - Significantly expanded JET test coverage
  2. test/Project.toml - Added SciMLBase as test dependency (needed for CallbackSet in tests)

🤖 Generated with Claude Code

cc @ChrisRackauckas

Significantly expand the JET.jl test suite to cover more of the package's
key functionality:

- Add tests for implicit algorithm constructors with explicit autodiff settings
- Add tests for all implicit algorithm orders (Rosenbrock23, Rodas4, Rodas5P,
  Kvaerno3, Kvaerno5)
- Add tests for alg_autodiff function
- Expand diffeqgpunorm tests to cover Float64, Complex, and ForwardDiff.Dual types
- Add tests for make_prob_compatible with ODEProblem
- Add comprehensive tests for integrator initialization (both fixed-step and
  adaptive) for all algorithm types
- Add tests for Butcher tableau type stability (Vern7, Vern9, Rodas4, Rodas5P,
  Kvaerno3, Kvaerno5)
- Add tests for adaptive controller cache type stability

The expanded test suite now includes 75 JET tests (up from 19), ensuring better
coverage of type stability throughout the package.

Also add SciMLBase to test dependencies (needed for CallbackSet in tests).

Co-Authored-By: Claude Opus 4.5 <[email protected]>
@ChrisRackauckas ChrisRackauckas merged commit 09497df into SciML:master Jan 9, 2026
4 of 25 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants