1 package gov.nasa.jpf.search.heuristic; 20 21 import gov.nasa.jpf.Config; 22 import gov.nasa.jpf.util.CoverageManager; 23 24 25 28 public class GlobalBranchCoverage implements Heuristic { 29 30 32 boolean count_early; 33 int branch_start; 34 int no_branch_return; 35 36 public GlobalBranchCoverage (Config config) { 37 count_early = config.getBoolean("search.heuristic.branch.count_early"); 38 branch_start = config.getInt("search.heuristic.branch.branch_start"); 39 no_branch_return = config.getInt("search.heuristic.branch.no_branch_return"); 40 } 41 42 public int heuristicValue () { 43 int li = CoverageManager.getLastIncrementedGlobal(); 44 45 if (li >= branch_start) { 46 return li + 1; 47 } else if (li >= 0) { 48 if (count_early) { 49 return li; 50 } else { 51 return 0; 52 } 53 } else if (no_branch_return >= 0) { 54 return no_branch_return; 55 } else { 56 return branch_start; 57 } 58 } 59 60 public void processParent () { 61 } 62 } 63 | Popular Tags |