| parallel(Lane, Time) |   | 40% |   | 21% | 10 | 13 | 15 | 26 | 0 | 1 |
| forwardHeadway(LanePathInfo, Length) |   | 52% |   | 39% | 12 | 15 | 16 | 36 | 0 | 1 |
| collectNeighborLaneTraffic(LateralDirectionality, Time, Length, Length) |   | 62% |   | 50% | 8 | 12 | 13 | 33 | 0 | 1 |
| headwayRecursiveBackwardSI(Lane, GTUDirectionality, double, double, double, Time) |   | 58% |   | 50% | 5 | 9 | 10 | 21 | 0 | 1 |
| buildLanePathInfoAdjacent(Lane, LateralDirectionality, Time) |   | 49% |   | 25% | 6 | 7 | 11 | 18 | 0 | 1 |
| bestAccessibleAdjacentLane(Lane, LateralDirectionality, Length) |   | 40% |   | 38% | 3 | 5 | 8 | 13 | 0 | 1 |
| backwardHeadway(Length) |   | 78% |   | 70% | 3 | 6 | 4 | 17 | 0 | 1 |
| getNeighboringHeadways(LateralDirectionality) |  | 0% |  | 0% | 2 | 2 | 2 | 2 | 1 | 1 |
| getParallelHeadways(LateralDirectionality) |  | 0% |  | 0% | 2 | 2 | 2 | 2 | 1 | 1 |
| getTimeStampedPerceivedObjects() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getTimestamp() |   | 64% |   | 50% | 1 | 2 | 1 | 3 | 0 | 1 |
| getAccessibleAdjacentLanesLeft() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getAccessibleAdjacentLanesRight() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getParallelHeadwaysLeft() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getParallelHeadwaysRight() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| updateLaneTrafficLeft() |   | 92% |   | 50% | 4 | 5 | 2 | 10 | 0 | 1 |
| updateLaneTrafficRight() |   | 92% |   | 50% | 4 | 5 | 2 | 10 | 0 | 1 |
| getPerceivedObjects() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getGTU() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getTimeStampedForwardHeadway() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getTimeStampedBackwardHeadway() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getTimeStampedAccessibleAdjacentLanesLeft() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getTimeStampedAccessibleAdjacentLanesRight() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getTimeStampedNeighboringHeadwaysLeft() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getTimeStampedNeighboringHeadwaysRight() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getTimeStampedParallelHeadwaysLeft() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getTimeStampedParallelHeadwaysRight() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getTimeStampedSpeedLimit() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| updateParallelHeadwaysLeft() |   | 97% |   | 75% | 2 | 5 | 1 | 11 | 0 | 1 |
| updateParallelHeadwaysRight() |   | 97% |   | 75% | 2 | 5 | 1 | 11 | 0 | 1 |
| updateSpeedLimit() |  | 100% |  | 100% | 0 | 3 | 0 | 7 | 0 | 1 |
| headwayLane(LaneDirection, double, double, Time) |  | 100% |  | 100% | 0 | 2 | 0 | 8 | 0 | 1 |
| updateAccessibleAdjacentLanesLeft() |  | 100% |  | 100% | 0 | 2 | 0 | 9 | 0 | 1 |
| updateAccessibleAdjacentLanesRight() |  | 100% |  | 100% | 0 | 2 | 0 | 9 | 0 | 1 |
| parallel(LateralDirectionality, Time) |  | 100% |  | 100% | 0 | 3 | 0 | 7 | 0 | 1 |
| updateForwardHeadway() |  | 100% |  | 100% | 0 | 3 | 0 | 6 | 0 | 1 |
| updateBackwardHeadway() |  | 100% | | n/a | 0 | 1 | 0 | 4 | 0 | 1 |
| updateLanePathInfo() |  | 100% | | n/a | 0 | 1 | 0 | 5 | 0 | 1 |
| accessibleAdjacentLaneMap(LateralDirectionality) |  | 100% |  | 100% | 0 | 2 | 0 | 2 | 0 | 1 |
| forwardHeadway(Length) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| getLanePathInfo() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getForwardHeadway() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getBackwardHeadway() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getNeighboringHeadwaysLeft() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getNeighboringHeadwaysRight() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getSpeedLimit() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| setGTU(LaneBasedGTU) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| AbstractLanePerception() |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |