Table of Contents

Understanding the Feedback from gradingtier Summarizers

This page provides information about the feedback provided by the autograders that use gradingtier (and Checkstyle, JUnit, and JaCoCo/EclEmma) to assess Java programming assignments.

Feedback about Compilation

If your code compiles on your local machine but doesn't compile on Autolab there are several possible explanations:

  1. Your code does not conform to the specifications.
  2. Your code contains one or more non-ASCII characters. This is mostly commonly a “smart quote” or other special character (e.g., a copyright symbol, a degree symbol) in a comment (which is usually the result of a cut-and-paste from another document).
  3. You have imported a package that is not available on Autolab. This happens most frequently when your IDE suggests a “fix” and you accept it without understanding what it is doing. For example, your IDE might suggest that you import something from an obsolete version of JUnit that is available on your machine but not on Autolab.

Feedback about Style

Feedback about style includes a list of defects (generated by Checkstyle) organized by file that looks something like the following.

Feedback about Correctness

Feedback about correctness (e.g., official tests and self tests) includes a list of test failures (generated by JUnit). You may be given information only about the test, in which case it will look something like the following.

You may also be given hints, in which case it will look something like the following.

Or, you may also be given details about the failure, in which case it will look something like the following.

Feedback about Coverage of Your Tests

Feedback about the coverage of your tests (generated by JaCoCo/EclEmma) is organized by class and method, and looks something like the following.

Note that if a method contains no branches then the branch coverage line will be omitted. Note also that JaCoCo uses the term “branches” differently from the way some other people do. Specifically, the number of “branches” is the sum of the number of possible Boolean values in an expression.