| operator(OperatorNode, Scope) |   | 71% |   | 64% | 14 | 32 | 19 | 75 | 0 | 1 |
| translateCommandLineConstant(Variable, Object) |   | 21% |   | 16% | 11 | 12 | 15 | 22 | 0 | 1 |
| statement(Location, Expression, CIVLFunction, Statement, StatementNode, Scope) |   | 52% |   | 66% | 11 | 17 | 11 | 35 | 0 | 1 |
| processFunctionDeclaration(FunctionDeclarationNode, Scope) |   | 61% |   | 38% | 9 | 13 | 19 | 55 | 0 | 1 |
| expression(ExpressionNode, Scope, boolean) |   | 68% |   | 78% | 10 | 26 | 9 | 48 | 0 | 1 |
| buildModel() |   | 89% |   | 83% | 9 | 34 | 13 | 110 | 0 | 1 |
| quantifiedExpression(QuantifiedExpressionNode, Scope) |  | 0% |  | 0% | 4 | 4 | 15 | 15 | 1 | 1 |
| newStructOrUnionStateVariable(Scope, CIVLType, CIVLSource) |  | 0% |  | 0% | 2 | 2 | 11 | 11 | 1 | 1 |
| translateStructureOrUnionTypeNode(Location, Scope, StructureOrUnionTypeNode) |   | 32% |   | 33% | 3 | 4 | 6 | 12 | 0 | 1 |
| compoundStatement(Location, Expression, CIVLFunction, Statement, CompoundStatementNode, Scope) |   | 80% |   | 78% | 7 | 19 | 5 | 38 | 0 | 1 |
| subscript(OperatorNode, Scope) |   | 64% |   | 42% | 5 | 7 | 8 | 24 | 0 | 1 |
| whileLoop(CIVLFunction, Statement, LoopNode, Scope) |   | 77% |   | 50% | 5 | 7 | 8 | 30 | 0 | 1 |
| constant(ConstantNode) |   | 74% |   | 72% | 5 | 11 | 2 | 25 | 0 | 1 |
| when(CIVLFunction, Statement, WhenNode, Scope) |   | 62% |   | 67% | 3 | 7 | 4 | 18 | 0 | 1 |
| translateType(Type, Scope, CIVLSource) |   | 79% |   | 81% | 3 | 14 | 4 | 36 | 0 | 1 |
| translateStructureOrUnion(StructureOrUnionType, Scope, CIVLSource) |   | 83% |   | 77% | 5 | 12 | 5 | 36 | 0 | 1 |
| forLoopIncrementer(Location, CIVLFunction, Statement, ExpressionNode, Scope) |   | 66% |   | 38% | 5 | 6 | 5 | 18 | 0 | 1 |
| expressionStatement(Location, Expression, CIVLFunction, ExpressionNode, Scope) |   | 71% |   | 67% | 3 | 6 | 3 | 15 | 0 | 1 |
| switchStatement(Location, Expression, CIVLFunction, Statement, SwitchNode, Scope) |   | 90% |   | 78% | 4 | 10 | 2 | 41 | 0 | 1 |
| callOrSpawn(Location, boolean, LHSExpression, FunctionCallNode, Scope) |   | 76% |   | 67% | 2 | 4 | 2 | 15 | 0 | 1 |
| when(Location, Expression, CIVLFunction, Statement, WhenNode, Scope) |   | 62% |   | 50% | 2 | 3 | 2 | 7 | 0 | 1 |
| translateVariableDeclarationNode(Location, Scope, VariableDeclarationNode) |   | 90% |   | 85% | 4 | 14 | 3 | 31 | 0 | 1 |
| assign(Location, ExpressionNode, ExpressionNode, Scope) |   | 57% |   | 50% | 1 | 2 | 1 | 4 | 0 | 1 |
| translateBasicType(StandardBasicType, CIVLSource) |   | 56% |   | 75% | 1 | 4 | 1 | 5 | 0 | 1 |
| translateSizeof(SizeofNode, Scope) |   | 77% |   | 75% | 1 | 3 | 1 | 12 | 0 | 1 |
| getExtent(CIVLSource, ArrayType, Scope) |   | 71% |   | 83% | 1 | 4 | 1 | 11 | 0 | 1 |
| jumpStatement(Location, CIVLFunction, Statement, JumpNode, Scope) |   | 78% |   | 67% | 2 | 4 | 2 | 11 | 0 | 1 |
| addToFunction(Fragment, CIVLFunction, boolean, ArrayList) |   | 68% |   | 38% | 4 | 5 | 5 | 15 | 0 | 1 |
| forLoop(Location, Expression, CIVLFunction, Statement, ForLoopNode, Scope) |   | 97% |   | 90% | 2 | 11 | 1 | 53 | 0 | 1 |
| statement(CIVLFunction, Statement, StatementNode, Scope) |   | 96% |   | 97% | 1 | 17 | 1 | 35 | 0 | 1 |
| processFunctionBody(FunctionDefinitionNode) |   | 91% |   | 83% | 1 | 4 | 1 | 18 | 0 | 1 |
| booleanExpression(ExpressionNode, Scope) |   | 89% |   | 83% | 1 | 4 | 1 | 8 | 0 | 1 |
| labeledStatement(Location, Expression, CIVLFunction, Statement, LabeledStatementNode, Scope) |   | 74% |   | 50% | 1 | 2 | 1 | 5 | 0 | 1 |
| labeledStatement(CIVLFunction, Statement, LabeledStatementNode, Scope) |   | 72% |   | 50% | 1 | 2 | 1 | 5 | 0 | 1 |
| getFieldIndex(IdentifierNode) |   | 65% |   | 50% | 1 | 2 | 1 | 6 | 0 | 1 |
| translateMalloc(CIVLSource, Location, LHSExpression, CastNode, Scope) |   | 90% |   | 50% | 1 | 2 | 1 | 11 | 0 | 1 |
| variableExpression(IdentifierExpressionNode, Scope) |   | 81% |   | 50% | 1 | 2 | 1 | 6 | 0 | 1 |
| choose(CIVLFunction, Statement, ChooseStatementNode, Scope) |  | 97% |   | 71% | 4 | 8 | 1 | 27 | 0 | 1 |
| ifStatement(Location, CIVLFunction, Statement, IfNode, Scope) |  | 98% |   | 75% | 1 | 3 | 1 | 22 | 0 | 1 |
| gotoStatement(CIVLFunction, Statement, GotoNode, Scope) |  | 93% |   | 50% | 1 | 2 | 1 | 9 | 0 | 1 |
| factory() | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getConfiguration() | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| static {...} |  | 75% |   | 50% | 1 | 2 | 0 | 1 | 0 | 1 |
| bundleableType(CIVLType) |  | 100% |   | 95% | 1 | 12 | 0 | 22 | 0 | 1 |
| ModelBuilderWorker(GMCConfiguration, ModelFactory, Program) |  | 100% | | n/a | 0 | 1 | 0 | 19 | 0 | 1 |
| arrayToPointer(Expression) |  | 100% |  | 100% | 0 | 2 | 0 | 17 | 0 | 1 |
| translateTypedefNode(Location, Scope, TypedefDeclarationNode) |  | 100% |   | 75% | 1 | 3 | 0 | 13 | 0 | 1 |
| assign(CIVLSource, Location, LHSExpression, ExpressionNode, Scope) |  | 100% |  | 100% | 0 | 4 | 0 | 9 | 0 | 1 |
| completeBundleType() |  | 100% |  | 100% | 0 | 3 | 0 | 13 | 0 | 1 |
| expressionStatement(Location, Expression, CIVLFunction, Statement, ExpressionStatementNode, Scope) |  | 100% |   | 83% | 1 | 4 | 0 | 10 | 0 | 1 |
| returnStatement(CIVLFunction, Statement, ReturnNode, Scope) |  | 100% |  | 100% | 0 | 3 | 0 | 10 | 0 | 1 |
| processVariableDeclaration(Scope, VariableDeclarationNode) |  | 100% |  | 100% | 0 | 2 | 0 | 7 | 0 | 1 |
| assume(CIVLFunction, Statement, AssumeNode, Scope) |  | 100% |  | 100% | 0 | 3 | 0 | 9 | 0 | 1 |
| newTypedefStateVariable(Scope, String, CIVLType, CIVLSource) |  | 100% | | n/a | 0 | 1 | 0 | 7 | 0 | 1 |
| assertStatement(CIVLFunction, Statement, AssertNode, Scope) |  | 100% |  | 100% | 0 | 2 | 0 | 8 | 0 | 1 |
| wait(CIVLFunction, Statement, WaitNode, Scope) |  | 100% |  | 100% | 0 | 2 | 0 | 8 | 0 | 1 |
| expressionStatement(CIVLFunction, Statement, ExpressionStatementNode, Scope) |  | 100% | | n/a | 0 | 1 | 0 | 5 | 0 | 1 |
| arrowExpression(ArrowNode, Scope) |  | 100% | | n/a | 0 | 1 | 0 | 3 | 0 | 1 |
| castExpression(CastNode, Scope) |  | 100% | | n/a | 0 | 1 | 0 | 5 | 0 | 1 |
| switchStatement(CIVLFunction, Statement, SwitchNode, Scope) |  | 100% | | n/a | 0 | 1 | 0 | 3 | 0 | 1 |
| isMallocCall(ExpressionNode) |  | 100% |   | 83% | 1 | 4 | 0 | 7 | 0 | 1 |
| noop(Location, CIVLFunction, Statement, NullStatementNode, Scope) |  | 100% |  | 100% | 0 | 2 | 0 | 6 | 0 | 1 |
| nullPointerExpression(CIVLPointerType, Scope, CIVLSource) |  | 100% | | n/a | 0 | 1 | 0 | 5 | 0 | 1 |
| forLoop(CIVLFunction, Statement, ForLoopNode, Scope) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| dotExpression(DotNode, Scope) |  | 100% | | n/a | 0 | 1 | 0 | 3 | 0 | 1 |
| noop(CIVLFunction, Statement, NullStatementNode, Scope) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| jumpStatement(CIVLFunction, Statement, JumpNode, Scope) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| ifStatement(CIVLFunction, Statement, IfNode, Scope) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| isCompleteMallocExpression(ExpressionNode) |  | 100% |  | 100% | 0 | 2 | 0 | 4 | 0 | 1 |
| isTrue(Expression) |  | 100% |   | 75% | 1 | 3 | 0 | 1 | 0 | 1 |
| sourceOfSpan(CIVLSource, CIVLSource) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| translateTypeNode(TypeNode, Scope) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| compoundStatement(CIVLFunction, Statement, CompoundStatementNode, Scope) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| sourceOfSpan(Source, Source) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| sourceOfToken(CToken) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| sourceOfSpan(ASTNode, ASTNode) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| sourceOfBeginning(ASTNode) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| sourceOfEnd(ASTNode) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| expression(ExpressionNode, Scope) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| sourceOf(Source) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| sourceOf(ASTNode) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getModel() | | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |