1
1
Dear Soot Users,
2
2
3
- We are pleased to announce that Soot version 2.3 .0 is now available
3
+ We are pleased to announce that Soot version 2.4 .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. 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.
8
+ 1. Hossein Sadat-Mohtasham's implementation of program dependency graphs
9
+
10
+ 2. Support for creating sound call graphs even for programs that use
11
+ reflection, custom class loaders and runtime-generated classes.
12
+ For this purpose, Soot uses TamiFlex to create a runtime log file that
13
+ contains information about how refleciton is being used. Spark then
14
+ uses the log file during call-graph and points-to graph construction.
15
+ See http://code.google.com/p/tamiflex/wiki/DaCapoAndSoot for details.
38
16
39
17
Also we incorporated fixes to numerous bugs. Thanks for reporting bugs
40
- and/or prividing fixes!
18
+ and/or providing fixes!
41
19
42
20
See http://www.sable.mcgill.ca/soot/CHANGES for details.
43
21
@@ -53,4 +31,4 @@ like to know what's going on look there.
53
31
Regards,
54
32
55
33
Eric Bodden
56
- Sable Research Group, McGill University
34
+ Software Technology Group, Technische Universit�t Darmstadt
0 commit comments