1. A method of generating a fine slice for a program, the method comprising: receiving a set of slicing criteria, wherein the set of slicing criteria comprises one or more variable occurrences or control dependencies in a program code, wherein based on said slicing criteria one or more statements in the program code are considered for inclusion in a slice, wherein the slice comprises one or more statements selected from the program code that are capable of being independently executed as a modular unit; receiving a set of cut points, wherein the set of cut points comprises one or more variable occurrences or control dependencies in the program code, wherein based on said cut points one or more statements that would otherwise have been included in the slice are excluded; generating the slice according to the set of slicing criteria and the set of cut points, wherein the slice includes statements related to computation of values for the set of slicing criteria and excludes statements related to computation of values for the set of cut points; adding missing information to the slice so that the slice is executable, wherein the missing information comprises at least one of a test or variable values not considered for inclusion or considered but excluded from inclusion based on the slicing criteria and the cut points; and adding equivalent points to the set of cut points, wherein the missing information comprises values for undefined statements in the slice that are data dependent or control dependent on statements excluded from the slice based on the cut points.