mirror of
https://github.com/norandom/OpenUltraSAST.git
synced 2026-10-16 03:49:26 +00:00
test(census): record which regions a budget actually reached
A census that reports what it found cannot say whether a defect it missed was examined and cleared or never looked at, and that is the difference between a negative and a silence. It is also how a bounded run budget gets sized without guessing: task 13.3 needs to know at what population the declared PHP target enters scope, and asking the record is cheaper than binary-searching with forty-minute scans. Co-Authored-By: Claude Opus 5 (1M context) <[email protected]> Claude-Session: https://claude.ai/code/session_01EmM1j46qgKMh3zqD1QMwEo
This commit is contained in:
co-authored by
Claude Opus 5
parent
8874145874
commit
f09d788568
@@ -107,6 +107,10 @@ def main() -> int:
|
|||||||
deferred_by_family: dict[str, collections.Counter[str]] = collections.defaultdict(collections.Counter)
|
deferred_by_family: dict[str, collections.Counter[str]] = collections.defaultdict(collections.Counter)
|
||||||
for item in result.scope.deferred if result.scope else ():
|
for item in result.scope.deferred if result.scope else ():
|
||||||
deferred_by_family[item.identity.family][item.reason] += 1
|
deferred_by_family[item.identity.family][item.reason] += 1
|
||||||
|
# Which regions the budget actually reached, in rank order. A census that reports what it found cannot
|
||||||
|
# say whether a defect it missed was examined and cleared or never looked at, and that is the difference
|
||||||
|
# between a negative and a silence. It is also how a bounded run's budget gets sized without guessing.
|
||||||
|
record["selected_paths"] = list(dict.fromkeys(q.identity.path for q in (result.scope.selected if result.scope else ())))[:400]
|
||||||
asked = collections.Counter(q.identity.family for q in result.question_outcomes)
|
asked = collections.Counter(q.identity.family for q in result.question_outcomes)
|
||||||
completed = collections.Counter(q.identity.family for q in result.question_outcomes if q.status == "completed")
|
completed = collections.Counter(q.identity.family for q in result.question_outcomes if q.status == "completed")
|
||||||
found: dict[str, list[dict[str, Any]]] = collections.defaultdict(list)
|
found: dict[str, list[dict[str, Any]]] = collections.defaultdict(list)
|
||||||
|
|||||||
Reference in New Issue
Block a user