A method for identifying names of uninformative functions in call-stack
traces is described. The method comprises the steps of obtaining a set of
call-stacks and information indicative of which call-stack traces in the
set match a particular call-stack trace; for each matching call-stack
trace pair, incrementing a false negative counter for each function name
above a first matching function name in a respective call-stack trace
pair; for each non-matching call-stack trace pair, incrementing a false
positive counter for each function name above a first non-matching
function name in a respective call-stack pair; incrementing a frequency
counter for each function name appearing in each of the call-stack
traces; calculating an aggregate value for each of the function names as
a function of respective ones of the false positive counter, the false
negative counter and the frequency counter; and identifying uninformative
ones of the function names based on the respective aggregate values. The
method may be used to diagnose software problems based on known software
problems and is useful in helpdesk and autonomic computing applications.
A system and a computer program product for performing the method are
also described.