| loopNewCondition(Source, LoopContractTransformerWorker.AuxiliaryVariableNames) |  | 0% | | n/a | 1 | 1 | 22 | 22 | 1 | 1 |
| getRefreshStatements(Source, Variable, ExpressionNode, MemoryLocationManager) |   | 32% |   | 25% | 2 | 3 | 23 | 32 | 0 | 1 |
| transformLoopBreakWorker(LoopContractBlock, JumpNode, LoopContractTransformerWorker.AuxiliaryVariableNames) |  | 0% |  | 0% | 2 | 2 | 18 | 18 | 1 | 1 |
| createMemcpyCall(Source, ExpressionNode, ExpressionNode, ExpressionNode) |  | 0% | | n/a | 1 | 1 | 5 | 5 | 1 | 1 |
| transformLoopContinueWorker(LoopContractBlock, JumpNode, LoopContractTransformerWorker.AuxiliaryVariableNames, String) |  | 0% | | n/a | 1 | 1 | 8 | 8 | 1 | 1 |
| transformLoopJumpers(LoopContractBlock, StatementNode, LoopContractTransformerWorker.AuxiliaryVariableNames, String) |   | 64% |   | 75% | 3 | 8 | 5 | 20 | 0 | 1 |
| transformLoopBody(LoopContractBlock, LoopContractTransformerWorker.AuxiliaryVariableNames) |   | 86% |   | 50% | 3 | 4 | 5 | 37 | 0 | 1 |
| transformLoopEntrance(LoopContractBlock, LoopContractTransformerWorker.AuxiliaryVariableNames) |   | 89% |   | 37% | 4 | 5 | 5 | 39 | 0 | 1 |
| transformLoopInFunction(BlockItemNode) |   | 83% |   | 70% | 2 | 6 | 4 | 22 | 0 | 1 |
| transform(AST) |   | 83% |   | 87% | 1 | 5 | 2 | 16 | 0 | 1 |
| transformLoopReturnWorker(LoopContractBlock, JumpNode, LoopContractTransformerWorker.AuxiliaryVariableNames) |   | 89% |   | 50% | 1 | 2 | 3 | 20 | 0 | 1 |
| toWhileLoop(LoopContractBlock, LoopContractTransformerWorker.AuxiliaryVariableNames) |   | 95% |   | 83% | 1 | 4 | 1 | 24 | 0 | 1 |
| isForLoop(LoopNode) |  | 87% |   | 50% | 1 | 2 | 0 | 1 | 0 | 1 |
| checkPointerBelongtoMemoryLocationSet(ExpressionNode, List, Source, MemoryLocationManager) |  | 100% | | n/a | 0 | 1 | 0 | 50 | 0 | 1 |
| transformLoopAssignsWorker(List, LoopContractTransformerWorker.AuxiliaryVariableNames, Source) |  | 100% |  | 100% | 0 | 2 | 0 | 27 | 0 | 1 |
| loopAssignsGeneration(LoopContractBlock, LoopContractTransformerWorker.AuxiliaryVariableNames, boolean) |  | 100% |  | 100% | 0 | 2 | 0 | 17 | 0 | 1 |
| LoopContractTransformerWorker(String, ASTFactory) |  | 100% | | n/a | 0 | 1 | 0 | 20 | 0 | 1 |
| transformLoopWorker(LoopContractBlock) |  | 100% | | n/a | 0 | 1 | 0 | 17 | 0 | 1 |
| createLogicalAndEquals(ExpressionNode, ExpressionNode, Source) |  | 100% | | n/a | 0 | 1 | 0 | 13 | 0 | 1 |
| createAssertion(ExpressionNode, boolean) |  | 100% |  | 100% | 0 | 3 | 0 | 10 | 0 | 1 |
| writeSetPopAndUpdate(Source, LoopContractBlock, LoopContractTransformerWorker.AuxiliaryVariableNames) |  | 100% | | n/a | 0 | 1 | 0 | 8 | 0 | 1 |
| transformLoopExit(LoopContractBlock, LoopContractTransformerWorker.AuxiliaryVariableNames) |  | 100% | | n/a | 0 | 1 | 0 | 8 | 0 | 1 |
| createHavocMemCall(Source, LoopContractTransformerWorker.AuxiliaryVariableNames) |  | 100% | | n/a | 0 | 1 | 0 | 9 | 0 | 1 |
| createLoopInvariantAssumption(ExpressionNode, LoopContractTransformerWorker.AuxiliaryVariableNames) |  | 100% | | n/a | 0 | 1 | 0 | 8 | 0 | 1 |
| createAssumptionPush(ExpressionNode) |  | 100% | | n/a | 0 | 1 | 0 | 5 | 0 | 1 |
| wrapAssuming(ExpressionNode, BlockItemNode) |  | 100% | | n/a | 0 | 1 | 0 | 5 | 0 | 1 |
| createNDBinaryChoice(Source) |  | 100% | | n/a | 0 | 1 | 0 | 3 | 0 | 1 |
| transformLoopAssigns(LoopContractBlock, LoopContractTransformerWorker.AuxiliaryVariableNames, boolean) |  | 100% |  | 100% | 0 | 2 | 0 | 4 | 0 | 1 |
| createAssumptionPop(Source) |  | 100% | | n/a | 0 | 1 | 0 | 4 | 0 | 1 |
| createWriteSetPush(Source) |  | 100% | | n/a | 0 | 1 | 0 | 4 | 0 | 1 |
| createGetStateCall(Source, boolean) |  | 100% |  | 100% | 0 | 2 | 0 | 3 | 0 | 1 |
| createWriteSetPop(Source, LoopContractTransformerWorker.AuxiliaryVariableNames) |  | 100% | | n/a | 0 | 1 | 0 | 4 | 0 | 1 |
| isLoopNode(ASTNode) |  | 100% |  | 100% | 0 | 3 | 0 | 3 | 0 | 1 |
| nextMenIdentifier() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| nextMenAssumpIdentifier() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| nextLoopPreStateIdentifier() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| nextLoopNewCondIdentifier() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| nextLoopLeastItersIdentifier() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| nextLoopTmpIdentifier() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| nextContinueLabelIdentifier() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| createNewLoopWriteSetCall(Source) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| isContractedLoop(LoopNode) |  | 100% |   | 75% | 1 | 3 | 0 | 2 | 0 | 1 |
| isFunctionDefinition(ASTNode) |  | 100% |  | 100% | 0 | 2 | 0 | 1 | 0 | 1 |
| createStateTypeNode(Source) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |