=== spark-0001: CWE-407: list-scan inside loop in spark-0001 (generic model) ===
N=100   k=100  : defective=0.155ms  fixed=0.014ms  speedup=11.3x
N=500   k=500  : defective=2.373ms  fixed=0.022ms  speedup=107.5x
N=1000  k=1000 : defective=9.379ms  fixed=0.048ms  speedup=196.4x
N=2000  k=2000 : defective=35.455ms  fixed=0.095ms  speedup=372.0x

=== spark-0002: spark-0002 — DAGScheduler BFS queues: ListBuffer.remove(0) is O(N) → O(N²) total ===
N=100   k=100  : defective=0.085ms  fixed=0.003ms  speedup=24.5x
N=500   k=500  : defective=2.198ms  fixed=0.022ms  speedup=102.0x
N=1000  k=1000 : defective=8.820ms  fixed=0.047ms  speedup=188.8x
N=2000  k=2000 : defective=36.759ms  fixed=0.101ms  speedup=362.9x

=== spark-0003: CWE-407: list-scan inside loop in spark-0003 (generic model) ===
N=100   k=100  : defective=0.088ms  fixed=0.004ms  speedup=24.7x
N=500   k=500  : defective=2.243ms  fixed=0.022ms  speedup=103.8x
N=1000  k=1000 : defective=8.824ms  fixed=0.046ms  speedup=190.0x
N=2000  k=2000 : defective=35.216ms  fixed=0.097ms  speedup=364.0x

=== spark-0004: spark-0004 — Spark DAGScheduler: waitingStages.filter(_.parents.contains(parent)) O(W×P) on every stage completion ===
N=100   k=100  : defective=0.084ms  fixed=0.003ms  speedup=24.4x
N=500   k=500  : defective=2.109ms  fixed=0.020ms  speedup=103.6x
N=1000  k=1000 : defective=8.626ms  fixed=0.047ms  speedup=185.2x
N=2000  k=2000 : defective=35.029ms  fixed=0.096ms  speedup=364.6x

