Skip to content

Architecture Issue 2: Detect recursive and cyclic procedure dependencies #459

Description

@harumiWeb

Summary

Expose direct recursion, mutual recursion, and larger procedure call cycles.

Detection categories

  • direct self-recursion
  • two-procedure mutual recursion
  • multi-procedure cycles
  • cycles crossing module boundaries
  • cycles containing event handlers
  • cycles containing application-state mutations
  • cycles containing error suppression
  • cycles containing workbook or file resource acquisition

Requirements

  • Reuse existing call-graph cycle detection.
  • Keep ordinary recursion informational by default.
  • Increase severity when a cycle contains dangerous effects.
  • Include the complete cycle path.
  • Avoid reporting duplicate rotations of the same cycle.
  • Represent unresolved calls as uncertainty.

Acceptance criteria

  • Direct and indirect recursion are reported.
  • Cycle output is deterministic.
  • Dangerous effects can elevate severity.
  • Cross-module cycles are identifiable.
  • Tests cover nested cycles and independent cycles.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions