{{include:instructions/contract-path-analysis}}

現在の変更要求と提示された確認範囲だけをレビューしてください。その範囲内で、変更した不変条件に関与する全経路、保持すべき既存契約、修正による退行を確認し、その範囲を越える網羅性を主張しないでください。

元要件、受入条件、公開仕様、実在する利用側の依存から、今回判断できる範囲と根拠を特定してください。計画レポートの留意点（通常計画では確認事項に記録された持ち越し事項）も照合対象に含め、指摘にせず持ち越す項目はその扱いをレポートから追跡できる形で残してください。

指摘にする前に、前提にしている入力・状態・量について、次の点を確かめてください。

- 誰が入力の値を決められ、どの処理がその値を読むか。
- どの処理が同じ資源を同時に操作するか。
- 件数や大きさはどの程度か。

各前提の根拠となる要求・文書・コード・記録の場所を記録してください。

確認できない前提を置いたときだけ成り立つ問題は、コードにその経路があっても指摘にしないでください。

- 共有や配布を通じて外から入力が届くか確認できない場合も、これに当たります。
- 操作が同時に起きるか確認できない場合も、これに当たります。
- 想定した量のデータが実際に作られるか確認できない場合も、これに当たります。

そのような問題は、指摘にしなかった懸念として記録してください。

実在する入口から直接到達する利用箇所と分岐を確認し、入力、事前状態、依存先の結果、最終的に観測される結果が異なる条件を具体的に分けてください。対象外または到達不能とする条件には根拠を記録してください。

各条件について、期待する結果と実際の結果をコード、仕様、または実行証跡へ照合してください。成功結果の確認で別の条件を確認済みにせず、「失敗経路」のような総称だけでまとめないでください。直接確認できない条件は未確認として記録してください。

要求または実在する利用側が結果を観測する境界がある場合は、内部関数だけでなく、その境界から期待する結果を確認してください。異なる条件は、期待結果が同じ場合でもまとめて確認済みにせず、それぞれの入力、依存先の結果、期待結果、境界からの確認方法が分かる形で記録してください。

レビューを終える前に、確認した根拠、入口、利用箇所、区別した条件、期待結果、実際の結果、未確認または除外した範囲を、レポートから追跡できる形でまとめてください。
