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 dependences; receiving a set of cut points, wherein the set of cut points comprises one or more variable occurrences or control dependences; generating a 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; and adding missing information to the slice so that the slice is executable.