Patent ID: 8006229
Filing Date: 2011-08-23
Classification: G06F

Abstract:
1. A program product embodied as a program stored on non-transitory computer-readable storage media, said program causing a computer to implement the operations of: generating information on data dependence between statements and variables in a program and storing in storing means, with respect to each of a plurality of statements of said program, the information on data dependence between the respective statement and one or more respective variables; accepting specifying-information specifying a first statement and a last statement of a specific program fragment forming said program, said first statement and last statement defining a scope of said program fragment, said program fragment comprising at least one and fewer than all statements of said program; assigning a respective in-scope flag value to each said statement of said program, said in-scope flag value being set for all statements within said program fragment, and being not set for all statements lying outside said specific program fragment; extracting interface information on an interface of said program fragment specified by said operation of accepting specifying-information on the basis of said information on data dependence stored in said storing means, wherein said operation of extracting interface information extracts as said interface information input variables and output variables of said program fragment, said operation of extracting interface information comprising: (a) identifying a first set of statements that consists of statements that determine the value of variables contained in said program fragment; (b) determining whether each statement of said identified first set of statements is contained in said program fragment using the respective in-scope flag assigned to each statement of said identified first set of statements; (c) extracting said variables as said input variables if it is determined that any one of said first set of statements is not contained in said program fragment; (d) identifying a second set of statements that consists of statements that use the value of variables contained in said program fragment; (e) determining whether each statement of said identified second set of statements is contained in said program fragment using the respective in-scope flag assigned to each statement of said identified first set of statements; and (f) extracting said variables as output variables if it is determined that any one of said second set of statements is not contained in said program fragment; and outputting said extracted interface information.