A system (602, 604), comprising: at least one processor (608, 636) and a memory (616, 642); at least one module (620, 622, 624, 626, 628, 630, 632, 650) containing instructions that when executed by the at least one processor perform actions that: generate a candidate variable list of candidates, a candidate including variables and/or methods in a source code program likely to fit as a parameter in a select parameter position of a current method invocation; calculate a score for each candidate, the score based on a weighted sum of a scope score, an edit distance score, and a declaration proximity score, the weighted sum indicative of a probability of a candidate likely to fit as the select parameter in the current method invocation, wherein the scope score for each candidate is based on a scope attribute assigned to each candidate and a probability assigned to the scope attribute, wherein the scope attribute is selected from one of method, property, local, field, literal, and parameter, wherein the edit distance score measures a similarity of a name of a select variable and/or method to a name associated with the select parameter, and wherein the declaration proximity score represents a proximity of a location of a declaration of a candidate in the source code program to a location in the source code program of the current method invocation; and recommend at least one of the candidates to fit as the select parameter in the current method invocation based on a ranking of the candidates according to their calculated score. at least one processor (608, 636) and a memory (616, 642); at least one module (620, 622, 624, 626, 628, 630, 632, 650) containing instructions that when executed by the at least one processor perform actions that: generate a candidate variable list of candidates, a candidate including variables and/or methods in a source code program likely to fit as a parameter in a select parameter position of a current method invocation; calculate a score for each candidate, the score based on a weighted sum of a scope score, an edit distance score, and a declaration proximity score, the weighted sum indicative of a probability of a candidate likely to fit as the select parameter in the current method invocation, wherein the scope score for each candidate is based on a scope attribute assigned to each candidate and a probability assigned to the scope attribute, wherein the scope attribute is selected from one of method, property, local, field, literal, and parameter, wherein the edit distance score measures a similarity of a name of a select variable and/or method to a name associated with the select parameter, and wherein the declaration proximity score represents a proximity of a location of a declaration of a candidate in the source code program to a location in the source code program of the current method invocation; and recommend at least one of the candidates to fit as the select parameter in the current method invocation based on a ranking of the candidates according to their calculated score. generate a candidate variable list of candidates, a candidate including variables and/or methods in a source code program likely to fit as a parameter in a select parameter position of a current method invocation; calculate a score for each candidate, the score based on a weighted sum of a scope score, an edit distance score, and a declaration proximity score, the weighted sum indicative of a probability of a candidate likely to fit as the select parameter in the current method invocation, wherein the scope score for each candidate is based on a scope attribute assigned to each candidate and a probability assigned to the scope attribute, wherein the scope attribute is selected from one of method, property, local, field, literal, and parameter, wherein the edit distance score measures a similarity of a name of a select variable and/or method to a name associated with the select parameter, and wherein the declaration proximity score represents a proximity of a location of a declaration of a candidate in the source code program to a location in the source code program of the current method invocation; and recommend at least one of the candidates to fit as the select parameter in the current method invocation based on a ranking of the candidates according to their calculated score.