1
1
Dear Soot Users,
2
2
3
- We are pleased to announce that Soot version 2.2.5 is now available
3
+ We are pleased to announce that Soot version 2.3.0 is now available
4
4
at: http://www.sable.mcgill.ca/soot/
5
5
6
6
This release contains the following additions and improvements:
7
7
8
- 1. Soot now has an option to prepend the classpath given on the
9
- command line to the default classpath. See the documentation on
10
- the option -pp for details.
11
-
12
- 2. Included Manu Sridharan's demand-driven points-to analysis. See
13
- http://doi.acm.org/10.1145/1133255.1134027 for details. It can be
14
- activated via: -p cg.spark cs-demand:true
15
-
16
- 3. Added local must-alias and not-may alias analyses. See package
17
- soot.jimple.toolkits.pointer.
18
-
19
- 4. Updated NullnessAnalysis for better performance. Thanks to Julian
20
- Tibble!
21
-
22
- 5. The flow analysis framework is now generic. One can explicitly
23
- declare the type of the abstraction and that is used for the fixed
24
- point iteration and the node type for the graph that is iterated over.
25
- This avoids a lot of casting one had to do in the past.
26
-
27
- 6. Between versions 2.2.3 and 2.2.4, a bug was introduced to Spark:
28
- PointsToSetInternal now implements equals/hashCode which confused the
29
- propagator algorithm because it was relying on comparison by identity.
30
- This lead to a five-fold slowdown on the points-to analyses and
31
- potentially wrong results. The bug has now been fixed by modifying
32
- the propagator algorithm. Original speed was restored.
33
-
34
- 7. Richard Halpert's lock allocator as published at PACT'07, see:
35
- http://www.sable.mcgill.ca/publications/papers/#pact2007
36
- It is accessible via the wjtn (whole-jimple transaction) pack.
37
-
38
- Due to the use of generics this version of Soot as well as all
39
- upcoming versions require to run on a JVM supporting Java version 5 or
40
- higher.
8
+ 1. Integrated new JastAdd-based frontend with support for Java 5
9
+ source code. Thanks to Torbjorn Ekman for contributing his
10
+ frontend and his implementation of Java2Jimple!
11
+
12
+ 2. At the very least if -validate is on, Soot now checks that @this
13
+ is only assigned in the first statement of an instance method.
14
+ This has always been an implicit assumption for Jimple code
15
+ but up until now was not enforced.
16
+
17
+ 3. Integrated full support for preserving annotations in Jimple
18
+ and writing them to bytecode. SOURCE level annotations are
19
+ preserved if code is read from source and the flag
20
+ -p jb preserve-source-annotations is given. (does not hold for
21
+ package and local variable annotations) SOURCE level annotations
22
+ are not written into bytecode by Soot.
23
+ Annotations can easily be added to SootClass, SootMethod and
24
+ SootField instances using the utility class
25
+ soot.jimple.toolkits.annotation.j5anno.AnnotationGenerator.
26
+ (Thanks to Will Benton!)
27
+
28
+ 4. Java 5 Annotations for fields, classes, parameters and methods
29
+ are now fully preserved in bytecode. Jasmin was changed to
30
+ implement this support.
31
+
32
+ 5. Ben Bellamy contributed a new implementation for the type assigner.
33
+ This is to be published under the title 'Efficient Local Type
34
+ Inference' at OOPSLA '08. The new type assigner is usually
35
+ faster (it is applied when processing bytecode), and sometimes
36
+ more precise. In particular it should always infer the most
37
+ narrow type possible.
38
+
39
+ Also we incorporated fixes to numerous bugs. Thanks for reporting bugs
40
+ and/or prividing fixes!
41
+
42
+ See http://www.sable.mcgill.ca/soot/CHANGES for details.
41
43
42
44
As of version 2.2.0 the Soot bugzilla is available at:
43
45
http://svn.sable.mcgill.ca/bugzilla/. We encourage you to add any Soot
@@ -51,4 +53,4 @@ like to know what's going on look there.
51
53
Regards,
52
54
53
55
Eric Bodden
54
- Sable Research Group, McGill University
56
+ Sable Research Group, McGill University
0 commit comments