[Soot-list] Missing edges in call graph generated by Spark
Cheng Zhang
cheng.zhang.stap at gmail.com
Sun Feb 7 23:00:27 EST 2010
Hi,
I am trying to use Spark (without VTA or RTA enabled) to generate a static
call graph for fop-0.20.5 from DaCapo-2006-10-MR2.
But I find that some edges are missing in the generated call graph. The
caller is method render (in class org.apache.fop.apps.Driver) whose source
code is shown as below:
public synchronized void render(XMLReader parser, InputSource source)
throws FOPException {
parser.setContentHandler(getContentHandler());
try {
parser.parse(source);
} catch (SAXException e) {
if (e.getException() instanceof FOPException) {
throw (FOPException)e.getException();
} else {
throw new FOPException(e);
}
}
catch (IOException e) {
throw new FOPException(e);
}
}
The call graph contains all the possible method calls except for
"parser.parse(source)" and "parser.setContentHandler(getContentHandler())".
By exploring the dumped pag.jar, I found that there are no "reaching blue
nodes" for the corresponding variables.
Here is the command line I use (I also tried -include-all):
-keep-line-number -w -p cg
safe-forname:true,safe-newinstance:true,verbose:true -p cg.spark
enabled:true,verbose:true,dump-html:true -pp -cp
/home/chengzhang/dacapo-2006-10-MR2/for_Soot/fop/:/home/chengzhang/dacapo-2006-10-MR2/for_Soot/fop-deps.jar
-i org. -process-dir /home/chengzhang/dacapo-2006-10-MR2/for_Soot/fop/
-main-class dacapo.fop.Main
Since I am new to Spark, I can't quite understand all the cg.spark options.
Shall I try some other options? Does anyone have some similar experience?
Any comments or hints will be highly appreciated.
Thank you.
Cheng
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.cs.mcgill.ca/pipermail/soot-list/attachments/20100208/a7394955/attachment.html
More information about the Soot-list
mailing list