Patent ID: 7650594

Claim:
A computer-readable memory medium storing program instructions of a graphical programming development program, wherein the program instructions are executable to: provide a shell program that defines one or more input or output parameters required by a programming interface for a user-defined test; receive user input specifying a first user-defined test program for programmatically analyzing a graphical program, wherein the first user-defined test program uses the defined one or more input or output parameters; incorporate the first user-defined test program into the shell program, wherein the shell program allows invocation of the first user-defined test program by the graphical program development program; display a graphical user interface indicating a plurality of tests available for programmatically analyzing a graphical program, wherein the plurality of tests includes one or more user-defined test programs previously defined by user input to the graphical programming development program before the graphical user interface is displayed, wherein each user-defined test program includes program code executable to programmatically analyze the graphical program, wherein the graphical program includes a first plurality of interconnected nodes visually indicating functionality of the graphical program, wherein the first plurality of interconnected nodes includes one or more sub-program nodes, wherein each respective sub-program node represents a respective graphical sub-program of the graphical program, wherein each respective graphical sub-program includes a respective plurality of interconnected nodes that visually indicate functionality performed by the respective graphical sub-program; receive user input to the graphical user interface selecting, from the one or more user-defined test programs, the first user-defined test program to perform on the graphical program; and in response to the user input: perform the first user-defined test program on the first plurality of interconnected nodes of the graphical program, wherein the first user-defined test program executes to programmatically analyze the first plurality of interconnected nodes to discover a first one or more problems in the first plurality of interconnected nodes; and for each respective graphical sub-program, perform the first user-defined test program on the respective plurality of interconnected nodes of the respective graphical sub-program, wherein the first user-defined test program executes to programmatically analyze the respective plurality of interconnected nodes to discover a respective one or more problems in the respective plurality of interconnected nodes.