[Soot-list] The PointsToSets are empty for a simple case(SPARK)

Peng Li lipeng360 at gmail.com
Wed Apr 18 19:43:00 EDT 2007


HI Eric,
Yes, you are correct!! The class is not reachable from the main-class
(I didnot realize that the class is just a test case).

I am wonderng  if spark has any options to force it handle all the
classes no matter if they are dead code? Currently, I just put a new
line "JGradientChooser jgc = new JGradientChooser ()" into the main
class to create a "fake" tie between the main class and
JGradientChooser . Do you have a better way to do that? I did not find
any helpful information from the online soot phase options.

Cheers
Peng

2007/4/17, Eric Bodden <eric.bodden at mail.mcgill.ca>:
> Is the class you are looking at reachable? Soot usually only reports
> empty points-to sets, if it's dead code, i.e. not reachable from your
> main-class.
>
> Eric
>
> On 17/04/07, Peng Li <lipeng360 at gmail.com> wrote:
> > HI
> > I am using SPARK to analyse a simple GUI class. It is very simple,
> > public class JGradientChooser extends JDialog
> > {
> > Color[] colors = { Color.WHITE, Color.BLACK };
> > String[] elements = { "linear", "radial" };
> >
> > JComboBox combo1 = new JComboBox(elements);
> > JComboBox combo2 = new JComboBox(elements1);
> >
> > AlphaColorJButton button_color1 = new AlphaColorJButton(colors[0]);
> > AlphaColorJButton button_color2 = new AlphaColorJButton(colors[1]);
> > //AlphaColorJButton is an GUI class that extends JButton.
> >
> > PreviewPanel preview_panel = new PreviewPanel(button_color1,
> > button_color2,combo1,combo2);
> > }
> >
> > The weird thing is when I use spark to get the PointsToSets for all
> > the parameters of new PreviewPanel(button_color1,
> > button_color2,combo1,combo2). The PointsToSets are all empty...
> >
> > specialinvoke $r43.<at.bestsolution.ext.swing.dialog.PreviewPanel:
> > void <init>(at.bestsolution.ext.swing.AlphaColorJButton,at.bestsolution.ext.swing.AlphaColorJButton,javax.swing.JComboBox,javax.swing.JComboBox)>(r9,
> > r11, r4, r8)
> > r9 PointsToSet size is 0
> > r11 PointsToSet size is 0
> > r4 PointsToSet size is 0
> > r8 PointsToSet size is 0
> >
> > I emailed this mailing-list before to ask why the PointsToSet for  the
> > parameter of AlphaColorJButton button_color1 = new
> > AlphaColorJButton(colors[0]); is empy. Eric replied me the reason is
> > because the way how SPARK handles array element(color[0]). However,
> > for the JGradientChooser, the result does not make sense since the
> > parameters of PreviewPanel() are not array or array elements?
> >
> > I have tried many combinations of the spark options, but all of them
> > did not work.
> > cheers
> > Peng
> >
> > PS.
> > the spark options,
> > opt.put("enabled","true");
> > opt.put("verbose","true");
> > opt.put("ignore-types","false");
> > opt.put("force-gc","false");
> > opt.put("pre-jimplify","false");
> > opt.put("vta","false");
> > opt.put("rta","false");
> > opt.put("field-based","false");
> > opt.put("types-for-sites","false");
> > opt.put("merge-stringbuffer","true");
> > opt.put("string-constants","false");   //
> > opt.put("simulate-natives","true");
> > opt.put("simple-edges-bidirectional","false");
> > opt.put("on-fly-cg","true");     //     true
> > opt.put("simplify-offline","false");
> > opt.put("simplify-sccs","false");
> > opt.put("ignore-types-for-sccs","false");
> > opt.put("propagator","worklist"); //worklist
> > opt.put("set-impl","double");
> > opt.put("double-set-old","hybrid");
> > opt.put("double-set-new","hybrid");
> > opt.put("dump-html","false");
> > opt.put("dump-pag","false");
> > opt.put("dump-solution","false");
> > opt.put("topo-sort","false");
> > opt.put("dump-types","true");
> > opt.put("class-method-var","true");
> > opt.put("dump-answer","false");
> > opt.put("add-tags","false");
> > opt.put("set-mass","false");
> > _______________________________________________
> > Soot-list mailing list
> > Soot-list at sable.mcgill.ca
> > http://mailman.cs.mcgill.ca/mailman/listinfo/soot-list
> >
>
>
> --
> Eric Bodden
> Sable Research Group
> McGill University, Montréal, Canada
>


More information about the Soot-list mailing list