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 PathBranchCoverage implements Heuristic { 29 31 boolean count_early; 32 int branch_start; 33 int no_branch_return; 34 35 public PathBranchCoverage (Config config) { 36 count_early = config.getBoolean("search.heuristic.branch.count_early"); 37 branch_start = config.getInt("search.heuristic.branch.branch_start"); 38 no_branch_return = config.getInt("search.heuristic.branch.no_branch_return"); 39 } 40 41 public int heuristicValue () { 42 int li = CoverageManager.getLastIncremented(); 43 44 if (li >= branch_start) { 45 return li + 1; 46 } else if (li >= 0) { 47 if (count_early) { 48 return li; 49 } else { 50 return 0; 51 } 52 } else if (no_branch_return >= 0) { 53 return no_branch_return; 54 } else { 55 return branch_start; 56 } 57 } 58 59 public void processParent () { 60 } 61 } 62 | Popular Tags |