Patent ID: 8250539
Filing Date: 2012-08-21
Classification: G06F

Abstract:
1. A method of detecting a memory leak causing portion generated in executing a program described in a programming language capable of tracking a reference relationship among a plurality of data pieces stored in a memory of a computer, where, regarding the reference relationship among the plurality of data pieces, a data piece referencing another data piece is higher order data, and said another data piece is lower order data, said method carried out by a computer system and comprising: a first relationship grasping operation of grasping the presence or absence of the reference relationship among a plurality of data pieces stored in the memory; a second relationship grasping operation of grasping the presence or absence of the reference relationship among the plurality of data pieces stored in the memory, at a time after the first relationship grasping operation; an increased data extracting operation of extracting one or more data pieces of increased data which are not present in the plurality of data pieces whose reference relationship is grasped by the first relationship grasping operation, from the plurality of data pieces whose reference relationship is grasped at the second relationship grasping operation; a weighting operation of attaching a weight to each data piece of said one or more data pieces of the increased data extracted at the increased data extracting operation, in accordance with data sizes of respective increased data, successively propagating and accumulating weights backwards along paths of reference from lower order data pieces of a destination of reference to higher order data pieces of a source reference so that the weights of said one or more data pieces of the increased data are propagated and accumulated as accumulated weights onto data pieces present in the plurality of data pieces whose reference relationship is grasped by the first relationship grasping operation, where the accumulated weights propagated onto the plurality of data pieces whose reference relationship is grasped by the first relationship grasping operation, are taken to represent respective data leak scores of respective data pieces, indicating degrees of possibility of respective data pieces being a source of the memory leak; and an outputting operation of outputting information of one or more respective data pieces having a high data leak, to indicate a possible source of the memory leak.