1. A method for identifying errors in software code in a multi-tenant environment comprising: rebuilding, at a host system, object dependencies from a current heap dump; the host system including a set of one or more processors and a memory system including one or more computer readable media, the host system being part of the multitenant environment; calculating, by the set of one or more processors memory usage statistics of each of a group of objects that contributed to the current heap dump; identifying, by the host system, top consumers of memory by object of the current heap dump; determining, by the host system, information about memory usage for each of the top consumers including at least analyzing how much memory each of the top consumers consumes with respect to how much other top consumers consume; searching, by the host system, prior heap dumps for heap dumps that are similar to the current heap dump; if a prior heap dump is found that is similar, grouping, by the host system, the prior heap dump together with the current heap dump in a set of similar heap dumps, and associating information about the set of heap dumps with the current heap dump; computing, by the host system, a suspect score for each of the top consumers based on information about the set, if a prior similar heap was found for the top consumer, and computing the suspect score for each of the top consumers based on the information about memory usage if no prior similar heap dump was found; and determining, by the host system, whether each of the top consumers is likely to have caused memory issues based on the suspect score.
1. A method for identifying errors in software code in a multi-tenant environment comprising: rebuilding, at a host system, object dependencies from a current heap dump; the host system including a set of one or more processors and a memory system including one or more computer readable media, the host system being part of the multitenant environment; calculating, by the set of one or more processors memory usage statistics of each of a group of objects that contributed to the current heap dump; identifying, by the host system, top consumers of memory by object of the current heap dump; determining, by the host system, information about memory usage for each of the top consumers including at least analyzing how much memory each of the top consumers consumes with respect to how much other top consumers consume; searching, by the host system, prior heap dumps for heap dumps that are similar to the current heap dump; if a prior heap dump is found that is similar, grouping, by the host system, the prior heap dump together with the current heap dump in a set of similar heap dumps, and associating information about the set of heap dumps with the current heap dump; computing, by the host system, a suspect score for each of the top consumers based on information about the set, if a prior similar heap was found for the top consumer, and computing the suspect score for each of the top consumers based on the information about memory usage if no prior similar heap dump was found; and determining, by the host system, whether each of the top consumers is likely to have caused memory issues based on the suspect score. 2. The method of claim 1 , further comprising: building a corpus of data for identifying suspect classes that are responsible for out of memory errors; and identifying a signature of an associated out of memory error based on at least the suspect classes and the memory usage statistics.