AutoFeedback API

Result 2baff93a-1b9d-4499-b4e5-0e383d37dc3b

{
  "evaluationState" : {
    "id" : "2baff93a-1b9d-4499-b4e5-0e383d37dc3b",
    "startTime" : "2026-08-24T10:42:08.150953Z",
    "endTime" : "2026-08-24T10:44:18.053908Z",
    "status" : "SUCCESS",
    "commitHash" : "0b8fefaac5255003617e52913715915dd2281c62"
  },
  "stepResults" : {
    "structure" : {
      "name" : "main",
      "similarityToProf" : 0.5,
      "codeComplexity" : 0.5,
      "programmingTime" : 0.5,
      "codeUnderstandability" : 0.5,
      "children" : [ {
        "name" : "ch.fhnw.autofeedback",
        "similarityToProf" : 0.5,
        "codeComplexity" : 0.5,
        "programmingTime" : 0.5,
        "codeUnderstandability" : 0.5,
        "children" : [ {
          "name" : "ExampleProblemImpl",
          "similarityToProf" : 0.5,
          "codeComplexity" : 0.5,
          "programmingTime" : 0.5,
          "codeUnderstandability" : 0.5,
          "children" : [ {
            "name" : "public int max(int a, int b)",
            "similarityToProf" : 0.5,
            "codeComplexity" : 0.5,
            "programmingTime" : 0.5,
            "codeUnderstandability" : 0.5,
            "children" : [ ]
          } ]
        }, {
          "name" : "ForLoop",
          "similarityToProf" : 0.5,
          "codeComplexity" : 0.5,
          "programmingTime" : 0.5,
          "codeUnderstandability" : 0.5,
          "children" : [ {
            "name" : " int forloop(int x)",
            "similarityToProf" : 0.5,
            "codeComplexity" : 0.5,
            "programmingTime" : 0.5,
            "codeUnderstandability" : 0.5,
            "children" : [ ]
          } ]
        }, {
          "name" : "MergeSort",
          "similarityToProf" : 0.5,
          "codeComplexity" : 0.5,
          "programmingTime" : 0.5,
          "codeUnderstandability" : 0.5,
          "children" : [ {
            "name" : "private void merge(int[] arr, int low, int mid, int high)",
            "similarityToProf" : 0.5,
            "codeComplexity" : 0.5,
            "programmingTime" : 0.5,
            "codeUnderstandability" : 0.5,
            "children" : [ ]
          }, {
            "name" : "public void sort(int[] arr, int low, int high)",
            "similarityToProf" : 0.5,
            "codeComplexity" : 0.5,
            "programmingTime" : 0.5,
            "codeUnderstandability" : 0.5,
            "children" : [ ]
          } ]
        } ]
      } ]
    },
    "verification" : {
      "resultsPerFile" : {
        "ForLoop.java" : {
          "isValid" : true,
          "results" : [ {
            "methodName" : "ch.fhnw.autofeedback.ForLoop.ForLoop()",
            "isValid" : true,
            "status" : [ {
              "file" : "/work/ForLoop.java",
              "line" : 3,
              "check" : "Feasibility check #1 - after static initialization ",
              "result" : " OK [0.01 secs]"
            }, {
              "file" : "/work/ForLoop.java",
              "line" : 3,
              "check" : "Feasibility check #2 - after static initial state assumption ",
              "result" : " OK [0.01 secs]"
            }, {
              "file" : "/work/ForLoop.java",
              "line" : 3,
              "check" : "Feasibility check #3 - after inherited fields ",
              "result" : " OK [0.00 secs]"
            }, {
              "file" : "/work/ForLoop.java",
              "line" : 3,
              "check" : "Feasibility check #4 - after allocation assumption ",
              "result" : " OK [0.00 secs]"
            }, {
              "file" : "/work/ForLoop.java",
              "line" : 3,
              "check" : "Feasibility check #5 - after invariants for receiver of ForLoop() ",
              "result" : " OK [0.00 secs]"
            }, {
              "file" : "/work/ForLoop.java",
              "line" : 3,
              "check" : "Feasibility check #6 - end of preconditions ",
              "result" : " OK [0.00 secs]"
            }, {
              "file" : "/work/ForLoop.java",
              "line" : 3,
              "check" : "Feasibility check #7 - before call ",
              "result" : " OK [0.00 secs]"
            }, {
              "file" : "/work/ForLoop.java",
              "line" : 3,
              "check" : "Feasibility check #8 - after call ",
              "result" : " OK [0.00 secs]"
            }, {
              "file" : "/work/ForLoop.java",
              "line" : 1,
              "check" : "Feasibility check #9 - at implicit return ",
              "result" : " OK [0.00 secs]"
            }, {
              "file" : "/work/ForLoop.java",
              "line" : 1,
              "check" : "Feasibility check #10 - at program exit ",
              "result" : " OK [0.00 secs]"
            } ],
            "warnings" : [ ],
            "endLineNr" : 14,
            "feedback" : "Feasibility check #1 - after static initialization   OK [0.01 secs]\nFeasibility check #2 - after static initial state assumption   OK [0.01 secs]\nFeasibility check #3 - after inherited fields   OK [0.00 secs]\nFeasibility check #4 - after allocation assumption   OK [0.00 secs]\nFeasibility check #5 - after invariants for receiver of ForLoop()   OK [0.00 secs]\nFeasibility check #6 - end of preconditions   OK [0.00 secs]\nFeasibility check #7 - before call   OK [0.00 secs]\nFeasibility check #8 - after call   OK [0.00 secs]\nFeasibility check #9 - at implicit return   OK [0.00 secs]\nFeasibility check #10 - at program exit   OK [0.00 secs]\n"
          }, {
            "methodName" : "ch.fhnw.autofeedback.ForLoop.forloop(int)",
            "isValid" : true,
            "status" : [ {
              "file" : "/work/ForLoop.java",
              "line" : 8,
              "check" : "Feasibility check #1 - after static initialization ",
              "result" : " OK [0.01 secs]"
            }, {
              "file" : "/work/ForLoop.java",
              "line" : 8,
              "check" : "Feasibility check #2 - after field assumption",
              "result" : " java.lang.Object theHashCode "
            }, {
              "file" : "/work/ForLoop.java",
              "line" : 8,
              "check" : "Feasibility check #3 - after field assumption",
              "result" : " java.lang.Object uniqueHash "
            }, {
              "file" : "/work/ForLoop.java",
              "line" : 8,
              "check" : "Feasibility check #4 - after field assumption",
              "result" : " java.lang.Object __owner "
            }, {
              "file" : "/work/ForLoop.java",
              "line" : 8,
              "check" : "Feasibility check #5 - after field assumption",
              "result" : " java.lang.Object chars "
            }, {
              "file" : "/work/ForLoop.java",
              "line" : 8,
              "check" : "Feasibility check #6 - after field assumption",
              "result" : " java.lang.Object modelString "
            }, {
              "file" : "/work/ForLoop.java",
              "line" : 8,
              "check" : "Feasibility check #7 - after inherited fields ",
              "result" : " OK [0.00 secs]"
            }, {
              "file" : "/work/ForLoop.java",
              "line" : 8,
              "check" : "Feasibility check #8 - after field forloop(int).x ",
              "result" : " OK [0.00 secs]"
            }, {
              "file" : "/work/ForLoop.java",
              "line" : 8,
              "check" : "Feasibility check #9 - after allocation assumption ",
              "result" : " OK [0.00 secs]"
            }, {
              "file" : "/work/ForLoop.java",
              "line" : 8,
              "check" : "Feasibility check #10 - after invariants for receiver of forloop(int) ",
              "result" : " OK [0.00 secs]"
            }, {
              "file" : "/work/ForLoop.java",
              "line" : 8,
              "check" : "Feasibility check #11 - end of preconditions ",
              "result" : " OK [0.00 secs]"
            }, {
              "file" : "/work/ForLoop.java",
              "line" : 22,
              "check" : "Feasibility check #12 - at return statement ",
              "result" : " OK [0.00 secs]"
            }, {
              "file" : "/work/ForLoop.java",
              "line" : 23,
              "check" : "Feasibility check #13 - at program exit ",
              "result" : " OK [0.00 secs]"
            } ],
            "warnings" : [ ],
            "endLineNr" : 30,
            "feedback" : "Feasibility check #1 - after static initialization   OK [0.01 secs]\nFeasibility check #2 - after field assumption  java.lang.Object theHashCode \nFeasibility check #3 - after field assumption  java.lang.Object uniqueHash \nFeasibility check #4 - after field assumption  java.lang.Object __owner \nFeasibility check #5 - after field assumption  java.lang.Object chars \nFeasibility check #6 - after field assumption  java.lang.Object modelString \nFeasibility check #7 - after inherited fields   OK [0.00 secs]\nFeasibility check #8 - after field forloop(int).x   OK [0.00 secs]\nFeasibility check #9 - after allocation assumption   OK [0.00 secs]\nFeasibility check #10 - after invariants for receiver of forloop(int)   OK [0.00 secs]\nFeasibility check #11 - end of preconditions   OK [0.00 secs]\nFeasibility check #12 - at return statement   OK [0.00 secs]\nFeasibility check #13 - at program exit   OK [0.00 secs]\n"
          } ]
        }
      }
    },
    "unitTest" : {
      "tests" : [ {
        "name" : "testMax()",
        "status" : "PASSED",
        "message" : null
      } ]
    }
  }
}