Skip to content

RWTH-HPC/static-filter-rma-c3po24

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Leveraging Static Analysis to Accelerate Dynamic Race Detection in RMA Programs - Supplemental Material

This is supplemental material for the paper "Leveraging Static Analysis to Accelerate Dynamic Race Detection in RMA Programs" submitted to the C3PO workshop.

Repository Structure

Classification Quality Results

We used the set of test cases provided by RMARaceBench and extended them with a misc category that contains several test cases that are challenging to be understood for static analysis tools (due to aliasing, nesting of functions etc.). The codes of the misc category are available at classification_quality/rmaracebench/MPIRMA/misc.

We ran the RMARaceBench tests in three variants: 1) without any optimization, 2) with BDX(10), 3) with BDX(∞). The classification quality results are available here:

If no optimization is applied, then MUST-RMA has a recall of 1 for the misc category. For BDX(∞), it is 0.87, since function pointer aliasing is not detected. For BDX(10), it is 0.81, since the test cases with a deep nesting of pointer aliasing are not correctly detected. The precision for all variants is 1.

Performance Evaluation

The results of the performance evaluation for the filter statistics for the different benchmarks are available at:

The results of the performance evaluation with MUST-RMA for the different benchmarks are available at:

Our benchmark suite is based on the JUBE benchmarking environment and can be used to reproduce our experiments. The setup can be found at performance_evaluation/rma_codes.

For all setups, we ran

jube run <benchmarkname>.xml --tag tsan-opt M filterstats ignorelist

to get our results. The plotting scripts are available in performance_evaluation and the plots itself in performance_evaluation/plots.

The sources of different codes are available at

Input Data

The input graph for miniVite was taken from https://www.cise.ufl.edu/research/sparse/matrices/Schenk/nlpkkt240.html.