[Soot-list] Using Spark to analyse java.awt.color and java.lang.String values

Peng Li lipeng360 at gmail.com
Tue Apr 3 17:20:38 EDT 2007


HI Soot mates
I am using spark to analyse the parameters of a new stmt.
AlphaColorJMenuItem item = new
AlphaColorJMenuItem(IconProvider.getInstance(), name, color);

It is no problem for spark to handle the first paramater of this
constructor call. However, for the second (name) and third(color)
parameters, the PointsToSet seems not very correct.

the type of "name" is String, in my understanding, when got the
PointsToSet of name and then using possibleStringConstants(). I should
be able to get the "pen_color". However,I got a poinstoset of name is
"AllocNode 4 STRING_NODE in method null"...

the type of "color" is Color, I also can not get the Color.BLACK from
the spark analysis



the code which need to be analysed is as following
----
addSetColorAction(submenu,
international.getString("MainWindowToolsSubColorsItemPencolor"),
international.getString("MainWindowToolsSubColorsItemPencolorTooltip"),
"pen_color.png",
international.getString("MainWindowToolsSubColorsItemPencolorMn").charAt(0),
null,
"pen_color",
Color.BLACK,
7);


private void addSetColorAction(
JMenu menu,
String displayedText,
String description,
String icon_name,
int mnemonicKey,
KeyStroke accelerator,
String name,
Color color,
int border_v)
{
AlphaColorJMenuItem item = new
AlphaColorJMenuItem(IconProvider.getInstance(), name, color);
}


---- the opts for spark
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");
		opt.put("simplify-offline","false");
		opt.put("simplify-sccs","false");
		opt.put("ignore-types-for-sccs","false");
		opt.put("propagator","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");


More information about the Soot-list mailing list