/export/starexec/sandbox2/solver/bin/starexec_run_c /export/starexec/sandbox2/benchmark/theBenchmark.c /export/starexec/sandbox2/output/output_files -------------------------------------------------------------------------------- MAYBE proof of /export/starexec/sandbox2/benchmark/theBenchmark.c # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty Termination of the given C Problem could not be shown: (0) C Problem (1) CToLLVMProof [EQUIVALENT, 99 ms] (2) LLVM problem ---------------------------------------- (0) Obligation: c file /export/starexec/sandbox2/benchmark/theBenchmark.c ---------------------------------------- (1) CToLLVMProof (EQUIVALENT) Compiled c-file /export/starexec/sandbox2/benchmark/theBenchmark.c to LLVM. ---------------------------------------- (2) Obligation: LLVM Problem Aliases: Data layout: "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128" Machine: "x86_64-pc-linux-gnu" Type definitions: Global variables: Function declarations and definitions: *BasicFunctionTypename: "__VERIFIER_nondet_int" returnParam: i32 parameters: () variableLength: false visibilityType: DEFAULT callingConvention: ccc *BasicFunctionTypename: "malloc" returnParam: *i8 parameters: (i64) variableLength: false visibilityType: DEFAULT callingConvention: ccc *BasicFunctionTypename: "__VERIFIER_nondet_String" linkageType: EXTERNALLY_VISIBLE returnParam: *i8 parameters: () variableLength: false visibilityType: DEFAULT callingConvention: ccc 0: %length = alloca i32, align 4 %nondetString = alloca *i8, align 8 %1 = call i32 @__VERIFIER_nondet_int() store %1, %length %2 = load %length %3 = icmp slt %2 1 br %3, %4, %5 4: store 1, %length br %5 5: %6 = load %length %7 = sext i32 %6 to i64 %8 = mul %7 1 %9 = call *i8 @malloc(i64 %8) store %9, %nondetString %10 = load %length %11 = sub %10 1 %12 = sext i32 %11 to i64 %13 = load %nondetString %14 = getelementptr %13, %12 store 0, %14 %15 = load %nondetString ret %15 *BasicFunctionTypename: "cstrpbrk" linkageType: EXTERNALLY_VISIBLE returnParam: *i8 parameters: (s1 *i8, s2 *i8) variableLength: false visibilityType: DEFAULT callingConvention: ccc 0: %1 = alloca *i8, align 8 %2 = alloca *i8, align 8 %3 = alloca *i8, align 8 %sc1 = alloca *i8, align 8 %s = alloca *i8, align 8 %c = alloca i32, align 4 store %s1, %2 store %s2, %3 %4 = load %2 store %4, %sc1 br %5 5: %6 = load %sc1 %7 = load %6 %8 = sext i8 %7 to i32 %9 = icmp ne %8 0 br %9, %10, %45 10: %11 = load %3 store %11, %s %12 = load %sc1 %13 = load %12 %14 = sext i8 %13 to i32 store %14, %c br %15 15: %16 = load %s %17 = load %16 %18 = sext i8 %17 to i32 %19 = icmp ne %18 0 br %19, %20, %28 20: %21 = load %s %22 = load %21 %23 = sext i8 %22 to i32 %24 = load %c %25 = trunc i32 %24 to i8 %26 = sext i8 %25 to i32 %27 = icmp ne %23 %26 br %28 28: %29 = phi [0, %15], [%27, %20] br %29, %30, %33 30: %31 = load %s %32 = getelementptr %31, 1 store %32, %s br %15 33: %34 = load %s %35 = load %34 %36 = sext i8 %35 to i32 %37 = load %c %38 = icmp ne %36 %37 br %38, %39, %41 39: %40 = load %sc1 store %40, %1 br %46 41: br %42 42: %43 = load %sc1 %44 = getelementptr %43, 1 store %44, %sc1 br %5 45: store null, %1 br %46 46: %47 = load %1 ret %47 *BasicFunctionTypename: "main" linkageType: EXTERNALLY_VISIBLE returnParam: i32 parameters: () variableLength: false visibilityType: DEFAULT callingConvention: ccc 0: %1 = alloca i32, align 4 store 0, %1 %2 = call *i8 @__VERIFIER_nondet_String() %3 = call *i8 @__VERIFIER_nondet_String() %4 = call *i8 @cstrpbrk(*i8 %2, *i8 %3) %5 = load %4 %6 = sext i8 %5 to i32 ret %6 Analyze Termination of all function calls matching the pattern: main()