Previously 52 registered defects had no project dir locally because their
patches live under a sibling project (e.g. ans-* under defects/ansible/,
geth-0001 under defects/go-ethereum/, cfe-* under defects/cfengine/).
Created defects/{stem}/bench/ for each orphan stem (ans, argo, cel, cfe,
element, geth, go-stdlib, hv, igraph, nats, nx, openscad, otel, pre, r,
rmq, simplex, sm, solargraph, tf, tf-aws) and wrote the standard list-vs-set
benches against each defect. Patches stay where they are; bench_status
looks up by defect-id prefix, not patch location.
Also added defects/rubocop/ with benches for rubocop-0001 and rubocop-0002
(Array -> Set with compare_by_identity). Both were misclassified as
MOAD-0011 ReDoS in generate_undf.py; the tickets show they're CWE-407
Sedimentary (O(N*S) -> O(N+S) via identity Set).
Coverage: 1243 -> 1281 (96.0% -> 98.9%). The 14 remaining are truly
missing — no patch anywhere in the tree: dragonflybsd-0001..0005,
jami-daemon, jitsi-videobridge, netbsd-0001..0004, regamedll-cs-0001,
supertuxkart-0002, hadoop-rpc-0001.
12 lines
685 B
Text
12 lines
685 B
Text
=== ans-0001: CWE-407: list-scan inside loop in ans-0001 (generic model) ===
|
|
N=100 k=100 : defective=0.102ms fixed=0.004ms speedup=25.1x
|
|
N=500 k=500 : defective=2.660ms fixed=0.025ms speedup=104.9x
|
|
N=1000 k=1000 : defective=12.643ms fixed=0.127ms speedup=99.3x
|
|
N=2000 k=2000 : defective=51.882ms fixed=0.106ms speedup=487.9x
|
|
|
|
=== ans-0002: CWE-407: list-scan inside loop in ans-0002 (generic model) ===
|
|
N=100 k=100 : defective=0.116ms fixed=0.004ms speedup=31.5x
|
|
N=500 k=500 : defective=2.785ms fixed=0.023ms speedup=119.2x
|
|
N=1000 k=1000 : defective=13.994ms fixed=0.114ms speedup=123.1x
|
|
N=2000 k=2000 : defective=54.807ms fixed=0.185ms speedup=296.1x
|
|
|