# Audit Arithmetic

> Audit for arithmetic and boundary bugs (overflow, off-by-one, drift)

- Skill: `ben-manes/audit-arithmetic` (Agent Skill)
- Install (CLI): `npx skillmds@latest add ben-manes/audit-arithmetic`
- Raw SKILL.md: https://api.skillmd.com/api/skills/ben-manes/audit-arithmetic/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Security
- Author: ben-manes (https://skillmd.com/u/ben-manes)
- Updated: 2026-09-10
- Page: https://skillmd.com/skills/ben-manes/audit-arithmetic

---


Assume there is at least one arithmetic or boundary bug in this code.

Audit for:
- Off-by-one errors
- Incorrect inequality direction (< vs <=, > vs >=)
- Overflow / underflow (int, long, specifically nanoTime arithmetic)
- Implicit narrowing or widening conversion
- Incorrect rounding or truncation
- Sign errors
- Sentinel value collisions (can a valid value equal a sentinel?)
- Counter drift (can a counter diverge from the quantity it tracks
  over a long-running cache?)
- Timer wheel bucket arithmetic (modular arithmetic, wrap-around)
- Frequency sketch counter saturation and reset arithmetic
- Hill climber / adaptive sizing: window vs main partition adjustment; the density and
  probe-verdict log-ratios (`ln((x+ε)/(y+ε))`), the probation-capacity denominator
  (`max(1, maximum − windowMaximum − mainProtectedMaximum)`), the saturated `4·maximum`
  sample period, and the stride/commitment rung tables
  (percentage calculations, rounding, overshoot, oscillation)
- FrequencySketch table size calculation (ensureCapacity rounding to
  power of two, interaction with maximumSize)
- Weight delta computation in UpdateTask (sign conventions, can
  intermediate sums overflow when weights are near Integer.MAX_VALUE?)

For each suspected issue:
- Provide a concrete input (specific key, value, weight, time values)
- Show step-by-step evaluation through the code
- Show expected vs actual behavior
- If it requires billions of operations, state the count needed

Ignore style and performance.
Only report high-confidence defects supported by evaluation traces.

