diff --git a/scripts/Queries/ResultsData.pm b/scripts/Queries/ResultsData.pm index 00aae9a..4210978 100644 --- a/scripts/Queries/ResultsData.pm +++ b/scripts/Queries/ResultsData.pm @@ -25,6 +25,12 @@ sub query { # the number of injected bits. # For a single byte pilot (e.g., uint8 variable), the faultspace area # would be inflated by x8 (8 possible bits to inject). + # + # This is the inject-on-read model: only reads are injected (write + # faults are covered by equivalence, because a write fault only + # materializes if the value is read afterwards), so the write rows in + # the trace (and the single write row in fspgroup that BasicPruner.cc + # inserts) are excluded. my $querystring = "SELECT benchmark, resulttype, SUM(t.time2 - t.time1 + 1) AS faults FROM variant v @@ -32,7 +38,7 @@ JOIN trace t ON v.id = t.variant_id JOIN fspgroup g ON g.variant_id = t.variant_id AND g.instr2 = t.instr2 AND g.data_physical_address = t.data_physical_address JOIN result_GenericExperimentMessage r ON r.pilot_id = g.pilot_id JOIN fsppilot p ON r.pilot_id = p.id -WHERE v.variant = '$experiment'$extra +WHERE t.accesstype = 'R' AND v.variant = '$experiment'$extra GROUP BY v.id, resulttype ORDER BY variant, benchmark, resulttype;";