A system comprising: at least one processor and a memory; wherein the memory includes at least one module that provides code completion information to a user of a source code editor, the at least one module including instructions that when executed on the at least one processor performs actions that: obtain at least one method signature of a previous method invocation in a source code program preceding a current method invocation in a source code editor, wherein the at least one method signature of the method invocation and the current method invocation are of a same class; utilize a Markov chain model as a machine learning model associated with the same class to predict one or more recommendations of method signatures to complete the current method invocation based on the at least one previous method signature, wherein the Markov chain model includes one or more sequences of method signatures of method invocations, a sequence including transition probabilities representing a likelihood of transitioning from one method invocation having a first method signature to another method invocation in a sequence having a second method signature, wherein the probabilities are derived from sampling usage patterns of overloaded methods in a sampled population of source code programs; obtain at least one of the one or more predicted recommendations of method signatures from the Markov chain model using the at least one method signature of a previous method invocation; and complete the method invocation using at least one of the recommended method signatures. at least one processor and a memory; wherein the memory includes at least one module that provides code completion information to a user of a source code editor, the at least one module including instructions that when executed on the at least one processor performs actions that: obtain at least one method signature of a previous method invocation in a source code program preceding a current method invocation in a source code editor, wherein the at least one method signature of the method invocation and the current method invocation are of a same class; utilize a Markov chain model as a machine learning model associated with the same class to predict one or more recommendations of method signatures to complete the current method invocation based on the at least one previous method signature, wherein the Markov chain model includes one or more sequences of method signatures of method invocations, a sequence including transition probabilities representing a likelihood of transitioning from one method invocation having a first method signature to another method invocation in a sequence having a second method signature, wherein the probabilities are derived from sampling usage patterns of overloaded methods in a sampled population of source code programs; obtain at least one of the one or more predicted recommendations of method signatures from the Markov chain model using the at least one method signature of a previous method invocation; and complete the method invocation using at least one of the recommended method signatures. obtain at least one method signature of a previous method invocation in a source code program preceding a current method invocation in a source code editor, wherein the at least one method signature of the method invocation and the current method invocation are of a same class; utilize a Markov chain model as a machine learning model associated with the same class to predict one or more recommendations of method signatures to complete the current method invocation based on the at least one previous method signature, wherein the Markov chain model includes one or more sequences of method signatures of method invocations, a sequence including transition probabilities representing a likelihood of transitioning from one method invocation having a first method signature to another method invocation in a sequence having a second method signature, wherein the probabilities are derived from sampling usage patterns of overloaded methods in a sampled population of source code programs; obtain at least one of the one or more predicted recommendations of method signatures from the Markov chain model using the at least one method signature of a previous method invocation; and complete the method invocation using at least one of the recommended method signatures.