[kernel] Parsing tests/libc/string_c.c (with preprocessing) [eva] Analyzing a complete application starting at main [eva] Computing initial state [eva] Initial state computed [eva:initial-state] Values of globals at initialization v ∈ [--..--] [eva] computing for function test_memcpy <- main. Called from tests/libc/string_c.c:281. [eva] computing for function memcpy <- test_memcpy <- main. Called from tests/libc/string_c.c:10. [eva] tests/libc/string_c.c:10: function memcpy: precondition 'valid_dest' got status valid. [eva] tests/libc/string_c.c:10: function memcpy: precondition 'valid_src' got status valid. [eva] tests/libc/string_c.c:10: function memcpy: precondition 'separation' got status valid. [eva] share/libc/string.h:98: cannot evaluate ACSL term, unsupported ACSL construct: logic function memcmp [eva:alarm] share/libc/string.h:98: Warning: function memcpy: postcondition 'copied_contents' got status unknown. [eva] share/libc/string.h:99: function memcpy: postcondition 'result_ptr' got status valid. [eva] Recording results for memcpy [eva] Done for function memcpy [eva] tests/libc/string_c.c:11: assertion got status valid. [eva] tests/libc/string_c.c:12: assertion got status valid. [eva] tests/libc/string_c.c:13: assertion got status valid. [eva] tests/libc/string_c.c:14: assertion got status valid. [eva] computing for function memcpy <- test_memcpy <- main. Called from tests/libc/string_c.c:16. [eva] tests/libc/string_c.c:16: function memcpy: precondition 'valid_dest' got status valid. [eva] tests/libc/string_c.c:16: function memcpy: precondition 'valid_src' got status valid. [eva] tests/libc/string_c.c:16: function memcpy: precondition 'separation' got status valid. [eva] Recording results for memcpy [eva] Done for function memcpy [eva] tests/libc/string_c.c:17: assertion got status valid. [eva] tests/libc/string_c.c:18: assertion got status valid. [eva] computing for function memcpy <- test_memcpy <- main. Called from tests/libc/string_c.c:19. [eva] tests/libc/string_c.c:19: function memcpy: precondition 'valid_dest' got status valid. [eva:alarm] tests/libc/string_c.c:19: Warning: function memcpy: precondition 'valid_src' got status unknown. [eva] tests/libc/string_c.c:19: function memcpy: precondition 'separation' got status valid. [eva] Recording results for memcpy [eva] Done for function memcpy [eva] computing for function memcpy <- test_memcpy <- main. Called from tests/libc/string_c.c:20. [eva:alarm] tests/libc/string_c.c:20: Warning: function memcpy: precondition 'valid_dest' got status unknown. [eva:alarm] tests/libc/string_c.c:20: Warning: function memcpy: precondition 'valid_src' got status unknown. [eva] tests/libc/string_c.c:20: function memcpy: precondition 'separation' got status valid. [eva] Recording results for memcpy [eva] Done for function memcpy [eva] computing for function memcpy <- test_memcpy <- main. Called from tests/libc/string_c.c:23. [eva] tests/libc/string_c.c:23: function memcpy: precondition 'valid_dest' got status valid. [eva] tests/libc/string_c.c:23: function memcpy: precondition 'valid_src' got status valid. [eva] tests/libc/string_c.c:23: function memcpy: precondition 'separation' got status valid. [eva] Recording results for memcpy [eva] Done for function memcpy [eva] tests/libc/string_c.c:23: Reusing old results for call to memcpy [eva] tests/libc/string_c.c:24: assertion got status valid. [eva] tests/libc/string_c.c:25: assertion got status valid. [eva] Recording results for test_memcpy [eva] Done for function test_memcpy [eva] computing for function test_memmove <- main. Called from tests/libc/string_c.c:282. [eva] tests/libc/string_c.c:34: Frama_C_show_each_s0: {1} [eva] tests/libc/string_c.c:35: Frama_C_show_each_s0: {2} [eva] tests/libc/string_c.c:36: Frama_C_show_each_s0: {3} [eva] tests/libc/string_c.c:37: Frama_C_show_each_s0: {4} [eva] tests/libc/string_c.c:38: Frama_C_show_each_s0: {3} [eva] tests/libc/string_c.c:39: Frama_C_show_each_s0: {4} [eva] tests/libc/string_c.c:40: Frama_C_show_each_s0: {5} [eva] tests/libc/string_c.c:41: Frama_C_show_each_s0: {6} [eva] computing for function memmove <- test_memmove <- main. Called from tests/libc/string_c.c:42. [eva] tests/libc/string_c.c:42: function memmove: precondition 'valid_dest' got status valid. [eva] tests/libc/string_c.c:42: function memmove: precondition 'valid_src' got status valid. [eva] computing for function memoverlap <- memmove <- test_memmove <- main. Called from share/libc/string.c:77. [eva] share/libc/string.c:59: function memoverlap, behavior not_separated_gt: postcondition 'result_p_after_q' got status valid. [eva] Recording results for memoverlap [eva] Done for function memoverlap [eva] share/libc/string.h:108: cannot evaluate ACSL term, unsupported ACSL construct: logic function memcmp [eva:alarm] share/libc/string.h:108: Warning: function memmove: postcondition 'copied_contents' got status unknown. [eva] share/libc/string.h:109: function memmove: postcondition 'result_ptr' got status valid. [eva] Recording results for memmove [eva] Done for function memmove [eva] tests/libc/string_c.c:43: assertion got status valid. [eva] tests/libc/string_c.c:44: assertion got status valid. [eva] computing for function memmove <- test_memmove <- main. Called from tests/libc/string_c.c:49. [eva] tests/libc/string_c.c:49: function memmove: precondition 'valid_dest' got status valid. [eva] tests/libc/string_c.c:49: function memmove: precondition 'valid_src' got status valid. [eva] computing for function memoverlap <- memmove <- test_memmove <- main. Called from share/libc/string.c:77. [eva] share/libc/string.c:55: function memoverlap, behavior not_separated_lt: postcondition 'result_p_before_q' got status valid. [eva] Recording results for memoverlap [eva] Done for function memoverlap [eva] Recording results for memmove [eva] Done for function memmove [eva] tests/libc/string_c.c:50: assertion got status valid. [eva] computing for function memmove <- test_memmove <- main. Called from tests/libc/string_c.c:52. [eva] tests/libc/string_c.c:52: function memmove: precondition 'valid_dest' got status valid. [eva] tests/libc/string_c.c:52: function memmove: precondition 'valid_src' got status valid. [eva] computing for function memoverlap <- memmove <- test_memmove <- main. Called from share/libc/string.c:77. [eva] Recording results for memoverlap [eva] Done for function memoverlap [eva] Recording results for memmove [eva] Done for function memmove [eva] tests/libc/string_c.c:53: assertion got status valid. [eva] computing for function memmove <- test_memmove <- main. Called from tests/libc/string_c.c:56. [eva] tests/libc/string_c.c:56: function memmove: precondition 'valid_dest' got status valid. [eva] tests/libc/string_c.c:56: function memmove: precondition 'valid_src' got status valid. [eva] computing for function memoverlap <- memmove <- test_memmove <- main. Called from share/libc/string.c:77. [eva] share/libc/string.c:51: function memoverlap, behavior separated: postcondition 'result_no_overlap' got status valid. [eva] Recording results for memoverlap [eva] Done for function memoverlap [eva] Recording results for memmove [eva] Done for function memmove [eva] tests/libc/string_c.c:57: assertion got status valid. [eva] Recording results for test_memmove [eva] Done for function test_memmove [eva] computing for function test_strlen <- main. Called from tests/libc/string_c.c:283. [eva] computing for function strlen <- test_strlen <- main. Called from tests/libc/string_c.c:64. [eva] tests/libc/string_c.c:64: function strlen: precondition 'valid_string_s' got status valid. [eva] share/libc/string.h:127: function strlen: postcondition 'acsl_c_equiv' got status valid. [eva] Recording results for strlen [eva] Done for function strlen [eva] tests/libc/string_c.c:65: assertion got status valid. [eva] computing for function strlen <- test_strlen <- main. Called from tests/libc/string_c.c:66. [eva] tests/libc/string_c.c:66: function strlen: precondition 'valid_string_s' got status valid. [eva] Recording results for strlen [eva] Done for function strlen [eva] tests/libc/string_c.c:67: assertion got status valid. [eva] computing for function strlen <- test_strlen <- main. Called from tests/libc/string_c.c:68. [eva] tests/libc/string_c.c:68: function strlen: precondition 'valid_string_s' got status valid. [eva] Recording results for strlen [eva] Done for function strlen [eva] tests/libc/string_c.c:69: assertion got status valid. [eva] Recording results for test_strlen [eva] Done for function test_strlen [eva] computing for function test_strnlen <- main. Called from tests/libc/string_c.c:284. [eva] computing for function strnlen <- test_strnlen <- main. Called from tests/libc/string_c.c:75. [eva] tests/libc/string_c.c:75: function strnlen: precondition 'valid_string_s' got status valid. [eva] share/libc/string.h:133: function strnlen: postcondition 'result_bounded' got status valid. [eva] Recording results for strnlen [eva] Done for function strnlen [eva] tests/libc/string_c.c:76: assertion got status valid. [eva] computing for function strnlen <- test_strnlen <- main. Called from tests/libc/string_c.c:77. [eva] tests/libc/string_c.c:77: function strnlen: precondition 'valid_string_s' got status valid. [eva] Recording results for strnlen [eva] Done for function strnlen [eva] tests/libc/string_c.c:78: assertion got status valid. [eva] computing for function strnlen <- test_strnlen <- main. Called from tests/libc/string_c.c:79. [eva] tests/libc/string_c.c:79: function strnlen: precondition 'valid_string_s' got status valid. [eva] Recording results for strnlen [eva] Done for function strnlen [eva] tests/libc/string_c.c:80: assertion got status valid. [eva] computing for function strnlen <- test_strnlen <- main. Called from tests/libc/string_c.c:81. [eva] tests/libc/string_c.c:81: function strnlen: precondition 'valid_string_s' got status valid. [eva] Recording results for strnlen [eva] Done for function strnlen [eva] tests/libc/string_c.c:82: assertion got status valid. [eva] computing for function strnlen <- test_strnlen <- main. Called from tests/libc/string_c.c:83. [eva] tests/libc/string_c.c:83: function strnlen: precondition 'valid_string_s' got status valid. [eva] Recording results for strnlen [eva] Done for function strnlen [eva] tests/libc/string_c.c:84: assertion got status valid. [eva] computing for function strnlen <- test_strnlen <- main. Called from tests/libc/string_c.c:85. [eva] tests/libc/string_c.c:85: function strnlen: precondition 'valid_string_s' got status valid. [eva] Recording results for strnlen [eva] Done for function strnlen [eva] tests/libc/string_c.c:86: assertion got status valid. [eva] Recording results for test_strnlen [eva] Done for function test_strnlen [eva] computing for function test_memset <- main. Called from tests/libc/string_c.c:285. [eva] computing for function memset <- test_memset <- main. Called from tests/libc/string_c.c:92. [eva] tests/libc/string_c.c:92: function memset: precondition 'valid_s' got status valid. [eva] share/libc/string.h:118: cannot evaluate ACSL term, unsupported ACSL construct: logic function memset [eva:alarm] share/libc/string.h:118: Warning: function memset: postcondition 'acsl_c_equiv' got status unknown. [eva] share/libc/string.h:119: function memset: postcondition 'result_ptr' got status valid. [eva] Recording results for memset [eva] Done for function memset [eva] tests/libc/string_c.c:93: assertion got status valid. [eva] tests/libc/string_c.c:94: assertion got status valid. [eva] tests/libc/string_c.c:95: assertion got status valid. [eva] computing for function memset <- test_memset <- main. Called from tests/libc/string_c.c:96. [eva] tests/libc/string_c.c:96: function memset: precondition 'valid_s' got status valid. [eva] Recording results for memset [eva] Done for function memset [eva] tests/libc/string_c.c:97: assertion got status valid. [eva] Recording results for test_memset [eva] Done for function test_memset [eva] computing for function test_strcmp <- main. Called from tests/libc/string_c.c:286. [eva] computing for function strcmp <- test_strcmp <- main. Called from tests/libc/string_c.c:104. [eva] tests/libc/string_c.c:104: function strcmp: precondition 'valid_string_s1' got status valid. [eva] tests/libc/string_c.c:104: function strcmp: precondition 'valid_string_s2' got status valid. [eva] share/libc/string.h:140: cannot evaluate ACSL term, unsupported ACSL construct: logic function strcmp [eva:alarm] share/libc/string.h:140: Warning: function strcmp: postcondition 'acsl_c_equiv' got status unknown. [eva] Recording results for strcmp [eva] Done for function strcmp [eva] tests/libc/string_c.c:105: assertion got status valid. [eva] computing for function strcmp <- test_strcmp <- main. Called from tests/libc/string_c.c:106. [eva] tests/libc/string_c.c:106: function strcmp: precondition 'valid_string_s1' got status valid. [eva] tests/libc/string_c.c:106: function strcmp: precondition 'valid_string_s2' got status valid. [eva] Recording results for strcmp [eva] Done for function strcmp [eva] tests/libc/string_c.c:107: assertion got status valid. [eva] computing for function strcmp <- test_strcmp <- main. Called from tests/libc/string_c.c:108. [eva] tests/libc/string_c.c:108: function strcmp: precondition 'valid_string_s1' got status valid. [eva] tests/libc/string_c.c:108: function strcmp: precondition 'valid_string_s2' got status valid. [eva] Recording results for strcmp [eva] Done for function strcmp [eva] tests/libc/string_c.c:109: assertion got status valid. [eva] computing for function strcmp <- test_strcmp <- main. Called from tests/libc/string_c.c:110. [eva] tests/libc/string_c.c:110: function strcmp: precondition 'valid_string_s1' got status valid. [eva] tests/libc/string_c.c:110: function strcmp: precondition 'valid_string_s2' got status valid. [eva] Recording results for strcmp [eva] Done for function strcmp [eva] tests/libc/string_c.c:111: assertion got status valid. [eva] computing for function strcmp <- test_strcmp <- main. Called from tests/libc/string_c.c:112. [eva] tests/libc/string_c.c:112: function strcmp: precondition 'valid_string_s1' got status valid. [eva] tests/libc/string_c.c:112: function strcmp: precondition 'valid_string_s2' got status valid. [eva] Recording results for strcmp [eva] Done for function strcmp [eva] tests/libc/string_c.c:113: assertion got status valid. [eva] computing for function strcmp <- test_strcmp <- main. Called from tests/libc/string_c.c:114. [eva] tests/libc/string_c.c:114: function strcmp: precondition 'valid_string_s1' got status valid. [eva] tests/libc/string_c.c:114: function strcmp: precondition 'valid_string_s2' got status valid. [eva] Recording results for strcmp [eva] Done for function strcmp [eva] tests/libc/string_c.c:115: assertion got status valid. [eva] computing for function strcmp <- test_strcmp <- main. Called from tests/libc/string_c.c:116. [eva] tests/libc/string_c.c:116: function strcmp: precondition 'valid_string_s1' got status valid. [eva] tests/libc/string_c.c:116: function strcmp: precondition 'valid_string_s2' got status valid. [eva] Recording results for strcmp [eva] Done for function strcmp [eva] tests/libc/string_c.c:117: assertion got status valid. [eva] Recording results for test_strcmp [eva] Done for function test_strcmp [eva] computing for function test_strncmp <- main. Called from tests/libc/string_c.c:287. [eva] computing for function strncmp <- test_strncmp <- main. Called from tests/libc/string_c.c:167. [eva] tests/libc/string_c.c:167: function strncmp: precondition 'valid_string_s1' got status valid. [eva] tests/libc/string_c.c:167: function strncmp: precondition 'valid_string_s2' got status valid. [eva] share/libc/string.h:147: cannot evaluate ACSL term, unsupported ACSL construct: logic function strncmp [eva:alarm] share/libc/string.h:147: Warning: function strncmp: postcondition 'acsl_c_equiv' got status unknown. [eva] Recording results for strncmp [eva] Done for function strncmp [eva] tests/libc/string_c.c:168: assertion got status valid. [eva] computing for function strncmp <- test_strncmp <- main. Called from tests/libc/string_c.c:169. [eva] tests/libc/string_c.c:169: function strncmp: precondition 'valid_string_s1' got status valid. [eva] tests/libc/string_c.c:169: function strncmp: precondition 'valid_string_s2' got status valid. [eva] Recording results for strncmp [eva] Done for function strncmp [eva] tests/libc/string_c.c:170: assertion got status valid. [eva] computing for function strncmp <- test_strncmp <- main. Called from tests/libc/string_c.c:172. [eva] tests/libc/string_c.c:172: function strncmp: precondition 'valid_string_s1' got status valid. [eva] tests/libc/string_c.c:172: function strncmp: precondition 'valid_string_s2' got status valid. [eva] Recording results for strncmp [eva] Done for function strncmp [eva] tests/libc/string_c.c:173: assertion got status valid. [eva] computing for function strncmp <- test_strncmp <- main. Called from tests/libc/string_c.c:174. [eva] tests/libc/string_c.c:174: function strncmp: precondition 'valid_string_s1' got status valid. [eva] tests/libc/string_c.c:174: function strncmp: precondition 'valid_string_s2' got status valid. [eva] Recording results for strncmp [eva] Done for function strncmp [eva] tests/libc/string_c.c:175: assertion got status valid. [eva] computing for function strncmp <- test_strncmp <- main. Called from tests/libc/string_c.c:176. [eva] tests/libc/string_c.c:176: function strncmp: precondition 'valid_string_s1' got status valid. [eva] tests/libc/string_c.c:176: function strncmp: precondition 'valid_string_s2' got status valid. [eva] Recording results for strncmp [eva] Done for function strncmp [eva] tests/libc/string_c.c:177: assertion got status valid. [eva] computing for function strncmp <- test_strncmp <- main. Called from tests/libc/string_c.c:178. [eva] tests/libc/string_c.c:178: function strncmp: precondition 'valid_string_s1' got status valid. [eva] tests/libc/string_c.c:178: function strncmp: precondition 'valid_string_s2' got status valid. [eva] Recording results for strncmp [eva] Done for function strncmp [eva] tests/libc/string_c.c:179: assertion got status valid. [eva] computing for function strncmp <- test_strncmp <- main. Called from tests/libc/string_c.c:180. [eva] tests/libc/string_c.c:180: function strncmp: precondition 'valid_string_s1' got status valid. [eva] tests/libc/string_c.c:180: function strncmp: precondition 'valid_string_s2' got status valid. [eva] Recording results for strncmp [eva] Done for function strncmp [eva] tests/libc/string_c.c:181: assertion got status valid. [eva] computing for function strncmp <- test_strncmp <- main. Called from tests/libc/string_c.c:182. [eva] tests/libc/string_c.c:182: function strncmp: precondition 'valid_string_s1' got status valid. [eva] tests/libc/string_c.c:182: function strncmp: precondition 'valid_string_s2' got status valid. [eva] Recording results for strncmp [eva] Done for function strncmp [eva] tests/libc/string_c.c:183: assertion got status valid. [eva] Recording results for test_strncmp [eva] Done for function test_strncmp [eva] computing for function test_memcmp <- main. Called from tests/libc/string_c.c:288. [eva] computing for function memcmp <- test_memcmp <- main. Called from tests/libc/string_c.c:188. [eva] tests/libc/string_c.c:188: function memcmp: precondition 'valid_s1' got status valid. [eva] tests/libc/string_c.c:188: function memcmp: precondition 'valid_s2' got status valid. [eva] tests/libc/string_c.c:188: function memcmp: precondition 'initialization,s1' got status valid. [eva] tests/libc/string_c.c:188: function memcmp: precondition 'initialization,s2' got status valid. [eva] tests/libc/string_c.c:188: function memcmp: precondition 'danglingness,s1' got status valid. [eva] tests/libc/string_c.c:188: function memcmp: precondition 'danglingness,s2' got status valid. [eva] share/libc/string.h:63: cannot evaluate ACSL term, unsupported ACSL construct: logic function memcmp [eva:alarm] share/libc/string.h:63: Warning: function memcmp: postcondition 'logic_spec' got status unknown. [eva] Recording results for memcmp [eva] Done for function memcmp [eva] tests/libc/string_c.c:189: assertion got status valid. [eva] computing for function memcmp <- test_memcmp <- main. Called from tests/libc/string_c.c:190. [eva] tests/libc/string_c.c:190: function memcmp: precondition 'valid_s1' got status valid. [eva] tests/libc/string_c.c:190: function memcmp: precondition 'valid_s2' got status valid. [eva] tests/libc/string_c.c:190: function memcmp: precondition 'initialization,s1' got status valid. [eva] tests/libc/string_c.c:190: function memcmp: precondition 'initialization,s2' got status valid. [eva] tests/libc/string_c.c:190: function memcmp: precondition 'danglingness,s1' got status valid. [eva] tests/libc/string_c.c:190: function memcmp: precondition 'danglingness,s2' got status valid. [eva] Recording results for memcmp [eva] Done for function memcmp [eva] tests/libc/string_c.c:191: assertion got status valid. [eva] computing for function memcmp <- test_memcmp <- main. Called from tests/libc/string_c.c:192. [eva] tests/libc/string_c.c:192: function memcmp: precondition 'valid_s1' got status valid. [eva] tests/libc/string_c.c:192: function memcmp: precondition 'valid_s2' got status valid. [eva] tests/libc/string_c.c:192: function memcmp: precondition 'initialization,s1' got status valid. [eva] tests/libc/string_c.c:192: function memcmp: precondition 'initialization,s2' got status valid. [eva] tests/libc/string_c.c:192: function memcmp: precondition 'danglingness,s1' got status valid. [eva] tests/libc/string_c.c:192: function memcmp: precondition 'danglingness,s2' got status valid. [eva] Recording results for memcmp [eva] Done for function memcmp [eva] tests/libc/string_c.c:193: assertion got status valid. [eva] computing for function memcmp <- test_memcmp <- main. Called from tests/libc/string_c.c:194. [eva] tests/libc/string_c.c:194: function memcmp: precondition 'valid_s1' got status valid. [eva] tests/libc/string_c.c:194: function memcmp: precondition 'valid_s2' got status valid. [eva] tests/libc/string_c.c:194: function memcmp: precondition 'initialization,s1' got status valid. [eva] tests/libc/string_c.c:194: function memcmp: precondition 'initialization,s2' got status valid. [eva] tests/libc/string_c.c:194: function memcmp: precondition 'danglingness,s1' got status valid. [eva] tests/libc/string_c.c:194: function memcmp: precondition 'danglingness,s2' got status valid. [eva] Recording results for memcmp [eva] Done for function memcmp [eva] tests/libc/string_c.c:195: assertion got status valid. [eva] Recording results for test_memcmp [eva] Done for function test_memcmp [eva] computing for function test_strcat <- main. Called from tests/libc/string_c.c:289. [eva] computing for function strcat <- test_strcat <- main. Called from tests/libc/string_c.c:124. [eva] tests/libc/string_c.c:124: function strcat: precondition 'valid_string_src' got status valid. [eva] tests/libc/string_c.c:124: function strcat: precondition 'valid_string_dest' got status valid. [eva] tests/libc/string_c.c:124: function strcat: precondition 'room_string' got status valid. [eva] computing for function strlen <- strcat <- test_strcat <- main. Called from share/libc/string.c:182. [eva] share/libc/string.c:182: function strlen: precondition 'valid_string_s' got status valid. [eva] Recording results for strlen [eva] Done for function strlen [eva] share/libc/string.h:407: function strcat: postcondition 'sum_of_lengths' got status valid. [eva] share/libc/string.h:410: function strcat: postcondition 'initialization,dest' got status valid. [eva] share/libc/string.h:411: function strcat: postcondition 'dest_null_terminated' got status valid. [eva] share/libc/string.h:412: function strcat: postcondition 'result_ptr' got status valid. [eva] Recording results for strcat [eva] Done for function strcat [eva] tests/libc/string_c.c:125: assertion got status valid. [eva] tests/libc/string_c.c:126: assertion got status valid. [eva] computing for function strcat <- test_strcat <- main. Called from tests/libc/string_c.c:132. [eva] tests/libc/string_c.c:132: function strcat: precondition 'valid_string_src' got status valid. [eva] tests/libc/string_c.c:132: function strcat: precondition 'valid_string_dest' got status valid. [eva] tests/libc/string_c.c:132: function strcat: precondition 'room_string' got status valid. [eva] computing for function strlen <- strcat <- test_strcat <- main. Called from share/libc/string.c:182. [eva] Recording results for strlen [eva] Done for function strlen [eva] Recording results for strcat [eva] Done for function strcat [eva] tests/libc/string_c.c:133: assertion got status valid. [eva] computing for function strcat <- test_strcat <- main. Called from tests/libc/string_c.c:134. [eva] tests/libc/string_c.c:134: function strcat: precondition 'valid_string_src' got status valid. [eva] tests/libc/string_c.c:134: function strcat: precondition 'valid_string_dest' got status valid. [eva] tests/libc/string_c.c:134: function strcat: precondition 'room_string' got status valid. [eva] computing for function strlen <- strcat <- test_strcat <- main. Called from share/libc/string.c:182. [eva] Recording results for strlen [eva] Done for function strlen [eva] Recording results for strcat [eva] Done for function strcat [eva] computing for function strcat <- test_strcat <- main. Called from tests/libc/string_c.c:135. [eva] tests/libc/string_c.c:135: function strcat: precondition 'valid_string_src' got status valid. [eva] tests/libc/string_c.c:135: function strcat: precondition 'valid_string_dest' got status valid. [eva] tests/libc/string_c.c:135: function strcat: precondition 'room_string' got status valid. [eva] share/libc/string.c:182: Reusing old results for call to strlen [eva] Recording results for strcat [eva] Done for function strcat [eva] tests/libc/string_c.c:136: assertion got status valid. [eva] Recording results for test_strcat [eva] Done for function test_strcat [eva] computing for function test_strcpy <- main. Called from tests/libc/string_c.c:291. [eva] computing for function strcpy <- test_strcpy <- main. Called from tests/libc/string_c.c:142. [eva] tests/libc/string_c.c:142: function strcpy: precondition 'valid_string_src' got status valid. [eva] tests/libc/string_c.c:142: function strcpy: precondition 'room_string' got status valid. [eva] tests/libc/string_c.c:142: function strcpy: precondition 'separation' got status valid. [eva] share/libc/string.h:351: cannot evaluate ACSL term, unsupported ACSL construct: logic function strcmp [eva:alarm] share/libc/string.h:351: Warning: function strcpy: postcondition 'equal_contents' got status unknown. [eva] share/libc/string.h:352: function strcpy: postcondition 'result_ptr' got status valid. [eva] Recording results for strcpy [eva] Done for function strcpy [eva] tests/libc/string_c.c:143: assertion got status valid. [eva] tests/libc/string_c.c:144: assertion got status valid. [eva] computing for function strcpy <- test_strcpy <- main. Called from tests/libc/string_c.c:145. [eva] tests/libc/string_c.c:145: function strcpy: precondition 'valid_string_src' got status valid. [eva] tests/libc/string_c.c:145: function strcpy: precondition 'room_string' got status valid. [eva] tests/libc/string_c.c:145: function strcpy: precondition 'separation' got status valid. [eva] Recording results for strcpy [eva] Done for function strcpy [eva] tests/libc/string_c.c:146: assertion got status valid. [eva] computing for function strcpy <- test_strcpy <- main. Called from tests/libc/string_c.c:147. [eva] tests/libc/string_c.c:147: function strcpy: precondition 'valid_string_src' got status valid. [eva] tests/libc/string_c.c:147: function strcpy: precondition 'room_string' got status valid. [eva] tests/libc/string_c.c:147: function strcpy: precondition 'separation' got status valid. [eva] Recording results for strcpy [eva] Done for function strcpy [eva] tests/libc/string_c.c:148: assertion got status valid. [eva] Recording results for test_strcpy [eva] Done for function test_strcpy [eva] computing for function test_strncpy <- main. Called from tests/libc/string_c.c:292. [eva] computing for function strncpy <- test_strncpy <- main. Called from tests/libc/string_c.c:154. [eva] tests/libc/string_c.c:154: function strncpy: precondition 'valid_nstring_src' got status valid. [eva] tests/libc/string_c.c:154: function strncpy: precondition 'room_nstring' got status valid. [eva] tests/libc/string_c.c:154: function strncpy: precondition 'separation' got status valid. [eva] share/libc/string.h:363: function strncpy: postcondition 'result_ptr' got status valid. [eva] share/libc/string.h:364: function strncpy: postcondition 'initialization' got status valid. [eva] share/libc/string.h:367: cannot evaluate ACSL term, unsupported ACSL construct: logic function strcmp [eva:alarm] share/libc/string.h:367: Warning: function strncpy, behavior complete: postcondition 'equal_after_copy' got status unknown. [eva] Recording results for strncpy [eva] Done for function strncpy [eva] tests/libc/string_c.c:155: assertion got status valid. [eva] tests/libc/string_c.c:156: assertion got status valid. [eva] computing for function strncpy <- test_strncpy <- main. Called from tests/libc/string_c.c:157. [eva] tests/libc/string_c.c:157: function strncpy: precondition 'valid_nstring_src' got status valid. [eva] tests/libc/string_c.c:157: function strncpy: precondition 'room_nstring' got status valid. [eva] tests/libc/string_c.c:157: function strncpy: precondition 'separation' got status valid. [eva] share/libc/string.h:370: cannot evaluate ACSL term, unsupported ACSL construct: logic function memcmp [eva:alarm] share/libc/string.h:370: Warning: function strncpy, behavior partial: postcondition 'equal_prefix' got status unknown. [eva] Recording results for strncpy [eva] Done for function strncpy [eva] tests/libc/string_c.c:158: assertion got status valid. [eva] computing for function strncpy <- test_strncpy <- main. Called from tests/libc/string_c.c:159. [eva] tests/libc/string_c.c:159: function strncpy: precondition 'valid_nstring_src' got status valid. [eva] tests/libc/string_c.c:159: function strncpy: precondition 'room_nstring' got status valid. [eva] tests/libc/string_c.c:159: function strncpy: precondition 'separation' got status valid. [eva] Recording results for strncpy [eva] Done for function strncpy [eva] tests/libc/string_c.c:160: assertion got status valid. [eva] computing for function strncpy <- test_strncpy <- main. Called from tests/libc/string_c.c:161. [eva] tests/libc/string_c.c:161: function strncpy: precondition 'valid_nstring_src' got status valid. [eva] tests/libc/string_c.c:161: function strncpy: precondition 'room_nstring' got status valid. [eva] tests/libc/string_c.c:161: function strncpy: precondition 'separation' got status valid. [eva] Recording results for strncpy [eva] Done for function strncpy [eva] tests/libc/string_c.c:162: assertion got status valid. [eva] Recording results for test_strncpy [eva] Done for function test_strncpy [eva] computing for function test_strchr <- main. Called from tests/libc/string_c.c:293. [eva] computing for function strchr <- test_strchr <- main. Called from tests/libc/string_c.c:201. [eva] tests/libc/string_c.c:201: function strchr: precondition 'valid_string_s' got status valid. [eva] share/libc/string.h:161: function strchr, behavior found: postcondition 'result_char' got status valid. [eva] share/libc/string.h:162: function strchr, behavior found: postcondition 'result_same_base' got status valid. [eva] share/libc/string.h:163: function strchr, behavior found: postcondition 'result_in_length' got status valid. [eva] share/libc/string.h:164: function strchr, behavior found: postcondition 'result_valid_string' got status valid. [eva:alarm] share/libc/string.h:165: Warning: function strchr, behavior found: postcondition 'result_first_occur' got status unknown. [eva] share/libc/string.h:171: function strchr, behavior default: postcondition 'result_null_or_same_base' got status valid. [eva] Recording results for strchr [eva] Done for function strchr [eva] tests/libc/string_c.c:202: assertion got status valid. [eva] computing for function strchr <- test_strchr <- main. Called from tests/libc/string_c.c:203. [eva] tests/libc/string_c.c:203: function strchr: precondition 'valid_string_s' got status valid. [eva] share/libc/string.h:168: function strchr, behavior not_found: postcondition 'result_null' got status valid. [eva] Recording results for strchr [eva] Done for function strchr [eva] tests/libc/string_c.c:204: assertion got status valid. [eva] computing for function strchr <- test_strchr <- main. Called from tests/libc/string_c.c:205. [eva] tests/libc/string_c.c:205: function strchr: precondition 'valid_string_s' got status valid. [eva] Recording results for strchr [eva] Done for function strchr [eva] tests/libc/string_c.c:206: assertion got status valid. [eva] computing for function strchr <- test_strchr <- main. Called from tests/libc/string_c.c:207. [eva] tests/libc/string_c.c:207: function strchr: precondition 'valid_string_s' got status valid. [eva] Recording results for strchr [eva] Done for function strchr [eva] tests/libc/string_c.c:208: assertion got status valid. [eva] Recording results for test_strchr [eva] Done for function test_strchr [eva] computing for function test_strrchr <- main. Called from tests/libc/string_c.c:294. [eva] computing for function strrchr <- test_strrchr <- main. Called from tests/libc/string_c.c:214. [eva] tests/libc/string_c.c:214: function strrchr: precondition 'valid_string_s' got status valid. [eva] computing for function strlen <- strrchr <- test_strrchr <- main. Called from share/libc/string.c:237. [eva] share/libc/string.c:237: function strlen: precondition 'valid_string_s' got status valid. [eva] Recording results for strlen [eva] Done for function strlen [eva] share/libc/string.h:179: function strrchr, behavior found: postcondition 'result_char' got status valid. [eva] share/libc/string.h:180: function strrchr, behavior found: postcondition 'result_same_base' got status valid. [eva] share/libc/string.h:181: function strrchr, behavior found: postcondition 'result_valid_string' got status valid. [eva] share/libc/string.h:187: function strrchr, behavior default: postcondition 'result_null_or_same_base' got status valid. [eva] Recording results for strrchr [eva] Done for function strrchr [eva] tests/libc/string_c.c:215: assertion got status valid. [eva] computing for function strrchr <- test_strrchr <- main. Called from tests/libc/string_c.c:216. [eva] tests/libc/string_c.c:216: function strrchr: precondition 'valid_string_s' got status valid. [eva] share/libc/string.c:237: Reusing old results for call to strlen [eva] share/libc/string.h:184: function strrchr, behavior not_found: postcondition 'result_null' got status valid. [eva] Recording results for strrchr [eva] Done for function strrchr [eva] tests/libc/string_c.c:217: assertion got status valid. [eva] computing for function strrchr <- test_strrchr <- main. Called from tests/libc/string_c.c:218. [eva] tests/libc/string_c.c:218: function strrchr: precondition 'valid_string_s' got status valid. [eva] share/libc/string.c:237: Reusing old results for call to strlen [eva] Recording results for strrchr [eva] Done for function strrchr [eva] tests/libc/string_c.c:219: assertion got status valid. [eva] computing for function strrchr <- test_strrchr <- main. Called from tests/libc/string_c.c:220. [eva] tests/libc/string_c.c:220: function strrchr: precondition 'valid_string_s' got status valid. [eva] share/libc/string.c:237: Reusing old results for call to strlen [eva] Recording results for strrchr [eva] Done for function strrchr [eva] tests/libc/string_c.c:221: assertion got status valid. [eva] Recording results for test_strrchr [eva] Done for function test_strrchr [eva] computing for function test_memchr <- main. Called from tests/libc/string_c.c:295. [eva] computing for function memchr <- test_memchr <- main. Called from tests/libc/string_c.c:227. [eva] tests/libc/string_c.c:227: function memchr: precondition 'valid' got status valid. [eva] tests/libc/string_c.c:227: function memchr: precondition 'initialization' got status valid. [eva] tests/libc/string_c.c:227: function memchr: precondition 'danglingness' got status valid. [eva] share/libc/string.h:78: cannot evaluate ACSL term, unsupported ACSL construct: logic function memchr [eva] share/libc/string.h:85: cannot evaluate ACSL term, unsupported ACSL construct: logic function memchr [eva] share/libc/string.h:79: function memchr, behavior found: postcondition 'result_same_base' got status valid. (Behavior may be inactive, no reduction performed.) [eva] share/libc/string.h:80: function memchr, behavior found: postcondition 'result_char' got status valid. (Behavior may be inactive, no reduction performed.) [eva:alarm] share/libc/string.h:81: Warning: function memchr, behavior found: postcondition 'result_in_str' got status unknown. (Behavior may be inactive, no reduction performed.) [eva:alarm] share/libc/string.h:86: Warning: function memchr, behavior not_found: postcondition 'result_null' got status invalid. (Behavior may be inactive, no reduction performed.) [eva] Recording results for memchr [eva] Done for function memchr [eva] tests/libc/string_c.c:228: assertion got status valid. [eva] computing for function memchr <- test_memchr <- main. Called from tests/libc/string_c.c:229. [eva] tests/libc/string_c.c:229: function memchr: precondition 'valid' got status valid. [eva] tests/libc/string_c.c:229: function memchr: precondition 'initialization' got status valid. [eva] tests/libc/string_c.c:229: function memchr: precondition 'danglingness' got status valid. [eva:alarm] share/libc/string.h:79: Warning: function memchr, behavior found: postcondition 'result_same_base' got status invalid. (Behavior may be inactive, no reduction performed.) [eva:alarm] share/libc/string.h:80: Warning: function memchr, behavior found: postcondition 'result_char' got status unknown. (Behavior may be inactive, no reduction performed.) [eva] share/libc/string.h:86: function memchr, behavior not_found: postcondition 'result_null' got status valid. (Behavior may be inactive, no reduction performed.) [eva] Recording results for memchr [eva] Done for function memchr [eva] tests/libc/string_c.c:230: assertion got status valid. [eva] computing for function memchr <- test_memchr <- main. Called from tests/libc/string_c.c:231. [eva] tests/libc/string_c.c:231: function memchr: precondition 'valid' got status valid. [eva] tests/libc/string_c.c:231: function memchr: precondition 'initialization' got status valid. [eva] tests/libc/string_c.c:231: function memchr: precondition 'danglingness' got status valid. [eva] Recording results for memchr [eva] Done for function memchr [eva] tests/libc/string_c.c:232: assertion got status valid. [eva] computing for function memchr <- test_memchr <- main. Called from tests/libc/string_c.c:233. [eva] tests/libc/string_c.c:233: function memchr: precondition 'valid' got status valid. [eva] tests/libc/string_c.c:233: function memchr: precondition 'initialization' got status valid. [eva] tests/libc/string_c.c:233: function memchr: precondition 'danglingness' got status valid. [eva] Recording results for memchr [eva] Done for function memchr [eva] tests/libc/string_c.c:234: assertion got status valid. [eva] computing for function memchr <- test_memchr <- main. Called from tests/libc/string_c.c:235. [eva] tests/libc/string_c.c:235: function memchr: precondition 'valid' got status valid. [eva] tests/libc/string_c.c:235: function memchr: precondition 'initialization' got status valid. [eva] tests/libc/string_c.c:235: function memchr: precondition 'danglingness' got status valid. [eva] Recording results for memchr [eva] Done for function memchr [eva] tests/libc/string_c.c:236: assertion got status valid. [eva] computing for function memchr <- test_memchr <- main. Called from tests/libc/string_c.c:237. [eva] tests/libc/string_c.c:237: function memchr: precondition 'valid' got status valid. [eva] tests/libc/string_c.c:237: function memchr: precondition 'initialization' got status valid. [eva] tests/libc/string_c.c:237: function memchr: precondition 'danglingness' got status valid. [eva] Recording results for memchr [eva] Done for function memchr [eva] tests/libc/string_c.c:238: assertion got status valid. [eva] Recording results for test_memchr [eva] Done for function test_memchr [eva] computing for function test_memrchr <- main. Called from tests/libc/string_c.c:296. [eva] computing for function memrchr <- test_memrchr <- main. Called from tests/libc/string_c.c:244. [eva] Recording results for memrchr [eva] Done for function memrchr [eva] tests/libc/string_c.c:245: assertion got status valid. [eva] computing for function memrchr <- test_memrchr <- main. Called from tests/libc/string_c.c:246. [eva] Recording results for memrchr [eva] Done for function memrchr [eva] tests/libc/string_c.c:247: assertion got status valid. [eva] computing for function memrchr <- test_memrchr <- main. Called from tests/libc/string_c.c:248. [eva] Recording results for memrchr [eva] Done for function memrchr [eva] tests/libc/string_c.c:249: assertion got status valid. [eva] computing for function memrchr <- test_memrchr <- main. Called from tests/libc/string_c.c:250. [eva] Recording results for memrchr [eva] Done for function memrchr [eva] tests/libc/string_c.c:251: assertion got status valid. [eva] computing for function memrchr <- test_memrchr <- main. Called from tests/libc/string_c.c:252. [eva] Recording results for memrchr [eva] Done for function memrchr [eva] tests/libc/string_c.c:253: assertion got status valid. [eva] computing for function memrchr <- test_memrchr <- main. Called from tests/libc/string_c.c:254. [eva] Recording results for memrchr [eva] Done for function memrchr [eva] tests/libc/string_c.c:255: assertion got status valid. [eva] Recording results for test_memrchr [eva] Done for function test_memrchr [eva] computing for function test_strstr <- main. Called from tests/libc/string_c.c:297. [eva] computing for function strstr <- test_strstr <- main. Called from tests/libc/string_c.c:261. [eva] tests/libc/string_c.c:261: function strstr: precondition 'valid_string_haystack' got status valid. [eva] tests/libc/string_c.c:261: function strstr: precondition 'valid_string_needle' got status valid. [eva] share/libc/string.h:221: cannot evaluate ACSL term, unsupported ACSL construct: logic function memcmp [eva:alarm] share/libc/string.h:219: Warning: function strstr: postcondition 'result_null_or_in_haystack' got status unknown. [eva] Recording results for strstr [eva] Done for function strstr [eva] tests/libc/string_c.c:262: assertion got status valid. [eva] computing for function strstr <- test_strstr <- main. Called from tests/libc/string_c.c:263. [eva] tests/libc/string_c.c:263: function strstr: precondition 'valid_string_haystack' got status valid. [eva] tests/libc/string_c.c:263: function strstr: precondition 'valid_string_needle' got status valid. [eva] Recording results for strstr [eva] Done for function strstr [eva] tests/libc/string_c.c:264: assertion got status valid. [eva] computing for function strstr <- test_strstr <- main. Called from tests/libc/string_c.c:265. [eva] tests/libc/string_c.c:265: function strstr: precondition 'valid_string_haystack' got status valid. [eva] tests/libc/string_c.c:265: function strstr: precondition 'valid_string_needle' got status valid. [eva] share/libc/string.h:219: function strstr: postcondition 'result_null_or_in_haystack' got status valid. [eva] Recording results for strstr [eva] Done for function strstr [eva] tests/libc/string_c.c:266: assertion got status valid. [eva] computing for function strstr <- test_strstr <- main. Called from tests/libc/string_c.c:267. [eva] tests/libc/string_c.c:267: function strstr: precondition 'valid_string_haystack' got status valid. [eva] tests/libc/string_c.c:267: function strstr: precondition 'valid_string_needle' got status valid. [eva] Recording results for strstr [eva] Done for function strstr [eva] tests/libc/string_c.c:268: assertion got status valid. [eva] computing for function strstr <- test_strstr <- main. Called from tests/libc/string_c.c:269. [eva] tests/libc/string_c.c:269: function strstr: precondition 'valid_string_haystack' got status valid. [eva] tests/libc/string_c.c:269: function strstr: precondition 'valid_string_needle' got status valid. [eva] Recording results for strstr [eva] Done for function strstr [eva] tests/libc/string_c.c:270: assertion got status valid. [eva] computing for function strstr <- test_strstr <- main. Called from tests/libc/string_c.c:271. [eva] tests/libc/string_c.c:271: function strstr: precondition 'valid_string_haystack' got status valid. [eva] tests/libc/string_c.c:271: function strstr: precondition 'valid_string_needle' got status valid. [eva] Recording results for strstr [eva] Done for function strstr [eva] tests/libc/string_c.c:272: assertion got status valid. [eva] computing for function strstr <- test_strstr <- main. Called from tests/libc/string_c.c:273. [eva] tests/libc/string_c.c:273: function strstr: precondition 'valid_string_haystack' got status valid. [eva] tests/libc/string_c.c:273: function strstr: precondition 'valid_string_needle' got status valid. [eva] Recording results for strstr [eva] Done for function strstr [eva] tests/libc/string_c.c:274: assertion got status valid. [eva] computing for function strstr <- test_strstr <- main. Called from tests/libc/string_c.c:275. [eva] tests/libc/string_c.c:275: function strstr: precondition 'valid_string_haystack' got status valid. [eva] tests/libc/string_c.c:275: function strstr: precondition 'valid_string_needle' got status valid. [eva] Recording results for strstr [eva] Done for function strstr [eva] tests/libc/string_c.c:276: assertion got status valid. [eva] Recording results for test_strstr [eva] Done for function test_strstr [eva] Recording results for main [eva] done for function main [eva] ====== VALUES COMPUTED ====== [eva:final-states] Values at end of function memchr: ch ∈ {1; 2; 5} ss ∈ {{ (unsigned char const *)&s }} __retres ∈ {{ NULL ; (void *)&s{[0], [1]} }} [eva:final-states] Values at end of function memcmp: p1 ∈ {{ "hallo" ; "hallo" ; "a\000b" ; "a\000b" }} p2 ∈ {{ (unsigned char const *)&hello ; "a\000c" ; "a\000c" }} __retres ∈ {-4; -1; 0} [eva:final-states] Values at end of function memcpy: dest[0] ∈ {65; 97; 104} [1] ∈ {0; 56; 101} [2] ∈ {9; 98; 108} [3] ∈ {0; 18; 108} [4] ∈ {0; 111} [5] ∈ {0} [eva:final-states] Values at end of function memoverlap: p1 ∈ {{ (unsigned int)&buf{[0], [2], [3]} }} p2 ∈ {{ (unsigned int)&buf{[4], [6]} }} q1 ∈ {{ (unsigned int)&buf{[0], [2]} }} q2 ∈ {{ (unsigned int)&buf{[3], [4], [6]} }} __retres ∈ {-1; 0; 1} [eva:final-states] Values at end of function memmove: s ∈ {{ &buf{[0], [2]} }} d ∈ {{ &buf{[0], [2], [3]} }} buf[0] ∈ {1; 3} [1] ∈ {2; 4} [2] ∈ {1; 5} [3] ∈ {2; 3; 6} [4] ∈ {3; 4; 5} [5] ∈ {4; 5; 6} __retres ∈ {{ (void *)&buf{[0], [2], [3]} }} [eva:final-states] Values at end of function memrchr: ch ∈ {1; 2; 5} ss ∈ {{ (unsigned char const *)&s }} __retres ∈ {{ NULL ; (void *)&s{[0], [3], [4]} }} [eva:final-states] Values at end of function memset: p ∈ {{ (unsigned char *)&dest }} dest[0..2] ∈ {42} [3] ∈ {0} [eva:final-states] Values at end of function strchr: ch ∈ {0; 72; 104; 108} i ∈ {0; 2; 5} __retres ∈ {{ NULL ; "hello" + {0; 2; 5} }} [eva:final-states] Values at end of function strcmp: i ∈ {0; 1; 4; 5} __retres ∈ {-111; -104; -32; 0; 111} [eva:final-states] Values at end of function strcpy: i ∈ {0; 5; 6} s[0] ∈ {0; 54; 104} [1] ∈ {53; 101} [2] ∈ {52; 108} [3] ∈ {51; 108} [4] ∈ {50; 111} [5] ∈ {0; 49} [6] ∈ {0} or UNINITIALIZED [eva:final-states] Values at end of function strlen: i ∈ {0; 2; 4; 5; 7} [eva:final-states] Values at end of function strcat: i ∈ {0; 1; 3; 5} n ∈ {0; 4; 7} s[0] ∈ {104} [1] ∈ {101} [2..3] ∈ {108} [4] ∈ {104; 111} [5] ∈ {0; 101} [6] ∈ {108} or UNINITIALIZED [7] ∈ {0; 120} or UNINITIALIZED [8] ∈ {0} or UNINITIALIZED [9] ∈ UNINITIALIZED [eva:final-states] Values at end of function strncmp: __retres ∈ {-104; -4; 0; 111} [eva:final-states] Values at end of function strncpy: i ∈ {0; 3; 5; 7} s[0] ∈ {97; 98; 104} [1] ∈ {98; 101; 121} [2] ∈ {0; 101; 108} [3] ∈ {0; 108} [4] ∈ {0; 111} [5..6] ∈ {0} [eva:final-states] Values at end of function strnlen: i ∈ {0; 2; 4; 5} [eva:final-states] Values at end of function strrchr: ch ∈ {0; 72; 104; 108} __retres ∈ {{ NULL ; "hello" + {0; 3; 5} }} [eva:final-states] Values at end of function strstr: __retres ∈ {{ NULL ; "hello" + {0; 2; 3} }} [eva:final-states] Values at end of function test_memchr: s[0] ∈ {1} [1] ∈ {2} [2] ∈ {3} [3] ∈ {1} [4] ∈ {2} [5] ∈ {4} p ∈ {{ &s[0] }} [eva:final-states] Values at end of function test_memcmp: hello[0] ∈ {104} [1] ∈ {101} [2..3] ∈ {108} [4] ∈ {111} [5] ∈ {0} res1 ∈ {-4} res2 ∈ {0} res3 ∈ {0} res4 ∈ {-1} [eva:final-states] Values at end of function test_memcpy: dest[0] ∈ {65} [1] ∈ {56} [2] ∈ {9} [3] ∈ {18} [4..5] ∈ {0} src[0] ∈ {104} [1] ∈ {101} [2..3] ∈ {108} [4] ∈ {111} [5] ∈ {0} p ∈ {{ NULL ; &dest[0] }} src2[0] ∈ {97} [1] ∈ {0} [2] ∈ {98} [3..4] ∈ {0} x ∈ {302594113} [eva:final-states] Values at end of function test_memmove: buf[0] ∈ {3} [1] ∈ {4} [2] ∈ {5} [3] ∈ {3} [4] ∈ {4} [5] ∈ {5} s ∈ {{ &buf[0] }} d ∈ {{ &buf[3] }} p ∈ {{ &buf[2] }} [eva:final-states] Values at end of function test_memrchr: s[0] ∈ {1} [1] ∈ {2} [2] ∈ {3} [3] ∈ {1} [4] ∈ {2} [5] ∈ {4} p ∈ {{ &s[0] }} [eva:final-states] Values at end of function test_memset: dest[0..2] ∈ {42} [3] ∈ {0} p ∈ {{ &dest[0] }} [eva:final-states] Values at end of function test_strcat: s[0] ∈ {104} [1] ∈ {101} [2..3] ∈ {108} [4] ∈ {104} [5] ∈ {101} [6] ∈ {108} [7] ∈ {120} [8] ∈ {0} [9] ∈ UNINITIALIZED p ∈ {{ &s[0] }} [eva:final-states] Values at end of function test_strchr: s ∈ {{ "hello" }} p ∈ {{ "hello" + {5} }} [eva:final-states] Values at end of function test_strcmp: hello[0] ∈ {104} [1] ∈ {97} [2..3] ∈ {108} [4] ∈ {111} [5] ∈ {0} res ∈ {0} res2 ∈ {-111} res3 ∈ {111} res4 ∈ {-32} res5 ∈ {-104} res6 ∈ {0} res7 ∈ {0} [eva:final-states] Values at end of function test_strcpy: s[0] ∈ {0} [1] ∈ {53} [2] ∈ {52} [3] ∈ {51} [4] ∈ {50} [5] ∈ {49} [6] ∈ {0} p ∈ {{ &s[0] }} [eva:final-states] Values at end of function test_strlen: s ∈ {{ "hello" }} n ∈ {0} [eva:final-states] Values at end of function test_strncmp: hello[0] ∈ {104} [1] ∈ {97} [2..3] ∈ {108} [4] ∈ {111} [5] ∈ {0} res1 ∈ {-4} res2 ∈ {0} res3 ∈ {0} res4 ∈ {111} res5 ∈ {0} res6 ∈ {-104} res7 ∈ {0} res8 ∈ {0} [eva:final-states] Values at end of function test_strncpy: s[0] ∈ {97} [1] ∈ {98} [2..6] ∈ {0} p ∈ {{ &s[0] }} [eva:final-states] Values at end of function test_strnlen: s ∈ {{ "hello" }} n ∈ {0} [eva:final-states] Values at end of function test_strrchr: s ∈ {{ "hello" }} p ∈ {{ "hello" + {5} }} [eva:final-states] Values at end of function test_strstr: s ∈ {{ "hello" }} p ∈ {{ "hello" }} [eva:final-states] Values at end of function main: __retres ∈ {0}