-
Notifications
You must be signed in to change notification settings - Fork 38
Mismatch between full and field insensitive alias analysis #880
Copy link
Copy link
Open
Description
With the full alias analysis, we return PASS for this SVCOMP benchmark (the expected result is FALSE according to the competition).
However, there are a bunch of warnings coming from the analysis
[09.05.2025] 19:53:25 �[33m[WARN]�[m InclusionBasedPointerAnalysis.postProcess - empty pointer set for bv64 101:r12 = load(*bv64 101:r11) @linux-3.14--drivers--net--irda--w83977af_ir.ko.cil.i#5791
Context: T1:ldv_insmod_4 -> ldv_insmod_w83977af_init_4_6 @linux-3.14--drivers--net--irda--w83977af_ir.ko.cil.i#7807 -> w83977af_init @linux-3.14--drivers--net--irda--w83977af_ir.ko.cil.i#7840 -> Iter#2 @linux-3.14--drivers--net--irda--w83977af_ir.ko.cil.i#6249 -> w83977af_open @linux-3.14--drivers--net--irda--w83977af_ir.ko.cil.i#6249 -> dma_zalloc_coherent @linux-3.14--drivers--net--irda--w83977af_ir.ko.cil.i#6369 -> dma_alloc_attrs @linux-3.14--drivers--net--irda--w83977af_ir.ko.cil.i#5933 -> is_device_dma_capable @linux-3.14--drivers--net--irda--w83977af_ir.ko.cil.i#5865
[09.05.2025] 19:53:25 �[33m[WARN]�[m InclusionBasedPointerAnalysis.postProcess - empty pointer set for bv64 191:r47 = load(*bv64 192:r21 + bv64(8)) @linux-3.14--drivers--net--irda--w83977af_ir.ko.cil.i#5914
Context: T1:ldv_insmod_4 -> ldv_insmod_w83977af_init_4_6 @linux-3.14--drivers--net--irda--w83977af_ir.ko.cil.i#7807 -> w83977af_init @linux-3.14--drivers--net--irda--w83977af_ir.ko.cil.i#7840 -> Iter#2 @linux-3.14--drivers--net--irda--w83977af_ir.ko.cil.i#6249 -> w83977af_open @linux-3.14--drivers--net--irda--w83977af_ir.ko.cil.i#6249 -> dma_free_attrs @linux-3.14--drivers--net--irda--w83977af_ir.ko.cil.i#6413
[09.05.2025] 19:53:25 �[33m[WARN]�[m InclusionBasedPointerAnalysis.postProcess - empty pointer set for bv64 90:r37 = load(*bv64 91:r21) @linux-3.14--drivers--net--irda--w83977af_ir.ko.cil.i#5871
Context: T1:ldv_insmod_4 -> ldv_insmod_w83977af_init_4_6 @linux-3.14--drivers--net--irda--w83977af_ir.ko.cil.i#7807 -> w83977af_init @linux-3.14--drivers--net--irda--w83977af_ir.ko.cil.i#7840 -> Iter#2 @linux-3.14--drivers--net--irda--w83977af_ir.ko.cil.i#6249 -> w83977af_open @linux-3.14--drivers--net--irda--w83977af_ir.ko.cil.i#6249 -> dma_zalloc_coherent @linux-3.14--drivers--net--irda--w83977af_ir.ko.cil.i#6359 -> dma_alloc_attrs @linux-3.14--drivers--net--irda--w83977af_ir.ko.cil.i#5933
[09.05.2025] 19:53:25 �[33m[WARN]�[m InclusionBasedPointerAnalysis.postProcess - empty pointer set for bv64 98:r48 = load(*bv64 99:r21) @linux-3.14--drivers--net--irda--w83977af_ir.ko.cil.i#5879
Context: T1:ldv_insmod_4 -> ldv_insmod_w83977af_init_4_6 @linux-3.14--drivers--net--irda--w83977af_ir.ko.cil.i#7807 -> w83977af_init @linux-3.14--drivers--net--irda--w83977af_ir.ko.cil.i#7840 -> Iter#2 @linux-3.14--drivers--net--irda--w83977af_ir.ko.cil.i#6249 -> w83977af_open @linux-3.14--drivers--net--irda--w83977af_ir.ko.cil.i#6249 -> dma_zalloc_coherent @linux-3.14--drivers--net--irda--w83977af_ir.ko.cil.i#6369 -> dma_alloc_attrs @linux-3.14--drivers--net--irda--w83977af_ir.ko.cil.i#5933
[09.05.2025] 19:53:25 �[33m[WARN]�[m InclusionBasedPointerAnalysis.postProcess - empty pointer set for bv64 98:r37 = load(*bv64 99:r21) @linux-3.14--drivers--net--irda--w83977af_ir.ko.cil.i#5871
Context: T1:ldv_insmod_4 -> ldv_insmod_w83977af_init_4_6 @linux-3.14--drivers--net--irda--w83977af_ir.ko.cil.i#7807 -> w83977af_init @linux-3.14--drivers--net--irda--w83977af_ir.ko.cil.i#7840 -> Iter#2 @linux-3.14--drivers--net--irda--w83977af_ir.ko.cil.i#6249 -> w83977af_open @linux-3.14--drivers--net--irda--w83977af_ir.ko.cil.i#6249 -> dma_zalloc_coherent @linux-3.14--drivers--net--irda--w83977af_ir.ko.cil.i#6369 -> dma_alloc_attrs @linux-3.14--drivers--net--irda--w83977af_ir.ko.cil.i#5933
[09.05.2025] 19:53:25 �[33m[WARN]�[m InclusionBasedPointerAnalysis.postProcess - empty pointer set for bv64 201:r47 = load(*bv64 202:r21 + bv64(8)) @linux-3.14--drivers--net--irda--w83977af_ir.ko.cil.i#5914
Context: T1:ldv_insmod_4 -> ldv_insmod_w83977af_init_4_6 @linux-3.14--drivers--net--irda--w83977af_ir.ko.cil.i#7807 -> w83977af_init @linux-3.14--drivers--net--irda--w83977af_ir.ko.cil.i#7840 -> Iter#2 @linux-3.14--drivers--net--irda--w83977af_ir.ko.cil.i#6249 -> w83977af_open @linux-3.14--drivers--net--irda--w83977af_ir.ko.cil.i#6249 -> dma_free_attrs @linux-3.14--drivers--net--irda--w83977af_ir.ko.cil.i#6418
[09.05.2025] 19:53:25 �[33m[WARN]�[m InclusionBasedPointerAnalysis.postProcess - empty pointer set for bv64 201:r53 = load(*bv64 202:r21 + bv64(8)) @linux-3.14--drivers--net--irda--w83977af_ir.ko.cil.i#5918
Context: T1:ldv_insmod_4 -> ldv_insmod_w83977af_init_4_6 @linux-3.14--drivers--net--irda--w83977af_ir.ko.cil.i#7807 -> w83977af_init @linux-3.14--drivers--net--irda--w83977af_ir.ko.cil.i#7840 -> Iter#2 @linux-3.14--drivers--net--irda--w83977af_ir.ko.cil.i#6249 -> w83977af_open @linux-3.14--drivers--net--irda--w83977af_ir.ko.cil.i#6249 -> dma_free_attrs @linux-3.14--drivers--net--irda--w83977af_ir.ko.cil.i#6418
[09.05.2025] 19:53:25 �[33m[WARN]�[m InclusionBasedPointerAnalysis.postProcess - empty pointer set for bv64 93:r12 = load(*bv64 93:r11) @linux-3.14--drivers--net--irda--w83977af_ir.ko.cil.i#5791
Context: T1:ldv_insmod_4 -> ldv_insmod_w83977af_init_4_6 @linux-3.14--drivers--net--irda--w83977af_ir.ko.cil.i#7807 -> w83977af_init @linux-3.14--drivers--net--irda--w83977af_ir.ko.cil.i#7840 -> Iter#2 @linux-3.14--drivers--net--irda--w83977af_ir.ko.cil.i#6249 -> w83977af_open @linux-3.14--drivers--net--irda--w83977af_ir.ko.cil.i#6249 -> dma_zalloc_coherent @linux-3.14--drivers--net--irda--w83977af_ir.ko.cil.i#6359 -> dma_alloc_attrs @linux-3.14--drivers--net--irda--w83977af_ir.ko.cil.i#5933 -> is_device_dma_capable @linux-3.14--drivers--net--irda--w83977af_ir.ko.cil.i#5865
[09.05.2025] 19:53:25 �[33m[WARN]�[m InclusionBasedPointerAnalysis.postProcess - empty pointer set for bv64 90:r48 = load(*bv64 91:r21) @linux-3.14--drivers--net--irda--w83977af_ir.ko.cil.i#5879
Context: T1:ldv_insmod_4 -> ldv_insmod_w83977af_init_4_6 @linux-3.14--drivers--net--irda--w83977af_ir.ko.cil.i#7807 -> w83977af_init @linux-3.14--drivers--net--irda--w83977af_ir.ko.cil.i#7840 -> Iter#2 @linux-3.14--drivers--net--irda--w83977af_ir.ko.cil.i#6249 -> w83977af_open @linux-3.14--drivers--net--irda--w83977af_ir.ko.cil.i#6249 -> dma_zalloc_coherent @linux-3.14--drivers--net--irda--w83977af_ir.ko.cil.i#6359 -> dma_alloc_attrs @linux-3.14--drivers--net--irda--w83977af_ir.ko.cil.i#5933
[09.05.2025] 19:53:25 �[33m[WARN]�[m InclusionBasedPointerAnalysis.postProcess - empty pointer set for bv64 191:r53 = load(*bv64 192:r21 + bv64(8)) @linux-3.14--drivers--net--irda--w83977af_ir.ko.cil.i#5918
Context: T1:ldv_insmod_4 -> ldv_insmod_w83977af_init_4_6 @linux-3.14--drivers--net--irda--w83977af_ir.ko.cil.i#7807 -> w83977af_init @linux-3.14--drivers--net--irda--w83977af_ir.ko.cil.i#7840 -> Iter#2 @linux-3.14--drivers--net--irda--w83977af_ir.ko.cil.i#6249 -> w83977af_open @linux-3.14--drivers--net--irda--w83977af_ir.ko.cil.i#6249 -> dma_free_attrs @linux-3.14--drivers--net--irda--w83977af_ir.ko.cil.i#6413
so I tried to run the field insensitive one. Now we report (it takes ~17min) an invalid function pointer
===== Program specification violation found =====
E479: ldv_insmod_w83977af_init_4_6 @linux-3.14--drivers--net--irda--w83977af_ir.ko.cil.i#7807 -> w83977af_init @linux-3.14--drivers--net--irda--w83977af_ir.ko.cil.i#7840 -> w83977af_open @linux-3.14--drivers--net--irda--w83977af_ir.ko.cil.i#6249 -> dma_zalloc_coherent @linux-3.14--drivers--net--irda--w83977af_ir.ko.cil.i#6359 -> dma_alloc_attrs @linux-3.14--drivers--net--irda--w83977af_ir.ko.cil.i#5933 -> @linux-3.14--drivers--net--irda--w83977af_ir.ko.cil.i#5879: Invalid function pointer
=================================================
Even in this case we have several warning related to desvirtualisations
[09.05.2025] 19:09:40 [WARN] NaiveDevirtualisation.devirtualise - Cannot resolve dynamic call "call bv64 r53(bv64 r54, bv32 r55, bv64 r56, bv64 r57, bv64 r58)", no matching functions found.
[09.05.2025] 19:09:40 [WARN] NaiveDevirtualisation.devirtualise - Cannot resolve dynamic call "bv64 r54 <- call bv64 r48(bv64 r49, bv32 r50, bv64 r51, bv32 r52, bv64 r53)", no matching functions found.
[09.05.2025] 19:09:40 [WARN] NaiveDevirtualisation.devirtualise - Cannot resolve dynamic call "call bv64 r1()", no matching functions found.
but the fact that both analysis result in different results shows that we have a problem.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels