[Soot-list] question to PointsToSet
Jochen Huck
jochen.huck at student.kit.edu
Fri Feb 18 09:01:56 EST 2011
Hi,
I'm running SPARK with default options (-p cg.spark enable). For a
simple array element assignment (temp$1[temp$2] = temp$3) I get a bunch
of reaching objects. I would like to reduce these but I don't know where
to start. The assigned array <p> is not local but a field that belongs
to a class <B> that extends another class <A>. <A> and <B> both declare
a field named <p>. The situation is even more complex...but I don't know
if that affects my problem
class A {
int[] p;
}
class B {
int[] p;
foo() {
p[i] = ...
}
}
The reaching objects for <p> look like:
[Field: ARRAY_ELEMENTS_NODEAllocNode 27 Pair
AbstractObject,Any_subtype_of_java.security.PrivilegedActionException in
method null,AllocNode 175 newarray (byte)[16] in method
<sun.net.util.IPAddressUtil: byte[]
textToNumericFormatV6(java.lang.String)>,AllocNode 176 newarray
(byte)[4] in method <sun.net.util.IPAddressUtil: byte[]
textToNumericFormatV4(java.lang.String)>,AllocNode 191 newarray
(byte)[4] in method <sun.net.util.IPAddressUtil: byte[]
convertFromIPv4MappedAddress(byte[])>,AllocNode 558 Pair
AbstractObject,Any_subtype_of_java.lang.Thread in method null,AllocNode
986 Pair AbstractObject,Any_subtype_of_java.lang.Object in method
null,AllocNode 1709 newarray (byte)[$i1] in method
<java.util.jar.JarFile: byte[]
getBytes(java.util.zip.ZipEntry)>,AllocNode 1872 newarray (byte)[$i0] in
method <java.io.ByteArrayOutputStream: byte[] toByteArray()>,AllocNode
1984 newarray (byte)[1] in method
<sun.security.util.DerIndefLenConverter: byte[]
getLengthBytes(int)>,AllocNode 1985 newarray (byte)[2] in method
<sun.security.util.DerIndefLenConverter: byte[]
getLengthBytes(int)>,AllocNode 1986 newarray (byte)[3] in method
<sun.security.util.DerIndefLenConverter: byte[]
getLengthBytes(int)>,AllocNode 1987 newarray (byte)[4] in method
<sun.security.util.DerIndefLenConverter: byte[]
getLengthBytes(int)>,AllocNode 1988 newarray (byte)[5] in method
<sun.security.util.DerIndefLenConverter: byte[]
getLengthBytes(int)>,AllocNode 2234 newarray (byte)[l3] in method
<sun.security.util.BitArray: void <init>(int,byte[])>,AllocNode 2481
newarray (byte)[4] in method <java.net.Inet4Address: byte[]
getAddress()>,AllocNode 2486 newarray (byte)[$i0] in method
<sun.security.util.BitArray: void <init>(int)>,AllocNode 2878 newarray
(byte)[l4] in method <sun.util.calendar.ZoneInfoFile$1: java.lang.Object
run()>,AllocNode 3154 Pair
AbstractObject,Any_subtype_of_java.lang.ClassLoader in method
null,AllocNode 3734 newarray (byte)[temp$2] in method
<ij.process.ColorProcessor: ij.process.ImageProcessor
filterRGB(int,double,double)>,AllocNode 3735 newarray (byte)[temp$5] in
method <ij.process.ColorProcessor: ij.process.ImageProcessor
filterRGB(int,double,double)>,AllocNode 3736 newarray (byte)[temp$8] in
method <ij.process.ColorProcessor: ij.process.ImageProcessor
filterRGB(int,double,double)>,AllocNode 3749 newarray (byte)[temp$1] in
method <ij.process.ByteProcessor3: ij.process.ImageProcessor
createProcessor(int,int)>,AllocNode 3835 newarray (byte)[temp$6] in
method <ij.process.ByteProcessor3: java.lang.Object
getPixelsCopy()>,AllocNode 3851 newarray (byte)[temp$1] in method
<ij.process.ByteProcessor2: ij.process.ImageProcessor
createProcessor(int,int)>,AllocNode 3859 newarray (byte)[temp$6] in
method <ij.process.ByteProcessor2: java.lang.Object
getPixelsCopy()>,AllocNode 3869 newarray (byte)[temp$1] in method
<ij.process.ByteProcessor1: ij.process.ImageProcessor
createProcessor(int,int)>,AllocNode 3878 newarray (byte)[temp$6] in
method <ij.process.ByteProcessor1: java.lang.Object
getPixelsCopy()>,AllocNode 3944 newarray (byte)[l1] in method
<sun.security.util.DerInputBuffer: byte[] toByteArray()>,AllocNode 3956
newarray (byte)[$i2] in method <sun.security.util.DerValue: byte[]
getOctetString()>,AllocNode 3960 newarray (byte)[l1] in method
<sun.security.util.DerInputStream: byte[] getOctetString()>,AllocNode
3962 newarray (byte)[$i0] in method <sun.security.util.DerValue: byte[]
append(byte[],byte[])>,AllocNode 4286 newarray (byte)[$i0] in method
<sun.security.util.BitArray: void <init>(boolean[])>,AllocNode 4912
newarray (byte)[4] in method <sun.security.x509.IPAddressName:
java.lang.String getName()>,AllocNode 4913 newarray (byte)[4] in method
<sun.security.x509.IPAddressName: java.lang.String getName()>,AllocNode
4914 newarray (byte)[16] in method <sun.security.x509.IPAddressName:
java.lang.String getName()>,AllocNode 4915 newarray (byte)[16] in method
<sun.security.x509.IPAddressName: java.lang.String getName()>,AllocNode
8267 newarray (byte)[$i0] in method <java.awt.geom.GeneralPath: void
needRoom(int,int,boolean)>,AllocNode 8268 newarray (byte)[l2] in method
<java.awt.geom.GeneralPath: void <init>(int,int,int)>,AllocNode 8542
newarray (byte)[temp$0] in method <ij.process.ByteProcessor: void
<init>(int,int)>,AllocNode 8672 newarray (byte)[l1] in method
<java.awt.image.DataBufferByte: void <init>(int)>,AllocNode 8706
newarray (byte)[65536] in method <java.awt.image.ColorModel: byte[]
getGray16TosRGB8LUT(java.awt.color.ICC_ColorSpace)>,AllocNode 8713
newarray (byte)[65536] in method <java.awt.image.ColorModel: byte[]
getLinearGray16ToOtherGray8LUT(java.awt.color.ICC_ColorSpace)>,AllocNode
8715 newarray (byte)[256] in method <java.awt.image.ColorModel: byte[]
getGray8TosRGB8LUT(java.awt.color.ICC_ColorSpace)>,AllocNode 8724
newarray (byte)[256] in method <java.awt.image.ColorModel: byte[]
getLinearRGB8TosRGB8LUT()>,AllocNode 8780 newarray (byte)[l1] in method
<java.awt.image.DataBufferByte: void <init>(int,int)>,AllocNode 8971
newarray (byte)[temp$9] in method <ij.io.RandomAccessStream: long
readUntil(long)>,AllocNode 10806 newarray (byte)[temp$12] in method
<ij.process.TypeConverter: ij.process.ByteProcessor
convertRGBToByte()>,AllocNode 10813 newarray (byte)[size] in method
<ij.process.TypeConverter: ij.process.ByteProcessor
convertShortToByte()>,AllocNode 10826 newarray (byte)[temp$7] in method
<ij.process.ByteProcessor: void <init>(java.awt.Image)>,AllocNode 10956
newarray (byte)[size] in method <ij.CompositeImage: ij.ImageStack
getRGBStack(ij.ImagePlus)>,AllocNode 10957 newarray (byte)[size] in
method <ij.CompositeImage: ij.ImageStack
getRGBStack(ij.ImagePlus)>,AllocNode 10958 newarray (byte)[size] in
method <ij.CompositeImage: ij.ImageStack
getRGBStack(ij.ImagePlus)>,AllocNode 11468 newarray (byte)[temp$5] in
method <ij.gui.Plot: void createImage()>,AllocNode 11475 newarray
(byte)[temp$1] in method <ij.process.ByteProcessor:
ij.process.ImageProcessor createProcessor(int,int)>,AllocNode 11783
newarray (byte)[temp$1] in method <ij.gui.NewImage: ij.ImagePlus
createByteImage(java.lang.String,int,int,int,int)>,AllocNode 11786
newarray (byte)[temp$35] in method <ij.gui.NewImage: boolean
createStack(ij.ImagePlus,ij.process.ImageProcessor,int,int,int)>,AllocNode
11825 newarray (byte)[temp$3] in method <ij.io.ImageReader: byte[]
read8bitImage(java.io.InputStream)>,AllocNode 11839 newarray
(byte)[temp$9] in method <ij.io.ImageReader: byte[]
read1bitImage(java.io.InputStream)>,AllocNode 11874 newarray
(byte)[temp$0] in method <ij.io.ImageReader: byte[]
readCompressed8bitImage(java.io.InputStream)>,AllocNode 12166 newarray
(byte)[size] in method <ij.process.ShortProcessor: byte[]
create8BitImage()>,AllocNode 12228 newarray (byte)[$i0] in method
<java.awt.image.PixelGrabber: void
setPixels(int,int,int,int,java.awt.image.ColorModel,byte[],int,int)>,AllocNode
13166 newarray (byte)[temp$7] in method
<ij.plugin.frame.ContrastAdjuster: void
plotHistogram(ij.ImagePlus)>,AllocNode 13167 newarray (byte)[temp$8] in
method <ij.plugin.frame.ContrastAdjuster: void
plotHistogram(ij.ImagePlus)>,AllocNode 13168 newarray (byte)[temp$9] in
method <ij.plugin.frame.ContrastAdjuster: void
plotHistogram(ij.ImagePlus)>,AllocNode 13466 newarray (byte)[l1] in
method <com.sun.imageio.plugins.png.PNGImageReader: void
readMetadata()>,AllocNode 13471 newarray (byte)[l9] in method
<com.sun.imageio.plugins.png.PNGImageReader: java.util.Iterator
getImageTypes(int)>,AllocNode 13472 newarray (byte)[l9] in method
<com.sun.imageio.plugins.png.PNGImageReader: java.util.Iterator
getImageTypes(int)>,AllocNode 13473 newarray (byte)[l9] in method
<com.sun.imageio.plugins.png.PNGImageReader: java.util.Iterator
getImageTypes(int)>,AllocNode 13474 newarray (byte)[$i0] in method
<com.sun.imageio.plugins.png.PNGImageReader: java.util.Iterator
getImageTypes(int)>,AllocNode 13484 newarray (byte)[l5] in method
<javax.imageio.ImageTypeSpecifier: void <clinit>()>,AllocNode 13485
newarray (byte)[l5] in method <javax.imageio.ImageTypeSpecifier: void
<clinit>()>,AllocNode 13486 newarray (byte)[l5] in method
<javax.imageio.ImageTypeSpecifier: void <clinit>()>,AllocNode 13487
newarray (byte)[l5] in method <javax.imageio.ImageTypeSpecifier: void
<clinit>()>,AllocNode 13618 newarray (byte)[l4] in method
<com.sun.imageio.plugins.png.PNGImageReader: void
parse_PLTE_chunk(int)>,AllocNode 13619 newarray (byte)[l4] in method
<com.sun.imageio.plugins.png.PNGImageReader: void
parse_PLTE_chunk(int)>,AllocNode 13620 newarray (byte)[l4] in method
<com.sun.imageio.plugins.png.PNGImageReader: void
parse_PLTE_chunk(int)>,AllocNode 13635 newarray (byte)[l4] in method
<com.sun.imageio.plugins.png.PNGImageReader: void
parse_tRNS_chunk(int)>,AllocNode 13763 newarray (byte)[8] in method
<com.sun.imageio.plugins.gif.GIFImageReader: void
readMetadata()>,AllocNode 13764 newarray (byte)[3] in method
<com.sun.imageio.plugins.gif.GIFImageReader: void
readMetadata()>,AllocNode 13774 newarray (byte)[l7] in method
<com.sun.imageio.plugins.gif.GIFImageReader: java.util.Iterator
getImageTypes(int)>,AllocNode 13775 newarray (byte)[l7] in method
<com.sun.imageio.plugins.gif.GIFImageReader: java.util.Iterator
getImageTypes(int)>,AllocNode 13776 newarray (byte)[l7] in method
<com.sun.imageio.plugins.gif.GIFImageReader: java.util.Iterator
getImageTypes(int)>,AllocNode 13777 newarray (byte)[l7] in method
<com.sun.imageio.plugins.gif.GIFImageReader: java.util.Iterator
getImageTypes(int)>,AllocNode 13782 newarray (byte)[0] in method
<com.sun.imageio.plugins.gif.GIFImageReader: byte[]
concatenateBlocks()>,AllocNode 13783 newarray (byte)[$i0] in method
<com.sun.imageio.plugins.gif.GIFImageReader: byte[]
concatenateBlocks()>,AllocNode 13858 newarray (byte)[$i0] in method
<com.sun.imageio.plugins.jpeg.MarkerSegment: void
loadData(com.sun.imageio.plugins.jpeg.JPEGBuffer)>,AllocNode 13864
newarray (byte)[$i0] in method
<com.sun.imageio.plugins.jpeg.JFIFMarkerSegment$ICCMarkerSegment: void
<init>(com.sun.imageio.plugins.jpeg.JFIFMarkerSegment,com.s...
Is anyone familiar with this stuff?
Thanks, Jochen
More information about the Soot-list
mailing list