17. A system for ranking candidate transformation programs, each program comprising program expressions comprising sub-expressions, to establish a ranked group of one or more transformation programs each of which produces an output string in a user-desired form from input strings entered by a user, consistent with each of one or more user-supplied input-output examples, comprising: one or more computing devices, wherein said computing devices are in communication with each other via a computer network whenever there are multiple computing devices; and a computer program having program modules executed by the one or more computing devices, the one or more computing devices being directed by the program modules of the computer program to, input the set of candidate transformation programs, which were inductively synthesized from the one or more user-supplied input-output examples, each of which produces an output string in a form exhibited by each user-supplied output example from each user-supplied input example; and for each candidate transformation program, for each sub-expression of the candidate transformation program, in an order from smaller to larger, for which a ranking scheme has been established, establish a likelihood score using the ranking scheme established for that sub-expression, and compute an overall ranking score for the candidate transformation program from the sub-expression likelihood scores established for that candidate transformation program.
20. The system of claim 17 , further comprising a program module for selecting a prescribed number of the top ranking candidate transformation programs as said ranked group of one or more transformation programs.