Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Interprocedural verification enhancement #244

Merged
merged 18 commits into from
Nov 23, 2023

Conversation

s0mark
Copy link
Contributor

@s0mark s0mark commented Nov 16, 2023

This PR contains a way of applying abstraction to location stacks, in order to reduce the size of the state space in interprocedural verification.

@s0mark s0mark marked this pull request as ready for review November 20, 2023 19:58
@s0mark s0mark requested a review from leventeBajczi November 20, 2023 19:58
@leventeBajczi
Copy link
Contributor

Thanks!
Could you please look at the tests? For some reason they take forever now (47 minutes and still going): https://github.com/ftsrg/theta/actions/runs/6935056406?pr=244

@leventeBajczi
Copy link
Contributor

And formatting can be done via docker run -v $PWD:/github/workspace ghcr.io/leventebajczi/intellij-format:latest "*.java,*.kts,*.kt" "" "./doc/ThetaIntelliJCodeStyle.xml". I'd appreciate if you could run it, but no worries if not, I'll fix it over on xcfa-refactor.

.changeVars(reverseLookup + additionalLookup)
val tempLookup = if (i > 0) getTempLookup(trace.actions[i - 1].edge.label).entries
.associateBy({ it.value }) { it.key } else emptyMap()
val precFromRef = refToPrec.toPrec(refutation, i).changeVars(tempLookup)
Copy link
Contributor Author

@s0mark s0mark Nov 21, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks! Could you please look at the tests? For some reason they take forever now (47 minutes and still going): https://github.com/ftsrg/theta/actions/runs/6935056406?pr=244

The problem with the non-terminating multithreaded test is caused by removal of general parameters from the precision here (reverseLookup was deleted). This was necessary for recursive tasks, where the concrete variable instances of different procedure calls are needed in the precision in order to successfully verify them. This seems to cause problems for multithreaded tasks though, where we have instances of different threads. As a quick fix, we could omit reverseLookup when verifying recursive tasks and use it otherwise. We should discuss how to proceed on the long-term.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for looking into it! I think we should discuss the next steps later, in person.

@leventeBajczi
Copy link
Contributor

leventeBajczi commented Nov 22, 2023

Unfortunately, regression test results are not too good: 339 tasks that were previously solved now throw an error.

I've sent you the files for these results.

