Loading page...Загружаем страницу...正在加载页面...
AtlasRepo

The Bug Report Is Not a Spec: Extracting Invariants Before an OSS Patch

Описание и применение

В работе описывается «инвариантный шлюз» для исправления багов в открытом ПО: фиксируется проблема, формулируется точный инвариант, кодируется как тест, проверяется моделью, и только после этого вносится патч.

Задача

Bug reports often lack clear specifications, leading volunteers to submit patches that compile but violate the original contract.

Результат

The invariant gate prevents accidental contract changes by ensuring any patch is grounded in a documented, testable invariant.

Рабочий процесс

  • Freeze the issue by capturing issue data, base commit, and repro command.
  • Write a one‑sentence invariant describing actor, input, and observable.
  • Encode the invariant as a characterization test that fails on the base SHA.
  • Run the test, record output, and comment if it passes without a patch.
  • Invite a model to attack the invariant, reviewing potential flaws before patching.

Доказательства

The missing artifact is not another review persona. It is a written invariant that can fail on purpose.

Источник

If the new test passes on the base SHA, do not invent a patch anyway.

Источник

  • Дата записи: 2026-09-08T04:29:49.898Z