Ticket #6 (closed defect: worksforme)

Opened 4 months ago

Last modified 4 months ago

infeasible edge in dynamic call graph for dacapo antlr

Reported by: ManuSridharan Assigned to: jwloka
Priority: major Milestone: M2
Component: dila.data Version: 0.0.2
Keywords: Cc:

Description

I ran antlr from the dacapo suite (following instructions from Ticket 2) with the following command-line:

java -Xmx1000M -cp dacapo-2006-10-MR2.jar:/Users/manu/workspaces/dilaWorkspace/dila.javaagent/lib/agent.jar dila.wrapper.Dila Harness TestsRun.cfg -s small antlr

Looking at the call graph output, I see the following edge:

    Lantlr/ANTLRParser;.alternative()V -->[Lantlr/ANTLRParser;] static:Lantlr/ANTLRParser;.alternative()V/dynamic:Lan
tlr/ANTLRParser;.alternative()V

However, looking at the bytecodes for alternative(), there is no call site that could possibly lead to a recursive call, so this edge must be erroneous.

Change History

04/20/08 23:01:09 changed by jwloka

  • status changed from new to closed.
  • resolution set to worksforme.

Dila distinguishes target and external classes. A complete call graph is built for target classes only. All other classes are considered to be external, which means Dila takes only care of calls into the libraries and of callbacks from libraries. It seems that this bug is caused by a misconfiguration. If you add TargetPackages?=antlr. to your TestRun?.cfg, you should get the correct call graphs for the ANTLR benchmarks.