1. A computer-implemented process for ranking candidate transformation programs, each 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: using a computer to perform the following process actions: inputting 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; 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, establishing a likelihood score using the ranking scheme established for that sub-expression, and computing an overall ranking score for the candidate transformation program from the sub-expression likelihood scores established for that candidate transformation program.
2. The process of claim 1 , wherein a sub-expression is either a regular expression or a position expression or an atomic expression or a concatenate expression, and wherein said ranking schemes are established for ranking each of said regular expressions, position expressions, atomic expressions, and concatenate expressions, in that order.