unreach-call new problems
bitvector/interleave_bits.yml
bitvector/soft_float_1-3a.c.cil.yml
bitvector/soft_float_4-3a.c.cil.yml
eca-rers2012/Problem05_label11.yml
eca-rers2012/Problem05_label13.yml
eca-rers2012/Problem05_label24.yml
eca-rers2012/Problem05_label26.yml
eca-rers2012/Problem05_label32.yml
eca-rers2012/Problem05_label36.yml
eca-rers2012/Problem05_label40.yml
eca-rers2012/Problem05_label41.yml
eca-rers2012/Problem05_label44.yml
eca-rers2012/Problem05_label47.yml
eca-rers2012/Problem05_label58.yml
eca-rers2012/Problem13_label06.yml
eca-rers2012/Problem13_label28.yml
eca-rers2012/Problem14_label27.yml
eca-rers2012/Problem14_label44.yml
eca-rers2012/Problem15_label41.yml
eca-rers2012/Problem16_label50.yml
eca-rers2012/Problem16_label57.yml
loop-acceleration/array_2-2-simple.yml
loop-acceleration/const_1-2.yml
recursive/Fibonacci02.yml
recursive-simple/fibo_2calls_2-1.yml
recursive-simple/fibo_2calls_2-2.yml
recursive-simple/fibo_2calls_4-1.yml
recursive-simple/fibo_2calls_4-2.yml
recursive-simple/fibo_2calls_5-1.yml
recursive-simple/fibo_2calls_5-2.yml
recursive-simple/fibo_2calls_6-1.yml
recursive-simple/fibo_2calls_6-2.yml
recursive-simple/fibo_2calls_8-1.yml
recursive-simple/fibo_2calls_8-2.yml
recursive-simple/fibo_5-1.yml
recursive-simple/fibo_5-2.yml
recursive-simple/fibo_7-1.yml
recursive-simple/fibo_7-2.yml
recursive-simple/id2_b3_o2.yml
recursive-simple/id2_i5_o5-1.yml
recursive-simple/id2_i5_o5-2.yml
recursive-simple/id_b3_o2-2.yml
recursive-simple/id_i10_o10-1.yml
recursive-simple/id_i10_o10-2.yml
recursive-simple/id_i15_o15-1.yml
recursive-simple/id_i15_o15-2.yml
recursive-simple/id_i20_o20-1.yml
recursive-simple/id_i20_o20-2.yml
recursive-simple/id_i25_o25-1.yml
recursive-simple/id_i25_o25-2.yml
recursive-simple/id_i5_o5-1.yml
recursive-simple/id_i5_o5-2.yml
recursive-simple/id_o10.yml
recursive-simple/id_o100.yml
recursive-simple/id_o20.yml
recursive-simple/id_o3.yml
recursive-simple/sum_10x0-1.yml
recursive-simple/sum_10x0-2.yml
recursive-simple/sum_15x0-1.yml
recursive-simple/sum_15x0-2.yml
recursive-simple/sum_20x0-1.yml
recursive-simple/sum_20x0-2.yml
recursive-simple/sum_25x0-1.yml
recursive-simple/sum_25x0-2.yml
recursive-simple/sum_2x3-1.yml
recursive-simple/sum_2x3-2.yml
combinations/Problem05_label43+token_ring.04.cil-2.yml
combinations/square_1+soft_float_1-2a.c.cil.yml
combinations/square_1+soft_float_4-2a.c.cil.yml
combinations/square_2+soft_float_1-2a.c.cil.yml
combinations/square_2+soft_float_4-2a.c.cil.yml
combinations/square_3+soft_float_1-2a.c.cil.yml
combinations/square_3+soft_float_4-2a.c.cil.yml
combinations/square_4+soft_float_1-3a.c.cil.yml
combinations/square_4+soft_float_4-3a.c.cil.yml
combinations/square_5+soft_float_1-3a.c.cil.yml
combinations/square_5+soft_float_4-3a.c.cil.yml
combinations/square_6+soft_float_1-3a.c.cil.yml
combinations/square_6+soft_float_4-3a.c.cil.yml
combinations/square_7+soft_float_1-3a.c.cil.yml
combinations/square_7+soft_float_4-3a.c.cil.yml
combinations/square_8+soft_float_1-3a.c.cil.yml
combinations/square_8+soft_float_4-3a.c.cil.yml
hardware-verification-bv/btor2c-lazyMod.iprotocol.7.prop1-back-serstep.yml
hardware-verification-bv/btor2c-lazyMod.needham.1.prop2-back-serstep.yml
hardness-nfm22/hardness_loopvsstraightlinecode_25-while_file-5.yml
hardness-nfm22/hardness_operatoramount_amount25_file-5.yml
goblint-regression/13-privatized_01-priv_nr_true.yml
goblint-regression/13-privatized_18-first-reads_true.yml
goblint-regression/13-privatized_19-publish-precision_true.yml
goblint-regression/13-privatized_20-publish-regression_true.yml
goblint-regression/13-privatized_24-multiple-protecting_true.yml
goblint-regression/13-privatized_27-multiple-protecting2_true.yml
goblint-regression/13-privatized_29-multiple-protecting2-vesal_true.yml
goblint-regression/13-privatized_30-traces-oplus-vs-meet_true.yml
goblint-regression/13-privatized_31-traces-mine-vs-mutex_true.yml
goblint-regression/13-privatized_34-traces-minepp-L-needs-to-be-um_true.yml
goblint-regression/13-privatized_35-traces-ex-2_true.yml
goblint-regression/13-privatized_36-traces-ex-3_true.yml
goblint-regression/13-privatized_37-traces-ex-4_true.yml
goblint-regression/13-privatized_40-traces-ex-6_true.yml
goblint-regression/13-privatized_42-traces-ex-mini_true.yml
goblint-regression/13-privatized_44-traces-mine2_true.yml
goblint-regression/13-privatized_46-refine-protected1_true.yml
goblint-regression/13-privatized_47-refine-protected2_true.yml
goblint-regression/13-privatized_57-singlethreaded-unlock_true.yml
goblint-regression/13-privatized_58-singlethreaded-lock_true.yml
goblint-regression/13-privatized_66-mine-W-init_true.yml
goblint-regression/36-apron_11-traces-max-simple_true.yml
goblint-regression/36-apron_16-traces-unprot2_true.yml
pthread/fib_safe-5.yml
pthread/fib_safe-6.yml
pthread/fib_safe-7.yml
pthread/fib_unsafe-5.yml
pthread/fib_unsafe-6.yml
pthread/fib_unsafe-7.yml
pthread-atomic/dekker.yml
pthread-atomic/lamport.yml
pthread-atomic/peterson.yml
pthread-atomic/read_write_lock-1.yml
pthread-atomic/read_write_lock-2.yml
pthread-atomic/szymanski.yml
pthread-ext/18_read_write_lock.yml
pthread-wmm/mix001.oepc.yml
pthread-wmm/mix001.opt.yml
pthread-wmm/mix002.oepc.yml
pthread-wmm/mix002.opt.yml
pthread-wmm/mix003.oepc.yml
pthread-wmm/mix003_power.opt_pso.opt_rmo.opt_tso.opt.yml
pthread-wmm/mix004.oepc.yml
pthread-wmm/mix004.opt.yml
pthread-wmm/mix005.opt.yml
pthread-wmm/mix005_power.oepc_pso.oepc_rmo.oepc.yml
pthread-wmm/mix005_tso.oepc.yml
pthread-wmm/mix006.opt.yml
pthread-wmm/mix006_power.oepc_pso.oepc_rmo.oepc.yml
pthread-wmm/mix006_tso.oepc.yml
pthread-wmm/mix007.oepc.yml
pthread-wmm/mix007.opt.yml
pthread-wmm/mix008.opt.yml
pthread-wmm/mix008_power.oepc_pso.oepc_rmo.oepc.yml
pthread-wmm/mix008_tso.oepc.yml
pthread-wmm/mix010.oepc.yml
pthread-wmm/mix010.opt.yml
pthread-wmm/mix011.opt.yml
pthread-wmm/mix011_power.oepc_pso.oepc_rmo.oepc.yml
pthread-wmm/mix011_tso.oepc.yml
pthread-wmm/mix012_pso.opt_tso.opt.yml
pthread-wmm/mix013.oepc.yml
pthread-wmm/mix013.opt.yml
pthread-wmm/mix014.opt.yml
pthread-wmm/mix014_power.oepc_pso.oepc_rmo.oepc.yml
pthread-wmm/mix014_tso.oepc.yml
pthread-wmm/mix015.oepc.yml
pthread-wmm/mix015.opt.yml
pthread-wmm/mix016.oepc.yml
pthread-wmm/mix016_power.opt_rmo.opt.yml
pthread-wmm/mix016_pso.opt_tso.opt.yml
pthread-wmm/mix017.oepc.yml
pthread-wmm/mix017_power.opt_rmo.opt.yml
pthread-wmm/mix017_pso.opt_tso.opt.yml
pthread-wmm/mix018.opt.yml
pthread-wmm/mix018_power.oepc_pso.oepc_rmo.oepc.yml
pthread-wmm/mix018_tso.oepc.yml
pthread-wmm/mix019.opt.yml
pthread-wmm/mix019_power.oepc_pso.oepc_rmo.oepc.yml
pthread-wmm/mix019_tso.oepc.yml
pthread-wmm/mix020.oepc.yml
pthread-wmm/mix020.opt.yml
pthread-wmm/mix021.opt.yml
pthread-wmm/mix021_power.oepc_pso.oepc_rmo.oepc.yml
pthread-wmm/mix021_tso.oepc.yml
pthread-wmm/mix022_power.oepc_power.opt_pso.oepc_pso.opt_rmo.oepc_rmo.opt.yml
pthread-wmm/mix022_tso.yml
pthread-wmm/mix023_power.oepc_pso.oepc_rmo.oepc.yml
pthread-wmm/mix023_power.opt_pso.opt_rmo.opt.yml
pthread-wmm/mix023_tso.yml
pthread-wmm/mix024_power.oepc_pso.oepc_rmo.oepc_tso.oepc_tso.opt.yml
pthread-wmm/mix024_power.opt_pso.opt_rmo.opt.yml
pthread-wmm/mix025_power.oepc_power.opt_pso.oepc_rmo.oepc_tso.oepc_tso.opt.yml
pthread-wmm/mix025_pso.opt_rmo.opt.yml
pthread-wmm/mix026.oepc.yml
pthread-wmm/mix026_power.opt_tso.opt.yml
pthread-wmm/mix026_pso.opt_rmo.opt.yml
pthread-wmm/mix027_power.oepc_pso.oepc_rmo.oepc.yml
pthread-wmm/mix027_power.opt_pso.opt_rmo.opt.yml
pthread-wmm/mix027_tso.yml
pthread-wmm/mix028_power.oepc_pso.oepc_rmo.oepc.yml
pthread-wmm/mix028_power.opt_pso.opt_rmo.opt.yml
pthread-wmm/mix028_tso.yml
pthread-wmm/mix029_power.oepc_pso.oepc_rmo.oepc_tso.oepc_tso.opt.yml
pthread-wmm/mix029_power.opt_pso.opt_rmo.opt.yml
pthread-wmm/mix030_power.oepc_pso.oepc_rmo.oepc.yml
pthread-wmm/mix030_power.opt_pso.opt_rmo.opt.yml
pthread-wmm/mix030_tso.yml
pthread-wmm/mix031.oepc.yml
pthread-wmm/mix031.opt.yml
pthread-wmm/mix032.oepc.yml
pthread-wmm/mix032.opt.yml
pthread-wmm/mix033.opt.yml
pthread-wmm/mix033_power.oepc_pso.oepc_rmo.oepc.yml
pthread-wmm/mix033_tso.oepc.yml
pthread-wmm/mix035.oepc.yml
pthread-wmm/mix035_power.opt_rmo.opt.yml
pthread-wmm/mix035_pso.opt_tso.opt.yml
pthread-wmm/mix036.oepc.yml
pthread-wmm/mix036_power.opt_rmo.opt.yml
pthread-wmm/mix036_pso.opt_tso.opt.yml
pthread-wmm/mix037.opt.yml
pthread-wmm/mix037_power.oepc_pso.oepc_rmo.oepc.yml
pthread-wmm/mix037_tso.oepc.yml
pthread-wmm/mix038.opt.yml
pthread-wmm/mix038_power.oepc_pso.oepc_rmo.oepc.yml
pthread-wmm/mix038_tso.oepc.yml
pthread-wmm/mix039.oepc.yml
pthread-wmm/mix039.opt.yml
pthread-wmm/mix040.opt.yml
pthread-wmm/mix040_power.oepc_pso.oepc_rmo.oepc.yml
pthread-wmm/mix040_tso.oepc.yml
pthread-wmm/mix041_power.oepc_pso.oepc_rmo.oepc.yml
pthread-wmm/mix041_power.opt_pso.opt_rmo.opt_tso.oepc_tso.opt.yml
pthread-wmm/mix042.oepc.yml
pthread-wmm/mix042.opt.yml
pthread-wmm/mix043.oepc.yml
pthread-wmm/mix043.opt.yml
pthread-wmm/mix044.opt.yml
pthread-wmm/mix044_power.oepc_pso.oepc_rmo.oepc.yml
pthread-wmm/mix044_tso.oepc.yml
pthread-wmm/mix045_power.oepc_pso.oepc_rmo.oepc.yml
pthread-wmm/mix045_power.opt_pso.opt_rmo.opt_tso.oepc_tso.opt.yml
pthread-wmm/mix046.oepc.yml
pthread-wmm/mix046.opt.yml
pthread-wmm/mix047_power.oepc_pso.oepc_rmo.oepc.yml
pthread-wmm/mix047_power.opt_pso.opt_rmo.opt_tso.oepc_tso.opt.yml
pthread-wmm/mix049_power.oepc_power.opt_pso.oepc_pso.opt_rmo.oepc_rmo.opt_tso.oepc_tso.opt-podwr001_power.oepc_power.opt_pso.oepc_pso.opt_rmo.oepc_rmo.opt_tso.oepc_tso.opt.yml
pthread-wmm/mix050.yml
pthread-wmm/mix051_power.oepc_power.opt_pso.oepc_rmo.oepc.yml
pthread-wmm/mix051_pso.opt_rmo.opt_tso.opt.yml
pthread-wmm/mix051_tso.oepc.yml
pthread-wmm/mix052_power.oepc_power.opt_pso.oepc_rmo.oepc.yml
pthread-wmm/mix052_pso.opt_rmo.opt_tso.opt.yml
pthread-wmm/mix052_tso.oepc.yml
pthread-wmm/mix053.opt.yml
pthread-wmm/mix053_power.oepc_pso.oepc_rmo.oepc.yml
pthread-wmm/mix053_tso.oepc.yml
pthread-wmm/mix054_power.oepc_power.opt_pso.oepc_rmo.oepc.yml
pthread-wmm/mix054_pso.opt_rmo.opt_tso.oepc_tso.opt.yml
pthread-wmm/mix055.opt.yml
pthread-wmm/mix055_power.oepc_pso.oepc_rmo.oepc.yml
pthread-wmm/mix055_tso.oepc.yml
pthread-wmm/mix056_power.oepc_pso.oepc_rmo.oepc.yml
pthread-wmm/mix056_power.opt_pso.opt_rmo.opt_tso.oepc_tso.opt.yml
pthread-wmm/mix057_power.oepc_pso.oepc_rmo.oepc.yml
pthread-wmm/mix057_power.opt_pso.opt_rmo.opt_tso.oepc_tso.opt.yml
pthread-wmm/rfi000_power.oepc_pso.oepc_rmo.oepc.yml
pthread-wmm/rfi000_power.opt_pso.opt_rmo.opt.yml
pthread-wmm/rfi000_tso.yml
pthread-wmm/rfi001_power.oepc_pso.oepc_rmo.oepc.yml
pthread-wmm/rfi001_power.opt_pso.opt_rmo.opt_tso.oepc_tso.opt.yml
pthread-wmm/rfi002_power.oepc_power.opt_pso.oepc_pso.opt_rmo.oepc_rmo.opt.yml
pthread-wmm/rfi002_tso.yml
pthread-wmm/rfi003_power.oepc_power.opt_pso.oepc_pso.opt_rmo.oepc_rmo.opt.yml
pthread-wmm/rfi003_tso.yml
pthread-wmm/rfi004.yml
pthread-wmm/rfi006_pso.oepc_pso.opt_tso.oepc_tso.opt.yml
pthread-wmm/rfi007_power.oepc_power.opt_pso.oepc_pso.opt_rmo.oepc_rmo.opt.yml
pthread-wmm/rfi007_tso.yml
pthread-wmm/rfi008.oepc.yml
pthread-wmm/rfi008.opt.yml
pthread-wmm/rfi009_power.opt_pso.oepc_pso.opt_rmo.opt_tso.oepc_tso.opt.yml
pthread-wmm/rfi010.yml
pthread-wmm/safe000_pso.oepc_pso.opt_tso.oepc_tso.opt.yml
pthread-wmm/safe001_power.opt_pso.oepc_pso.opt_rmo.opt.yml
pthread-wmm/safe001_tso.yml
pthread-wmm/safe002_power.opt_pso.oepc_pso.opt_rmo.opt.yml
pthread-wmm/safe002_tso.yml
pthread-wmm/safe003_power.oepc_pso.oepc_pso.opt_rmo.oepc_rmo.opt.yml
pthread-wmm/safe003_tso.yml
pthread-wmm/safe004_power.oepc_pso.oepc_rmo.oepc.yml
pthread-wmm/safe004_power.opt_pso.opt_rmo.opt.yml
pthread-wmm/safe004_tso.yml
pthread-wmm/safe005_power.oepc_power.opt_pso.oepc_pso.opt_rmo.oepc_rmo.opt.yml
pthread-wmm/safe005_tso.yml
pthread-wmm/safe006_pso.oepc_pso.opt_tso.oepc_tso.opt-thin000_pso.oepc_pso.opt_tso.oepc_tso.opt.yml
pthread-wmm/safe007_pso.oepc_pso.opt_tso.oepc_tso.opt-thin001_pso.oepc_pso.opt_tso.oepc_tso.opt.yml
pthread-wmm/safe008_power.oepc_pso.oepc_pso.opt_rmo.oepc_rmo.opt.yml
pthread-wmm/safe008_tso.yml
pthread-wmm/safe009_pso.oepc_pso.opt_tso.oepc_tso.opt.yml
pthread-wmm/safe010_power.oepc_power.opt_pso.oepc_pso.opt_rmo.oepc_rmo.opt.yml
pthread-wmm/safe010_tso.yml
pthread-wmm/safe011_power.oepc_pso.oepc_rmo.oepc_rmo.opt.yml
pthread-wmm/safe011_power.opt_pso.opt.yml
pthread-wmm/safe011_tso.yml
pthread-wmm/safe012_pso.oepc_pso.opt_rmo.opt.yml
pthread-wmm/safe012_tso.yml
pthread-wmm/safe013_power.oepc_power.opt_pso.oepc_pso.opt_rmo.oepc_rmo.opt.yml
pthread-wmm/safe013_tso.yml
pthread-wmm/safe014_pso.oepc_pso.opt_tso.oepc_tso.opt.yml
pthread-wmm/safe015_pso.oepc_pso.opt_tso.oepc_tso.opt.yml
pthread-wmm/safe016_pso.oepc_pso.opt_tso.oepc_tso.opt.yml
pthread-wmm/safe017_power.oepc_power.opt_pso.oepc_pso.opt_rmo.oepc_rmo.opt.yml
pthread-wmm/safe017_tso.yml
pthread-wmm/safe018_pso.oepc_pso.opt_tso.oepc_tso.opt.yml
pthread-wmm/safe019_pso.oepc_pso.opt_tso.oepc_tso.opt.yml
pthread-wmm/safe020_pso.oepc_pso.opt_tso.oepc_tso.opt.yml
pthread-wmm/safe021_power.oepc_pso.oepc_rmo.oepc_rmo.opt.yml
pthread-wmm/safe021_power.opt_pso.opt.yml
pthread-wmm/safe021_tso.yml
pthread-wmm/safe022_power.oepc_power.opt_pso.oepc_pso.opt_rmo.oepc_rmo.opt.yml
pthread-wmm/safe022_tso.yml
pthread-wmm/safe023_power.oepc_power.opt_pso.oepc_pso.opt_rmo.oepc_rmo.opt.yml
pthread-wmm/safe023_tso.yml
pthread-wmm/safe024_power.oepc_power.opt_pso.oepc_pso.opt_rmo.oepc_rmo.opt.yml
pthread-wmm/safe024_tso.yml
pthread-wmm/safe025_pso.oepc_pso.opt_tso.oepc_tso.opt.yml
pthread-wmm/safe026_power.oepc_power.opt_pso.oepc_pso.opt_rmo.oepc_rmo.opt.yml
pthread-wmm/safe026_tso.yml
pthread-wmm/safe027_pso.oepc_pso.opt_tso.oepc_tso.opt.yml
pthread-wmm/safe028_pso.oepc_pso.opt_tso.oepc_tso.opt.yml
pthread-wmm/safe029_power.oepc_pso.oepc_rmo.oepc.yml
pthread-wmm/safe029_power.opt_pso.opt_rmo.opt.yml
pthread-wmm/safe029_tso.yml
pthread-wmm/safe030_power.oepc_pso.oepc_rmo.oepc.yml
pthread-wmm/safe030_power.opt_pso.opt_rmo.opt.yml
pthread-wmm/safe030_tso.yml
pthread-wmm/safe031_power.oepc_pso.oepc_rmo.oepc.yml
pthread-wmm/safe031_power.opt_pso.opt_rmo.opt.yml
pthread-wmm/safe031_tso.yml
pthread-wmm/safe032_power.oepc_power.opt_pso.oepc_pso.opt_rmo.oepc_rmo.opt.yml
pthread-wmm/safe032_tso.yml
pthread-wmm/safe033_power.oepc_power.opt_pso.oepc_pso.opt_rmo.oepc_rmo.opt.yml
pthread-wmm/safe033_tso.yml
pthread-wmm/safe034_power.oepc_power.opt_pso.oepc_pso.opt_rmo.oepc_rmo.opt.yml
pthread-wmm/safe034_tso.yml
pthread-wmm/safe035_power.yml
pthread-wmm/safe035_pso.oepc_pso.opt_rmo.oepc_rmo.opt_tso.oepc_tso.opt.yml
pthread-wmm/safe036.yml
pthread-wmm/safe037.yml

@leventeBajczi
Copy link
Contributor

Regression tests are done, everything seems OK, thanks! Merging.

@leventeBajczi leventeBajczi merged commit 22257ee into ftsrg:xcfa-refactor Nov 23, 2023
42 of 43 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants