Update traceweight query

This commit is contained in:
2026-08-17 22:38:09 +02:00
parent 334bdbff76
commit 2c622b482b
44 changed files with 113 additions and 90 deletions
Binary file not shown.
1 version https://git-lfs.github.com/spec/v1
3 size 104
Binary file not shown.
1 version https://git-lfs.github.com/spec/v1
3 size 98
Binary file not shown.
1 version https://git-lfs.github.com/spec/v1
3 size 104
Binary file not shown.
1 version https://git-lfs.github.com/spec/v1
3 size 120
Binary file not shown.
1 version https://git-lfs.github.com/spec/v1
3 size 118
Binary file not shown.
1 version https://git-lfs.github.com/spec/v1
3 size 119
Binary file not shown.
1 version https://git-lfs.github.com/spec/v1
3 size 134
Binary file not shown.
1 version https://git-lfs.github.com/spec/v1
3 size 134
Binary file not shown.
1 version https://git-lfs.github.com/spec/v1
3 size 144
Binary file not shown.
1 version https://git-lfs.github.com/spec/v1
3 size 110
Binary file not shown.
1 version https://git-lfs.github.com/spec/v1
3 size 124
Binary file not shown.
1 version https://git-lfs.github.com/spec/v1
3 size 144
Binary file not shown.
1 version https://git-lfs.github.com/spec/v1
3 size 123
Binary file not shown.
1 version https://git-lfs.github.com/spec/v1
3 size 136
Binary file not shown.
1 version https://git-lfs.github.com/spec/v1
3 size 149
Binary file not shown.
1 version https://git-lfs.github.com/spec/v1
3 size 126
Binary file not shown.
1 version https://git-lfs.github.com/spec/v1
3 size 143
Binary file not shown.
1 version https://git-lfs.github.com/spec/v1
3 size 156
Binary file not shown.
1 version https://git-lfs.github.com/spec/v1
3 size 119
Binary file not shown.
1 version https://git-lfs.github.com/spec/v1
3 size 133
Binary file not shown.
1 version https://git-lfs.github.com/spec/v1
3 size 146
Binary file not shown.
1 version https://git-lfs.github.com/spec/v1
3 size 124
Binary file not shown.
1 version https://git-lfs.github.com/spec/v1
3 size 136
Binary file not shown.
1 version https://git-lfs.github.com/spec/v1
3 size 150
Binary file not shown.
1 version https://git-lfs.github.com/spec/v1
3 size 119
Binary file not shown.
1 version https://git-lfs.github.com/spec/v1
3 size 136
Binary file not shown.
1 version https://git-lfs.github.com/spec/v1
3 size 148
Binary file not shown.
1 version https://git-lfs.github.com/spec/v1
3 size 131
Binary file not shown.
1 version https://git-lfs.github.com/spec/v1
3 size 145
Binary file not shown.
1 version https://git-lfs.github.com/spec/v1
3 size 157
Binary file not shown.
1 version https://git-lfs.github.com/spec/v1
3 size 103
Binary file not shown.
1 version https://git-lfs.github.com/spec/v1
3 size 119
Binary file not shown.
1 version https://git-lfs.github.com/spec/v1
3 size 134
Binary file not shown.
1 version https://git-lfs.github.com/spec/v1
3 size 118
Binary file not shown.
1 version https://git-lfs.github.com/spec/v1
3 size 133
Binary file not shown.
1 version https://git-lfs.github.com/spec/v1
3 size 146
Binary file not shown.
1 version https://git-lfs.github.com/spec/v1
3 size 112
Binary file not shown.
1 version https://git-lfs.github.com/spec/v1
3 size 130
Binary file not shown.
1 version https://git-lfs.github.com/spec/v1
3 size 144
Binary file not shown.
1 version https://git-lfs.github.com/spec/v1
3 size 131
Binary file not shown.
1 version https://git-lfs.github.com/spec/v1
3 size 141
Binary file not shown.
1 version https://git-lfs.github.com/spec/v1
3 size 156
+10 -1
View File
@@ -16,8 +16,17 @@ sub query {
my $extra =
Filters::build_filter_clause( $experiment_dir, @filter_config_names );
# This query basically asks: How much faultspace area
# ended up in each possible outcome?
# The "SUM(t.time2 - t.time1 + 1)" part combined with the
# "JOIN result_GenericExperimentMessage" part repeats each
# equivalence class for each injection, so the faultspace area
# is "equivalence interval" in ticks (t.time2 - t.time1 + 1) times
# 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).
my $querystring = "SELECT
benchmark, resulttype, sum(t.time2 - t.time1 + 1) AS faults
benchmark, resulttype, SUM(t.time2 - t.time1 + 1) AS faults
FROM variant v
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
+19 -5
View File
@@ -22,12 +22,26 @@ sub query {
# faultspace area is not repeated.
# The "COUNT(*)" part counts the number of equivalence classes
# (or the number of pilots in other words).
# The number of actual injections is (probably/hopefully) 8 * pilots,
# because we run with --inject-single-bit.
# We expect the "weight" to be equal to the number of pilots for the
# IP benchmark, as the IP injections are only a single tick long.
#
# We run with --inject-single-bit, so FAIL* produces one result
# per bit (8 * p.data_width).
# This means "area" matches the ResultsData.pm query and
# can be used as a denominator (to calculate marker percentages
# that work better between different execution modes, as we don't
# want to compare a variable that is "live" for 100 ticks to one
# that is "live" for 5):
# - area == SUM(resultsdata.faults) over all resulttypes
#
# In the IP benchmark every equivalence class is one tick long and
# one byte wide, so we expect the following relations:
# - weight == pilots == instruction count
# - area == injections == 8 * pilots
my $querystring = "SELECT
benchmark, SUM(t.time2 - t.time1 + 1) AS weight, COUNT(*) AS pilots
benchmark,
SUM(t.time2 - t.time1 + 1) AS weight,
SUM((t.time2 - t.time1 + 1) * p.data_width) * 8 AS area,
SUM(p.data_width) * 8 AS injections,
COUNT(*) AS pilots
FROM variant v
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