1. A process of organizing program performance data in semantic groups, the performance data including multiple samples, each of the multiple samples having at least one name and at least one associated cost, the process comprising the steps of: submitting a grouping expression to a performance analysis tool, the grouping expression specifying, in a transformation syntax language which supports pattern-matching, a pattern and a replacement for grouping multiple performance data samples, each of the performance data samples having a stack of names which represent nodes located in a directed acyclic graph (DAG) in a computer-readable memory, each of the nodes having an associated cost; and getting from the performance analysis tool a cost accounting created by execution of instructions by a processor in response to the submitting step, the cost accounting showing names of the performance data samples and associated attributed costs, all of the names being consistent with the grouping expression.