diff --git a/scripts/menu.pl b/scripts/menu.pl index fca9aef..d576614 100644 --- a/scripts/menu.pl +++ b/scripts/menu.pl @@ -336,93 +336,93 @@ my %handlers = ( 0, @entries ); }, - '11b. Compare to Baseline' => sub { - - my $baseline = Util::select_experiment(0); - - my @selected_experiments = Util::select_experiment(1); - - # TODO: Fails silently if not every selected experiment has this datafile - my $resultsdata_csv = - Util::pick_data_file( "$local_archive_dir/$baseline", "resultsdata" ); - - my %all_results; - foreach my $experiment ( $baseline, @selected_experiments ) { - - my $data = Text::CSV_XS::csv( - in => "$local_archive_dir/$experiment/$resultsdata_csv", - headers => 'auto' - ); - - foreach my $row (@$data) { - $all_results{$experiment}{ $row->{benchmark} } - { $row->{resulttype} } = $row->{faults}; - } - } - - my @benchs = ( 'ip', 'mem', 'regs' ); - my @markers = ( - 'OK_MARKER', 'FAIL_MARKER', - 'DETECTED_MARKER', 'TIMEOUT', - 'TRAP', 'WRITE_TEXTSEGMENT', - 'ACCESS_OUTERSPACE', 'GROUP1_MARKER' - ); - - my $heading = sprintf( "%5s %20s %50s ", "BENCH", "TYPE", $baseline ); - my $subheading = sprintf( "%5s %20s %50s ", - "", "", Util::read_experiment_info($baseline) ); - foreach my $experiment (@selected_experiments) { - $heading .= sprintf( "%50s ", $experiment ); - $subheading .= - sprintf( "%50s ", Util::read_experiment_info($experiment) ); - } - - my @entries = ( $heading, $subheading, "" ); - foreach my $benchmark (@benchs) { - foreach my $marker (@markers) { - my $entry = sprintf( "%5s %20s ", $benchmark, $marker ); - - if ( exists $all_results{$baseline}{$benchmark}{$marker} ) { - $entry .= sprintf( - "%50s ", - Util::format_number_sep( - $all_results{$baseline}{$benchmark}{$marker} - ) - ); - } - else { - $entry .= sprintf( "%50s ", "" ); - } - - foreach my $experiment (@selected_experiments) { - if ( exists $all_results{$baseline}{$benchmark}{$marker} - and - exists $all_results{$experiment}{$benchmark}{$marker} - and $all_results{$baseline}{$benchmark}{$marker} != 0 ) - { - my $factor = - $all_results{$experiment}{$benchmark}{$marker} / - $all_results{$baseline}{$benchmark}{$marker}; - $entry .= - sprintf( "%50s ", sprintf( "%.2fx", $factor ) ); - } - else { - $entry .= sprintf( "%50s ", "" ); - } - } - - push @entries, $entry; - } - push @entries, ""; - } - - TUI::select_from_list( - "Baseline: $baseline — Comparing " - . scalar(@selected_experiments) - . " Experiments", - 0, @entries - ); - }, + # '11b. Compare to Baseline' => sub { + # + # my $baseline = Util::select_experiment(0); + # + # my @selected_experiments = Util::select_experiment(1); + # + # # TODO: Fails silently if not every selected experiment has this datafile + # my $resultsdata_csv = + # Util::pick_data_file( "$local_archive_dir/$baseline", "resultsdata" ); + # + # my %all_results; + # foreach my $experiment ( $baseline, @selected_experiments ) { + # + # my $data = Text::CSV_XS::csv( + # in => "$local_archive_dir/$experiment/$resultsdata_csv", + # headers => 'auto' + # ); + # + # foreach my $row (@$data) { + # $all_results{$experiment}{ $row->{benchmark} } + # { $row->{resulttype} } = $row->{faults}; + # } + # } + # + # my @benchs = ( 'ip', 'mem', 'regs' ); + # my @markers = ( + # 'OK_MARKER', 'FAIL_MARKER', + # 'DETECTED_MARKER', 'TIMEOUT', + # 'TRAP', 'WRITE_TEXTSEGMENT', + # 'ACCESS_OUTERSPACE', 'GROUP1_MARKER' + # ); + # + # my $heading = sprintf( "%5s %20s %50s ", "BENCH", "TYPE", $baseline ); + # my $subheading = sprintf( "%5s %20s %50s ", + # "", "", Util::read_experiment_info($baseline) ); + # foreach my $experiment (@selected_experiments) { + # $heading .= sprintf( "%50s ", $experiment ); + # $subheading .= + # sprintf( "%50s ", Util::read_experiment_info($experiment) ); + # } + # + # my @entries = ( $heading, $subheading, "" ); + # foreach my $benchmark (@benchs) { + # foreach my $marker (@markers) { + # my $entry = sprintf( "%5s %20s ", $benchmark, $marker ); + # + # if ( exists $all_results{$baseline}{$benchmark}{$marker} ) { + # $entry .= sprintf( + # "%50s ", + # Util::format_number_sep( + # $all_results{$baseline}{$benchmark}{$marker} + # ) + # ); + # } + # else { + # $entry .= sprintf( "%50s ", "" ); + # } + # + # foreach my $experiment (@selected_experiments) { + # if ( exists $all_results{$baseline}{$benchmark}{$marker} + # and + # exists $all_results{$experiment}{$benchmark}{$marker} + # and $all_results{$baseline}{$benchmark}{$marker} != 0 ) + # { + # my $factor = + # $all_results{$experiment}{$benchmark}{$marker} / + # $all_results{$baseline}{$benchmark}{$marker}; + # $entry .= + # sprintf( "%50s ", sprintf( "%.2fx", $factor ) ); + # } + # else { + # $entry .= sprintf( "%50s ", "" ); + # } + # } + # + # push @entries, $entry; + # } + # push @entries, ""; + # } + # + # TUI::select_from_list( + # "Baseline: $baseline — Comparing " + # . scalar(@selected_experiments) + # . " Experiments", + # 0, @entries + # ); + # }, '12. Open Experiment in BinaryNinja' => sub { my @selected_experiments = Util::select_experiment(1);