From 94d8bb248c41cf190e06a279f3d419bc548dfb21 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20B=C3=BChler?= <david.buhler@cea.fr> Date: Tue, 8 Dec 2020 15:52:19 +0100 Subject: [PATCH] [Eva] Updates alternative oracles on auto_loop_unroll test. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The octagon domains improves the precision on the first run, with unsufficient automatic loop unrolling — but not on the second run. The gauges domain improves the precision on both runs. --- tests/value/diff_apron | 422 +++++++++++++++++++++++--------------- tests/value/diff_gauges | 195 +++++++++++++++++- tests/value/diff_octagons | 14 ++ 3 files changed, 455 insertions(+), 176 deletions(-) diff --git a/tests/value/diff_apron b/tests/value/diff_apron index 743c205995e..b8f9fbe7d8c 100644 --- a/tests/value/diff_apron +++ b/tests/value/diff_apron @@ -72,148 +72,193 @@ diff tests/value/oracle/auto_loop_unroll.0.res.oracle tests/value/oracle_apron/a < Frama_C_show_each_32_80: [0..2147483647] --- > [eva] tests/value/auto_loop_unroll.c:82: Frama_C_show_each_32_80: [0..164] -49,52c32 -< [eva:alarm] tests/value/auto_loop_unroll.c:86: Warning: +55,56d37 +< [eva:alarm] tests/value/auto_loop_unroll.c:88: Warning: < signed overflow. assert res + 1 ≤ 2147483647; -< [eva] tests/value/auto_loop_unroll.c:90: -< Frama_C_show_each_11_111: [0..2147483647] ---- -> [eva] tests/value/auto_loop_unroll.c:90: Frama_C_show_each_11_111: [11..111] -60,61d39 -< [eva:alarm] tests/value/auto_loop_unroll.c:96: Warning: +60,62c41 +< [eva:alarm] tests/value/auto_loop_unroll.c:93: Warning: < signed overflow. assert res + 1 ≤ 2147483647; -72c50,53 -< [eva] tests/value/auto_loop_unroll.c:103: Reusing old results for call to incr +< [eva] tests/value/auto_loop_unroll.c:95: Frama_C_show_each_101: [0..2147483647] +--- +> [eva] tests/value/auto_loop_unroll.c:95: Frama_C_show_each_101: {101} +71c50,53 +< [eva] tests/value/auto_loop_unroll.c:101: Reusing old results for call to incr --- > [eva] computing for function incr <- various_loops <- main. -> Called from tests/value/auto_loop_unroll.c:103. +> Called from tests/value/auto_loop_unroll.c:101. > [eva] Recording results for incr > [eva] Done for function incr -82c63,66 -< [eva] tests/value/auto_loop_unroll.c:103: Reusing old results for call to incr +81c63,66 +< [eva] tests/value/auto_loop_unroll.c:101: Reusing old results for call to incr --- > [eva] computing for function incr <- various_loops <- main. -> Called from tests/value/auto_loop_unroll.c:103. +> Called from tests/value/auto_loop_unroll.c:101. > [eva] Recording results for incr > [eva] Done for function incr -91c75,78 -< [eva] tests/value/auto_loop_unroll.c:103: Reusing old results for call to incr +90c75,78 +< [eva] tests/value/auto_loop_unroll.c:101: Reusing old results for call to incr --- > [eva] computing for function incr <- various_loops <- main. -> Called from tests/value/auto_loop_unroll.c:103. +> Called from tests/value/auto_loop_unroll.c:101. > [eva] Recording results for incr > [eva] Done for function incr -108c95,98 -< [eva] tests/value/auto_loop_unroll.c:102: Reusing old results for call to incr +107c95,98 +< [eva] tests/value/auto_loop_unroll.c:100: Reusing old results for call to incr --- > [eva] computing for function incr <- various_loops <- main. -> Called from tests/value/auto_loop_unroll.c:102. +> Called from tests/value/auto_loop_unroll.c:100. > [eva] Recording results for incr > [eva] Done for function incr -115,116d104 +114,115d104 < [eva:alarm] tests/value/auto_loop_unroll.c:14: Warning: < signed overflow. assert g + 1 ≤ 2147483647; -119c107,110 -< [eva] tests/value/auto_loop_unroll.c:102: Reusing old results for call to incr ---- -> [eva] computing for function incr <- various_loops <- main. -> Called from tests/value/auto_loop_unroll.c:102. -> [eva] Recording results for incr -> [eva] Done for function incr -124,125c115,122 -< [eva] tests/value/auto_loop_unroll.c:101: Reusing old results for call to incr_g -< [eva] tests/value/auto_loop_unroll.c:102: Reusing old results for call to incr +118c107,110 +< [eva] tests/value/auto_loop_unroll.c:100: Reusing old results for call to incr --- -> [eva] computing for function incr_g <- various_loops <- main. -> Called from tests/value/auto_loop_unroll.c:101. -> [eva] Recording results for incr_g -> [eva] Done for function incr_g -> [eva] computing for function incr <- various_loops <- main. -> Called from tests/value/auto_loop_unroll.c:102. -> [eva] Recording results for incr -> [eva] Done for function incr -130,131c127,134 -< [eva] tests/value/auto_loop_unroll.c:101: Reusing old results for call to incr_g -< [eva] tests/value/auto_loop_unroll.c:102: Reusing old results for call to incr ---- -> [eva] computing for function incr_g <- various_loops <- main. -> Called from tests/value/auto_loop_unroll.c:101. -> [eva] Recording results for incr_g -> [eva] Done for function incr_g > [eva] computing for function incr <- various_loops <- main. -> Called from tests/value/auto_loop_unroll.c:102. +> Called from tests/value/auto_loop_unroll.c:100. > [eva] Recording results for incr > [eva] Done for function incr -134,135d136 +121,122d112 < [eva:alarm] tests/value/auto_loop_unroll.c:18: Warning: < signed overflow. assert i + 1 ≤ 2147483647; -138c139 -< [eva] tests/value/auto_loop_unroll.c:105: Frama_C_show_each_25: [0..2147483647] +125c115 +< [eva] tests/value/auto_loop_unroll.c:103: Frama_C_show_each_25: [0..2147483647] --- -> [eva] tests/value/auto_loop_unroll.c:105: Frama_C_show_each_25: {25} -144c145,146 -< [eva] tests/value/auto_loop_unroll.c:114: Frama_C_show_each_120: [0..2147483647] +> [eva] tests/value/auto_loop_unroll.c:103: Frama_C_show_each_25: {25} +131c121,122 +< [eva] tests/value/auto_loop_unroll.c:112: Frama_C_show_each_120: [0..2147483647] --- -> [eva] tests/value/auto_loop_unroll.c:114: +> [eva] tests/value/auto_loop_unroll.c:112: > Frama_C_show_each_120: [15..2147483647] -160,161d161 -< [eva:alarm] tests/value/auto_loop_unroll.c:136: Warning: +133,136c124 +< [eva:alarm] tests/value/auto_loop_unroll.c:120: Warning: < signed overflow. assert res + 1 ≤ 2147483647; -168c168 -< Frama_C_show_each_imprecise: [0..2147483647] +< [eva] tests/value/auto_loop_unroll.c:122: +< Frama_C_show_each_32_64: [0..2147483647] --- -> Frama_C_show_each_imprecise: [10..2147483647] -170,174c170,174 -< [eva:alarm] tests/value/auto_loop_unroll.c:156: Warning: +> [eva] tests/value/auto_loop_unroll.c:122: Frama_C_show_each_32_64: [0..65] +152,153d139 +< [eva:alarm] tests/value/auto_loop_unroll.c:145: Warning: < signed overflow. assert res + 1 ≤ 2147483647; -< [eva] tests/value/auto_loop_unroll.c:158: +160c146 < Frama_C_show_each_imprecise: [0..2147483647] -< [eva] tests/value/auto_loop_unroll.c:163: Reusing old results for call to incr_g --- -> [eva] tests/value/auto_loop_unroll.c:158: Frama_C_show_each_imprecise: {10} -> [eva] computing for function incr_g <- complex_loops <- main. -> Called from tests/value/auto_loop_unroll.c:163. -> [eva] Recording results for incr_g -> [eva] Done for function incr_g -188,193c188,196 -< [eva] tests/value/auto_loop_unroll.c:163: Reusing old results for call to incr_g -< [eva] tests/value/auto_loop_unroll.c:163: Reusing old results for call to incr_g -< [eva:alarm] tests/value/auto_loop_unroll.c:165: Warning: +> Frama_C_show_each_imprecise: [10..2147483647] +178,183c164,172 +< [eva] tests/value/auto_loop_unroll.c:162: Reusing old results for call to incr_g +< [eva] tests/value/auto_loop_unroll.c:162: Reusing old results for call to incr_g +< [eva:alarm] tests/value/auto_loop_unroll.c:164: Warning: < signed overflow. assert res + 1 ≤ 2147483647; -< [eva] tests/value/auto_loop_unroll.c:167: +< [eva] tests/value/auto_loop_unroll.c:166: < Frama_C_show_each_imprecise: [0..2147483647] --- > [eva] computing for function incr_g <- complex_loops <- main. -> Called from tests/value/auto_loop_unroll.c:163. +> Called from tests/value/auto_loop_unroll.c:162. > [eva] Recording results for incr_g > [eva] Done for function incr_g > [eva] computing for function incr_g <- complex_loops <- main. -> Called from tests/value/auto_loop_unroll.c:163. +> Called from tests/value/auto_loop_unroll.c:162. > [eva] Recording results for incr_g > [eva] Done for function incr_g -> [eva] tests/value/auto_loop_unroll.c:167: Frama_C_show_each_imprecise: [0..64] -195,198c198 -< [eva:alarm] tests/value/auto_loop_unroll.c:174: Warning: +> [eva] tests/value/auto_loop_unroll.c:166: Frama_C_show_each_imprecise: [0..64] +185,188c174 +< [eva:alarm] tests/value/auto_loop_unroll.c:173: Warning: < signed overflow. assert res + 1 ≤ 2147483647; -< [eva] tests/value/auto_loop_unroll.c:176: +< [eva] tests/value/auto_loop_unroll.c:175: < Frama_C_show_each_imprecise: [0..2147483647] --- -> [eva] tests/value/auto_loop_unroll.c:176: Frama_C_show_each_imprecise: [0..9] -200,203c200 -< [eva:alarm] tests/value/auto_loop_unroll.c:182: Warning: +> [eva] tests/value/auto_loop_unroll.c:175: Frama_C_show_each_imprecise: [0..9] +190,191d175 +< [eva:alarm] tests/value/auto_loop_unroll.c:181: Warning: < signed overflow. assert res + 1 ≤ 2147483647; -< [eva] tests/value/auto_loop_unroll.c:184: +195c179 < Frama_C_show_each_imprecise: [0..2147483647] --- -> [eva] tests/value/auto_loop_unroll.c:184: Frama_C_show_each_imprecise: [0..64] -210c207 +> Frama_C_show_each_imprecise: [64..2147483647] +201,203c185 +< [eva:alarm] tests/value/auto_loop_unroll.c:193: Warning: +< signed overflow. assert res + 1 ≤ 2147483647; +< [eva] tests/value/auto_loop_unroll.c:195: Frama_C_show_each_11: [0..2147483647] +--- +> [eva] tests/value/auto_loop_unroll.c:195: Frama_C_show_each_11: {11} +205,207c187 +< [eva:alarm] tests/value/auto_loop_unroll.c:198: Warning: +< signed overflow. assert res + 1 ≤ 2147483647; +< [eva] tests/value/auto_loop_unroll.c:200: Frama_C_show_each_12: [0..2147483647] +--- +> [eva] tests/value/auto_loop_unroll.c:200: Frama_C_show_each_12: {12} +209,210d188 +< [eva:alarm] tests/value/auto_loop_unroll.c:204: Warning: +< signed overflow. assert res + 1 ≤ 2147483647; +212a191,192 +> [eva:alarm] tests/value/auto_loop_unroll.c:204: Warning: +> signed overflow. assert res + 1 ≤ 2147483647; +216,217d195 +< [eva:alarm] tests/value/auto_loop_unroll.c:209: Warning: +< signed overflow. assert res + 1 ≤ 2147483647; +219a198,199 +> [eva:alarm] tests/value/auto_loop_unroll.c:209: Warning: +> signed overflow. assert res + 1 ≤ 2147483647; +223,224d202 +< [eva:alarm] tests/value/auto_loop_unroll.c:217: Warning: +< signed overflow. assert res + 1 ≤ 2147483647; +228,231c206 +< [eva:alarm] tests/value/auto_loop_unroll.c:222: Warning: +< signed overflow. assert res + 1 ≤ 2147483647; +< [eva] tests/value/auto_loop_unroll.c:226: +< Frama_C_show_each_11_111: [0..2147483647] +--- +> [eva] tests/value/auto_loop_unroll.c:226: Frama_C_show_each_11_111: [11..111] +239,241c214 +< [eva:alarm] tests/value/auto_loop_unroll.c:236: Warning: +< signed overflow. assert res + 1 ≤ 2147483647; +< [eva] tests/value/auto_loop_unroll.c:238: Frama_C_show_each_20: [0..2147483647] +--- +> [eva] tests/value/auto_loop_unroll.c:238: Frama_C_show_each_20: [20..2147483646] +243,244d215 +< [eva:alarm] tests/value/auto_loop_unroll.c:241: Warning: +< signed overflow. assert res + 1 ≤ 2147483647; +247c218,220 +< [eva] tests/value/auto_loop_unroll.c:243: Frama_C_show_each_21: [0..2147483647] +--- +> [eva:alarm] tests/value/auto_loop_unroll.c:241: Warning: +> signed overflow. assert res + 1 ≤ 2147483647; +> [eva] tests/value/auto_loop_unroll.c:243: Frama_C_show_each_21: {21} +253,255c226,227 +< [eva:alarm] tests/value/auto_loop_unroll.c:250: Warning: +< signed overflow. assert res + 1 ≤ 2147483647; +< [eva] tests/value/auto_loop_unroll.c:254: Frama_C_show_each_30: [0..2147483647] +--- +> [eva] tests/value/auto_loop_unroll.c:254: Frama_C_show_each_30: {30} +> [eva] tests/value/auto_loop_unroll.c:258: starting to merge loop iterations +258,259c230,231 +< [eva] tests/value/auto_loop_unroll.c:258: starting to merge loop iterations +< [eva] tests/value/auto_loop_unroll.c:263: Frama_C_show_each_top: [0..2147483647] +--- +> [eva] tests/value/auto_loop_unroll.c:263: +> Frama_C_show_each_top: [31..2147483647] +261,263c233 +< [eva:alarm] tests/value/auto_loop_unroll.c:267: Warning: +< signed overflow. assert res + 1 ≤ 2147483647; +< [eva] tests/value/auto_loop_unroll.c:272: Frama_C_show_each_32: [0..2147483647] +--- +> [eva] tests/value/auto_loop_unroll.c:272: Frama_C_show_each_32: {32} +268c238 +< Frama_C_show_each_33_inf: [0..2147483647] +--- +> Frama_C_show_each_33_inf: [33..2147483647] +272,273d241 +< [eva:alarm] tests/value/auto_loop_unroll.c:283: Warning: +< signed overflow. assert res + 1 ≤ 2147483647; +281c249 < __retres ∈ [1..2147483647] --- > __retres ∈ [1..25] -212c209 +283c251 < g ∈ [1..2147483647] --- -> g ∈ [1..63] +> g ∈ [1..126] diff tests/value/oracle/auto_loop_unroll.1.res.oracle tests/value/oracle_apron/auto_loop_unroll.1.res.oracle 15,18c15 < [eva:alarm] tests/value/auto_loop_unroll.c:31: Warning: @@ -230,230 +275,273 @@ diff tests/value/oracle/auto_loop_unroll.1.res.oracle tests/value/oracle_apron/a --- > [eva] tests/value/auto_loop_unroll.c:41: Frama_C_show_each_imprecise: {100} 58c52,55 -< [eva] tests/value/auto_loop_unroll.c:103: Reusing old results for call to incr +< [eva] tests/value/auto_loop_unroll.c:101: Reusing old results for call to incr --- > [eva] computing for function incr <- various_loops <- main. -> Called from tests/value/auto_loop_unroll.c:103. +> Called from tests/value/auto_loop_unroll.c:101. > [eva] Recording results for incr > [eva] Done for function incr 67c64,67 -< [eva] tests/value/auto_loop_unroll.c:103: Reusing old results for call to incr +< [eva] tests/value/auto_loop_unroll.c:101: Reusing old results for call to incr --- > [eva] computing for function incr <- various_loops <- main. -> Called from tests/value/auto_loop_unroll.c:103. +> Called from tests/value/auto_loop_unroll.c:101. > [eva] Recording results for incr > [eva] Done for function incr 76c76,79 -< [eva] tests/value/auto_loop_unroll.c:103: Reusing old results for call to incr +< [eva] tests/value/auto_loop_unroll.c:101: Reusing old results for call to incr --- > [eva] computing for function incr <- various_loops <- main. -> Called from tests/value/auto_loop_unroll.c:103. +> Called from tests/value/auto_loop_unroll.c:101. > [eva] Recording results for incr > [eva] Done for function incr 85c88,91 -< [eva] tests/value/auto_loop_unroll.c:103: Reusing old results for call to incr +< [eva] tests/value/auto_loop_unroll.c:101: Reusing old results for call to incr --- > [eva] computing for function incr <- various_loops <- main. -> Called from tests/value/auto_loop_unroll.c:103. +> Called from tests/value/auto_loop_unroll.c:101. > [eva] Recording results for incr > [eva] Done for function incr 94c100,103 -< [eva] tests/value/auto_loop_unroll.c:103: Reusing old results for call to incr +< [eva] tests/value/auto_loop_unroll.c:101: Reusing old results for call to incr --- > [eva] computing for function incr <- various_loops <- main. -> Called from tests/value/auto_loop_unroll.c:103. +> Called from tests/value/auto_loop_unroll.c:101. > [eva] Recording results for incr > [eva] Done for function incr 103c112,115 -< [eva] tests/value/auto_loop_unroll.c:103: Reusing old results for call to incr +< [eva] tests/value/auto_loop_unroll.c:101: Reusing old results for call to incr --- > [eva] computing for function incr <- various_loops <- main. -> Called from tests/value/auto_loop_unroll.c:103. +> Called from tests/value/auto_loop_unroll.c:101. > [eva] Recording results for incr > [eva] Done for function incr 112c124,127 -< [eva] tests/value/auto_loop_unroll.c:103: Reusing old results for call to incr +< [eva] tests/value/auto_loop_unroll.c:101: Reusing old results for call to incr --- > [eva] computing for function incr <- various_loops <- main. -> Called from tests/value/auto_loop_unroll.c:103. +> Called from tests/value/auto_loop_unroll.c:101. > [eva] Recording results for incr > [eva] Done for function incr 121c136,139 -< [eva] tests/value/auto_loop_unroll.c:103: Reusing old results for call to incr +< [eva] tests/value/auto_loop_unroll.c:101: Reusing old results for call to incr --- > [eva] computing for function incr <- various_loops <- main. -> Called from tests/value/auto_loop_unroll.c:103. +> Called from tests/value/auto_loop_unroll.c:101. > [eva] Recording results for incr > [eva] Done for function incr 130c148,151 -< [eva] tests/value/auto_loop_unroll.c:103: Reusing old results for call to incr +< [eva] tests/value/auto_loop_unroll.c:101: Reusing old results for call to incr --- > [eva] computing for function incr <- various_loops <- main. -> Called from tests/value/auto_loop_unroll.c:103. +> Called from tests/value/auto_loop_unroll.c:101. > [eva] Recording results for incr > [eva] Done for function incr 139c160,163 -< [eva] tests/value/auto_loop_unroll.c:103: Reusing old results for call to incr +< [eva] tests/value/auto_loop_unroll.c:101: Reusing old results for call to incr --- > [eva] computing for function incr <- various_loops <- main. -> Called from tests/value/auto_loop_unroll.c:103. +> Called from tests/value/auto_loop_unroll.c:101. > [eva] Recording results for incr > [eva] Done for function incr 148c172,175 -< [eva] tests/value/auto_loop_unroll.c:103: Reusing old results for call to incr +< [eva] tests/value/auto_loop_unroll.c:101: Reusing old results for call to incr --- > [eva] computing for function incr <- various_loops <- main. -> Called from tests/value/auto_loop_unroll.c:103. +> Called from tests/value/auto_loop_unroll.c:101. > [eva] Recording results for incr > [eva] Done for function incr 157c184,187 -< [eva] tests/value/auto_loop_unroll.c:103: Reusing old results for call to incr +< [eva] tests/value/auto_loop_unroll.c:101: Reusing old results for call to incr --- > [eva] computing for function incr <- various_loops <- main. -> Called from tests/value/auto_loop_unroll.c:103. +> Called from tests/value/auto_loop_unroll.c:101. > [eva] Recording results for incr > [eva] Done for function incr 166c196,199 -< [eva] tests/value/auto_loop_unroll.c:103: Reusing old results for call to incr +< [eva] tests/value/auto_loop_unroll.c:101: Reusing old results for call to incr --- > [eva] computing for function incr <- various_loops <- main. -> Called from tests/value/auto_loop_unroll.c:103. +> Called from tests/value/auto_loop_unroll.c:101. > [eva] Recording results for incr > [eva] Done for function incr 175c208,211 -< [eva] tests/value/auto_loop_unroll.c:103: Reusing old results for call to incr +< [eva] tests/value/auto_loop_unroll.c:101: Reusing old results for call to incr --- > [eva] computing for function incr <- various_loops <- main. -> Called from tests/value/auto_loop_unroll.c:103. +> Called from tests/value/auto_loop_unroll.c:101. > [eva] Recording results for incr > [eva] Done for function incr 184c220,223 -< [eva] tests/value/auto_loop_unroll.c:103: Reusing old results for call to incr +< [eva] tests/value/auto_loop_unroll.c:101: Reusing old results for call to incr --- > [eva] computing for function incr <- various_loops <- main. -> Called from tests/value/auto_loop_unroll.c:103. +> Called from tests/value/auto_loop_unroll.c:101. > [eva] Recording results for incr > [eva] Done for function incr 193c232,235 -< [eva] tests/value/auto_loop_unroll.c:103: Reusing old results for call to incr +< [eva] tests/value/auto_loop_unroll.c:101: Reusing old results for call to incr --- > [eva] computing for function incr <- various_loops <- main. -> Called from tests/value/auto_loop_unroll.c:103. +> Called from tests/value/auto_loop_unroll.c:101. > [eva] Recording results for incr > [eva] Done for function incr 202c244,247 -< [eva] tests/value/auto_loop_unroll.c:103: Reusing old results for call to incr +< [eva] tests/value/auto_loop_unroll.c:101: Reusing old results for call to incr --- > [eva] computing for function incr <- various_loops <- main. -> Called from tests/value/auto_loop_unroll.c:103. +> Called from tests/value/auto_loop_unroll.c:101. > [eva] Recording results for incr > [eva] Done for function incr 211c256,259 -< [eva] tests/value/auto_loop_unroll.c:103: Reusing old results for call to incr +< [eva] tests/value/auto_loop_unroll.c:101: Reusing old results for call to incr --- > [eva] computing for function incr <- various_loops <- main. -> Called from tests/value/auto_loop_unroll.c:103. +> Called from tests/value/auto_loop_unroll.c:101. > [eva] Recording results for incr > [eva] Done for function incr 220c268,271 -< [eva] tests/value/auto_loop_unroll.c:103: Reusing old results for call to incr +< [eva] tests/value/auto_loop_unroll.c:101: Reusing old results for call to incr --- > [eva] computing for function incr <- various_loops <- main. -> Called from tests/value/auto_loop_unroll.c:103. +> Called from tests/value/auto_loop_unroll.c:101. > [eva] Recording results for incr > [eva] Done for function incr 229c280,283 -< [eva] tests/value/auto_loop_unroll.c:103: Reusing old results for call to incr +< [eva] tests/value/auto_loop_unroll.c:101: Reusing old results for call to incr --- > [eva] computing for function incr <- various_loops <- main. -> Called from tests/value/auto_loop_unroll.c:103. +> Called from tests/value/auto_loop_unroll.c:101. > [eva] Recording results for incr > [eva] Done for function incr 238c292,295 -< [eva] tests/value/auto_loop_unroll.c:103: Reusing old results for call to incr +< [eva] tests/value/auto_loop_unroll.c:101: Reusing old results for call to incr --- > [eva] computing for function incr <- various_loops <- main. -> Called from tests/value/auto_loop_unroll.c:103. +> Called from tests/value/auto_loop_unroll.c:101. > [eva] Recording results for incr > [eva] Done for function incr 247c304,307 -< [eva] tests/value/auto_loop_unroll.c:103: Reusing old results for call to incr +< [eva] tests/value/auto_loop_unroll.c:101: Reusing old results for call to incr --- > [eva] computing for function incr <- various_loops <- main. -> Called from tests/value/auto_loop_unroll.c:103. +> Called from tests/value/auto_loop_unroll.c:101. > [eva] Recording results for incr > [eva] Done for function incr 256c316,319 -< [eva] tests/value/auto_loop_unroll.c:103: Reusing old results for call to incr +< [eva] tests/value/auto_loop_unroll.c:101: Reusing old results for call to incr --- > [eva] computing for function incr <- various_loops <- main. -> Called from tests/value/auto_loop_unroll.c:103. +> Called from tests/value/auto_loop_unroll.c:101. > [eva] Recording results for incr > [eva] Done for function incr 265c328,331 -< [eva] tests/value/auto_loop_unroll.c:103: Reusing old results for call to incr +< [eva] tests/value/auto_loop_unroll.c:101: Reusing old results for call to incr --- > [eva] computing for function incr <- various_loops <- main. -> Called from tests/value/auto_loop_unroll.c:103. +> Called from tests/value/auto_loop_unroll.c:101. > [eva] Recording results for incr > [eva] Done for function incr 274c340,343 -< [eva] tests/value/auto_loop_unroll.c:103: Reusing old results for call to incr +< [eva] tests/value/auto_loop_unroll.c:101: Reusing old results for call to incr --- > [eva] computing for function incr <- various_loops <- main. -> Called from tests/value/auto_loop_unroll.c:103. +> Called from tests/value/auto_loop_unroll.c:101. > [eva] Recording results for incr > [eva] Done for function incr -294,295d362 -< [eva:alarm] tests/value/auto_loop_unroll.c:136: Warning: +296,297d364 +< [eva:alarm] tests/value/auto_loop_unroll.c:145: Warning: < signed overflow. assert res + 1 ≤ 2147483647; -302c369 +304c371 < Frama_C_show_each_imprecise: [0..2147483647] --- > Frama_C_show_each_imprecise: [10..2147483647] -304,308c371,375 -< [eva:alarm] tests/value/auto_loop_unroll.c:156: Warning: -< signed overflow. assert res + 1 ≤ 2147483647; -< [eva] tests/value/auto_loop_unroll.c:158: -< Frama_C_show_each_imprecise: [0..2147483647] -< [eva] tests/value/auto_loop_unroll.c:163: Reusing old results for call to incr_g ---- -> [eva] tests/value/auto_loop_unroll.c:158: Frama_C_show_each_imprecise: {10} -> [eva] computing for function incr_g <- complex_loops <- main. -> Called from tests/value/auto_loop_unroll.c:163. -> [eva] Recording results for incr_g -> [eva] Done for function incr_g 322,327c389,397 -< [eva] tests/value/auto_loop_unroll.c:163: Reusing old results for call to incr_g -< [eva] tests/value/auto_loop_unroll.c:163: Reusing old results for call to incr_g -< [eva:alarm] tests/value/auto_loop_unroll.c:165: Warning: +< [eva] tests/value/auto_loop_unroll.c:162: Reusing old results for call to incr_g +< [eva] tests/value/auto_loop_unroll.c:162: Reusing old results for call to incr_g +< [eva:alarm] tests/value/auto_loop_unroll.c:164: Warning: < signed overflow. assert res + 1 ≤ 2147483647; -< [eva] tests/value/auto_loop_unroll.c:167: +< [eva] tests/value/auto_loop_unroll.c:166: < Frama_C_show_each_imprecise: [0..2147483647] --- > [eva] computing for function incr_g <- complex_loops <- main. -> Called from tests/value/auto_loop_unroll.c:163. +> Called from tests/value/auto_loop_unroll.c:162. > [eva] Recording results for incr_g > [eva] Done for function incr_g > [eva] computing for function incr_g <- complex_loops <- main. -> Called from tests/value/auto_loop_unroll.c:163. +> Called from tests/value/auto_loop_unroll.c:162. > [eva] Recording results for incr_g > [eva] Done for function incr_g -> [eva] tests/value/auto_loop_unroll.c:167: Frama_C_show_each_imprecise: [0..64] +> [eva] tests/value/auto_loop_unroll.c:166: Frama_C_show_each_imprecise: [0..64] 329,332c399 -< [eva:alarm] tests/value/auto_loop_unroll.c:174: Warning: +< [eva:alarm] tests/value/auto_loop_unroll.c:173: Warning: < signed overflow. assert res + 1 ≤ 2147483647; -< [eva] tests/value/auto_loop_unroll.c:176: +< [eva] tests/value/auto_loop_unroll.c:175: < Frama_C_show_each_imprecise: [0..2147483647] --- -> [eva] tests/value/auto_loop_unroll.c:176: Frama_C_show_each_imprecise: [0..9] -334,337c401 -< [eva:alarm] tests/value/auto_loop_unroll.c:182: Warning: +> [eva] tests/value/auto_loop_unroll.c:175: Frama_C_show_each_imprecise: [0..9] +334,335d400 +< [eva:alarm] tests/value/auto_loop_unroll.c:181: Warning: < signed overflow. assert res + 1 ≤ 2147483647; -< [eva] tests/value/auto_loop_unroll.c:184: +339c404 < Frama_C_show_each_imprecise: [0..2147483647] --- -> [eva] tests/value/auto_loop_unroll.c:184: Frama_C_show_each_imprecise: [0..64] +> Frama_C_show_each_imprecise: [64..2147483647] +344c409 +< [eva:loop-unroll] tests/value/auto_loop_unroll.c:192: Automatic loop unrolling. +--- +> [eva] tests/value/auto_loop_unroll.c:192: starting to merge loop iterations +346c411 +< [eva:loop-unroll] tests/value/auto_loop_unroll.c:197: Automatic loop unrolling. +--- +> [eva] tests/value/auto_loop_unroll.c:197: starting to merge loop iterations +348,353c413,429 +< [eva:loop-unroll] tests/value/auto_loop_unroll.c:203: Automatic loop unrolling. +< [eva] tests/value/auto_loop_unroll.c:206: Frama_C_show_each_0_13: [0..13] +< [eva:loop-unroll] tests/value/auto_loop_unroll.c:208: Automatic loop unrolling. +< [eva] tests/value/auto_loop_unroll.c:211: Frama_C_show_each_0_14: [0..14] +< [eva:loop-unroll] tests/value/auto_loop_unroll.c:214: Automatic loop unrolling. +< [eva] tests/value/auto_loop_unroll.c:219: Frama_C_show_each_0_15: [0..15] +--- +> [eva] tests/value/auto_loop_unroll.c:203: starting to merge loop iterations +> [eva:alarm] tests/value/auto_loop_unroll.c:203: Warning: +> signed overflow. assert -2147483648 ≤ i_0 - 1; +> [eva:alarm] tests/value/auto_loop_unroll.c:204: Warning: +> signed overflow. assert res + 1 ≤ 2147483647; +> [eva] tests/value/auto_loop_unroll.c:206: +> Frama_C_show_each_0_13: [0..2147483647] +> [eva] tests/value/auto_loop_unroll.c:208: starting to merge loop iterations +> [eva:alarm] tests/value/auto_loop_unroll.c:208: Warning: +> signed overflow. assert -2147483648 ≤ i_1 - 1; +> [eva:alarm] tests/value/auto_loop_unroll.c:209: Warning: +> signed overflow. assert res + 1 ≤ 2147483647; +> [eva] tests/value/auto_loop_unroll.c:211: +> Frama_C_show_each_0_14: [0..2147483647] +> [eva] tests/value/auto_loop_unroll.c:214: starting to merge loop iterations +> [eva] tests/value/auto_loop_unroll.c:219: +> Frama_C_show_each_0_15: [0..2147483647] +364c440,444 +< [eva:loop-unroll] tests/value/auto_loop_unroll.c:240: Automatic loop unrolling. +--- +> [eva] tests/value/auto_loop_unroll.c:240: starting to merge loop iterations +> [eva:alarm] tests/value/auto_loop_unroll.c:240: Warning: +> signed overflow. assert -2147483648 ≤ i - 1; +> [eva:alarm] tests/value/auto_loop_unroll.c:241: Warning: +> signed overflow. assert res + 1 ≤ 2147483647; +375c455,456 +< [eva] tests/value/auto_loop_unroll.c:263: Frama_C_show_each_top: [0..2147483647] +--- +> [eva] tests/value/auto_loop_unroll.c:263: +> Frama_C_show_each_top: [31..2147483647] +391,392d471 +< [eva:alarm] tests/value/auto_loop_unroll.c:283: Warning: +< signed overflow. assert res + 1 ≤ 2147483647; +425,426c504,505 +< i ∈ {-1} +< res ∈ {21} +--- +> i ∈ [-2147483648..20] +> res ∈ [0..2147483647] diff tests/value/oracle/backward_add_ptr.res.oracle tests/value/oracle_apron/backward_add_ptr.res.oracle 71c71,74 < [eva] tests/value/backward_add_ptr.c:91: Reusing old results for call to gm diff --git a/tests/value/diff_gauges b/tests/value/diff_gauges index b84b50fd647..f6010fb62ca 100644 --- a/tests/value/diff_gauges +++ b/tests/value/diff_gauges @@ -47,20 +47,98 @@ diff tests/value/oracle/auto_loop_unroll.0.res.oracle tests/value/oracle_gauges/ < Frama_C_show_each_32_80: [0..2147483647] --- > [eva] tests/value/auto_loop_unroll.c:82: Frama_C_show_each_32_80: [32..83] -49,52c32 -< [eva:alarm] tests/value/auto_loop_unroll.c:86: Warning: +55,56d37 +< [eva:alarm] tests/value/auto_loop_unroll.c:88: Warning: < signed overflow. assert res + 1 ≤ 2147483647; -< [eva] tests/value/auto_loop_unroll.c:90: +58c39 +< Frama_C_show_each_40_50: [0..2147483647] +--- +> Frama_C_show_each_40_50: [40..1073741861] +133,136c114 +< [eva:alarm] tests/value/auto_loop_unroll.c:120: Warning: +< signed overflow. assert res + 1 ≤ 2147483647; +< [eva] tests/value/auto_loop_unroll.c:122: +< Frama_C_show_each_32_64: [0..2147483647] +--- +> [eva] tests/value/auto_loop_unroll.c:122: Frama_C_show_each_32_64: [32..65] +185,188c163 +< [eva:alarm] tests/value/auto_loop_unroll.c:173: Warning: +< signed overflow. assert res + 1 ≤ 2147483647; +< [eva] tests/value/auto_loop_unroll.c:175: +< Frama_C_show_each_imprecise: [0..2147483647] +--- +> [eva] tests/value/auto_loop_unroll.c:175: Frama_C_show_each_imprecise: [1..9] +190,191d164 +< [eva:alarm] tests/value/auto_loop_unroll.c:181: Warning: +< signed overflow. assert res + 1 ≤ 2147483647; +195c168 +< Frama_C_show_each_imprecise: [0..2147483647] +--- +> Frama_C_show_each_imprecise: [64..2147483647] +201,203c174 +< [eva:alarm] tests/value/auto_loop_unroll.c:193: Warning: +< signed overflow. assert res + 1 ≤ 2147483647; +< [eva] tests/value/auto_loop_unroll.c:195: Frama_C_show_each_11: [0..2147483647] +--- +> [eva] tests/value/auto_loop_unroll.c:195: Frama_C_show_each_11: {11} +205,207c176 +< [eva:alarm] tests/value/auto_loop_unroll.c:198: Warning: +< signed overflow. assert res + 1 ≤ 2147483647; +< [eva] tests/value/auto_loop_unroll.c:200: Frama_C_show_each_12: [0..2147483647] +--- +> [eva] tests/value/auto_loop_unroll.c:200: Frama_C_show_each_12: {12} +209,210d177 +< [eva:alarm] tests/value/auto_loop_unroll.c:204: Warning: +< signed overflow. assert res + 1 ≤ 2147483647; +212a180,181 +> [eva:alarm] tests/value/auto_loop_unroll.c:204: Warning: +> signed overflow. assert res + 1 ≤ 2147483647; +216,217d184 +< [eva:alarm] tests/value/auto_loop_unroll.c:209: Warning: +< signed overflow. assert res + 1 ≤ 2147483647; +219a187,188 +> [eva:alarm] tests/value/auto_loop_unroll.c:209: Warning: +> signed overflow. assert res + 1 ≤ 2147483647; +223,224d191 +< [eva:alarm] tests/value/auto_loop_unroll.c:217: Warning: +< signed overflow. assert res + 1 ≤ 2147483647; +228,231c195 +< [eva:alarm] tests/value/auto_loop_unroll.c:222: Warning: +< signed overflow. assert res + 1 ≤ 2147483647; +< [eva] tests/value/auto_loop_unroll.c:226: < Frama_C_show_each_11_111: [0..2147483647] --- -> [eva] tests/value/auto_loop_unroll.c:90: Frama_C_show_each_11_111: [11..111] -60,61d39 -< [eva:alarm] tests/value/auto_loop_unroll.c:96: Warning: +> [eva] tests/value/auto_loop_unroll.c:226: Frama_C_show_each_11_111: [11..111] +239,241c203 +< [eva:alarm] tests/value/auto_loop_unroll.c:236: Warning: < signed overflow. assert res + 1 ≤ 2147483647; -63c41 -< Frama_C_show_each_40_50: [0..2147483647] +< [eva] tests/value/auto_loop_unroll.c:238: Frama_C_show_each_20: [0..2147483647] --- -> Frama_C_show_each_40_50: [40..1073741861] +> [eva] tests/value/auto_loop_unroll.c:238: Frama_C_show_each_20: [20..2147483646] +243,244d204 +< [eva:alarm] tests/value/auto_loop_unroll.c:241: Warning: +< signed overflow. assert res + 1 ≤ 2147483647; +247c207,209 +< [eva] tests/value/auto_loop_unroll.c:243: Frama_C_show_each_21: [0..2147483647] +--- +> [eva:alarm] tests/value/auto_loop_unroll.c:241: Warning: +> signed overflow. assert res + 1 ≤ 2147483647; +> [eva] tests/value/auto_loop_unroll.c:243: Frama_C_show_each_21: {21} +253,255c215,216 +< [eva:alarm] tests/value/auto_loop_unroll.c:250: Warning: +< signed overflow. assert res + 1 ≤ 2147483647; +< [eva] tests/value/auto_loop_unroll.c:254: Frama_C_show_each_30: [0..2147483647] +--- +> [eva] tests/value/auto_loop_unroll.c:254: Frama_C_show_each_30: {30} +> [eva] tests/value/auto_loop_unroll.c:258: starting to merge loop iterations +258d218 +< [eva] tests/value/auto_loop_unroll.c:258: starting to merge loop iterations +261,263c221 +< [eva:alarm] tests/value/auto_loop_unroll.c:267: Warning: +< signed overflow. assert res + 1 ≤ 2147483647; +< [eva] tests/value/auto_loop_unroll.c:272: Frama_C_show_each_32: [0..2147483647] +--- +> [eva] tests/value/auto_loop_unroll.c:272: Frama_C_show_each_32: {32} diff tests/value/oracle/auto_loop_unroll.1.res.oracle tests/value/oracle_gauges/auto_loop_unroll.1.res.oracle 15,18c15 < [eva:alarm] tests/value/auto_loop_unroll.c:31: Warning: @@ -76,6 +154,105 @@ diff tests/value/oracle/auto_loop_unroll.1.res.oracle tests/value/oracle_gauges/ < Frama_C_show_each_imprecise: [0..2147483647] --- > [eva] tests/value/auto_loop_unroll.c:41: Frama_C_show_each_imprecise: {100} +329,332c323 +< [eva:alarm] tests/value/auto_loop_unroll.c:173: Warning: +< signed overflow. assert res + 1 ≤ 2147483647; +< [eva] tests/value/auto_loop_unroll.c:175: +< Frama_C_show_each_imprecise: [0..2147483647] +--- +> [eva] tests/value/auto_loop_unroll.c:175: Frama_C_show_each_imprecise: [1..9] +334,335d324 +< [eva:alarm] tests/value/auto_loop_unroll.c:181: Warning: +< signed overflow. assert res + 1 ≤ 2147483647; +339c328 +< Frama_C_show_each_imprecise: [0..2147483647] +--- +> Frama_C_show_each_imprecise: [64..2147483647] +385a375,458 +> [eva] tests/value/auto_loop_unroll.c:276: +> Trace partitioning superposing up to 200 states +> [eva] tests/value/auto_loop_unroll.c:276: +> Trace partitioning superposing up to 300 states +> [eva] tests/value/auto_loop_unroll.c:276: +> Trace partitioning superposing up to 400 states +> [eva] tests/value/auto_loop_unroll.c:276: +> Trace partitioning superposing up to 500 states +> [eva] tests/value/auto_loop_unroll.c:276: +> Trace partitioning superposing up to 600 states +> [eva] tests/value/auto_loop_unroll.c:276: +> Trace partitioning superposing up to 700 states +> [eva] tests/value/auto_loop_unroll.c:276: +> Trace partitioning superposing up to 800 states +> [eva] tests/value/auto_loop_unroll.c:276: +> Trace partitioning superposing up to 900 states +> [eva] tests/value/auto_loop_unroll.c:276: +> Trace partitioning superposing up to 1000 states +> [eva] tests/value/auto_loop_unroll.c:276: +> Trace partitioning superposing up to 1100 states +> [eva] tests/value/auto_loop_unroll.c:276: +> Trace partitioning superposing up to 1200 states +> [eva] tests/value/auto_loop_unroll.c:276: +> Trace partitioning superposing up to 1300 states +> [eva] tests/value/auto_loop_unroll.c:276: +> Trace partitioning superposing up to 1400 states +> [eva] tests/value/auto_loop_unroll.c:276: +> Trace partitioning superposing up to 1500 states +> [eva] tests/value/auto_loop_unroll.c:276: +> Trace partitioning superposing up to 1600 states +> [eva] tests/value/auto_loop_unroll.c:276: +> Trace partitioning superposing up to 1700 states +> [eva] tests/value/auto_loop_unroll.c:276: +> Trace partitioning superposing up to 1800 states +> [eva] tests/value/auto_loop_unroll.c:276: +> Trace partitioning superposing up to 1900 states +> [eva] tests/value/auto_loop_unroll.c:276: +> Trace partitioning superposing up to 2000 states +> [eva] tests/value/auto_loop_unroll.c:276: +> Trace partitioning superposing up to 2100 states +> [eva] tests/value/auto_loop_unroll.c:276: +> Trace partitioning superposing up to 2200 states +> [eva] tests/value/auto_loop_unroll.c:276: +> Trace partitioning superposing up to 2300 states +> [eva] tests/value/auto_loop_unroll.c:276: +> Trace partitioning superposing up to 2400 states +> [eva] tests/value/auto_loop_unroll.c:276: +> Trace partitioning superposing up to 2500 states +> [eva] tests/value/auto_loop_unroll.c:276: +> Trace partitioning superposing up to 2600 states +> [eva] tests/value/auto_loop_unroll.c:276: +> Trace partitioning superposing up to 2700 states +> [eva] tests/value/auto_loop_unroll.c:276: +> Trace partitioning superposing up to 2800 states +> [eva] tests/value/auto_loop_unroll.c:276: +> Trace partitioning superposing up to 2900 states +> [eva] tests/value/auto_loop_unroll.c:276: +> Trace partitioning superposing up to 3000 states +> [eva] tests/value/auto_loop_unroll.c:276: +> Trace partitioning superposing up to 3100 states +> [eva] tests/value/auto_loop_unroll.c:276: +> Trace partitioning superposing up to 3200 states +> [eva] tests/value/auto_loop_unroll.c:276: +> Trace partitioning superposing up to 3300 states +> [eva] tests/value/auto_loop_unroll.c:276: +> Trace partitioning superposing up to 3400 states +> [eva] tests/value/auto_loop_unroll.c:276: +> Trace partitioning superposing up to 3500 states +> [eva] tests/value/auto_loop_unroll.c:276: +> Trace partitioning superposing up to 3600 states +> [eva] tests/value/auto_loop_unroll.c:276: +> Trace partitioning superposing up to 3700 states +> [eva] tests/value/auto_loop_unroll.c:276: +> Trace partitioning superposing up to 3800 states +> [eva] tests/value/auto_loop_unroll.c:276: +> Trace partitioning superposing up to 3900 states +> [eva] tests/value/auto_loop_unroll.c:276: +> Trace partitioning superposing up to 4000 states +> [eva] tests/value/auto_loop_unroll.c:276: +> Trace partitioning superposing up to 4100 states +> [eva] tests/value/auto_loop_unroll.c:276: +> Trace partitioning superposing up to 4200 states +> [eva] tests/value/auto_loop_unroll.c:276: +> Trace partitioning superposing up to 4300 states diff tests/value/oracle/bad_loop.res.oracle tests/value/oracle_gauges/bad_loop.res.oracle 6a7 > [eva] tests/value/bad_loop.i:12: starting to merge loop iterations diff --git a/tests/value/diff_octagons b/tests/value/diff_octagons index b3dc65ad340..60823ae538c 100644 --- a/tests/value/diff_octagons +++ b/tests/value/diff_octagons @@ -33,6 +33,20 @@ diff tests/value/oracle/alias.6.res.oracle tests/value/oracle_octagons/alias.6.r > tz1 ∈ {1} > tz2 ∈ {1} > tz3 ∈ {1} +diff tests/value/oracle/auto_loop_unroll.0.res.oracle tests/value/oracle_octagons/auto_loop_unroll.0.res.oracle +211,212d210 +< [eva:alarm] tests/value/auto_loop_unroll.c:203: Warning: +< signed overflow. assert -2147483648 ≤ i_0 - 1; +218,219d215 +< [eva:alarm] tests/value/auto_loop_unroll.c:208: Warning: +< signed overflow. assert -2147483648 ≤ i_1 - 1; +245,246d240 +< [eva:alarm] tests/value/auto_loop_unroll.c:240: Warning: +< signed overflow. assert -2147483648 ≤ i - 1; +306c300 +< i ∈ [-2147483648..20] +--- +> i ∈ {-1} diff tests/value/oracle/bitfield.res.oracle tests/value/oracle_octagons/bitfield.res.oracle 138a139,141 > [eva] tests/value/bitfield.i:71: -- GitLab