forked from dkimitsa/soot
-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.html
264 lines (264 loc) · 10.3 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type"
content="text/html; charset=ISO-8859-1">
<title>Soot: a Java Optimization Framework</title>
</head>
<body
style="color: rgb(0, 0, 0); background-color: rgb(243, 243, 243); background-image: url(background6.gif);"
link="#0000cc">
<table border="0" cellpadding="0" cellspacing="3">
<tbody>
<tr>
<!--LeftHandTable--> <td rowspace="1" align="left" valign="top"
width="160">
<p><font face="helvetica,arial" size="+1"><b>Soot Home</b></font>
</p>
<p><a href="#introduction"><font face="helvetica,arial" size="+0">Introduction</font></a><br>
<a href="#obtaining"><font face="helvetica,arial" size="+0">Obtaining
Soot</font></a><br>
<a href="#resources"><font face="helvetica,arial" size="+0">Resources</font></a><br>
<a href="#credits"><font face="helvetica,arial" size="+0">Credits</font></a><br>
<a href="#users"><font face="helvetica,arial" size="+0">Soot Users</font></a><br>
</p>
<p><a href="http://www.sable.mcgill.ca">Sable Home</a> </p>
</td>
<!--ActualContents--> <td align="left" valign="top">
<center><a name="top"><b><font face="helvetica,arial" size="+2">Soot:
a
Java
Optimization
Framework</font></b></a></center>
<br>
<center> <a name="top"><b><font face="helvetica,arial" size="+1">Latest
version:
2.4.0
(March,
2010)</font></b></a></center>
<br>
<br>
Need help using Soot? See the Soot <a href="tutorial/index.html">
tutorials</a>.
Or have a loot at Arni Einarsson's and Janus Dam Nielsen's marvelous <a
href="http://www.brics.dk/SootGuide/">Soot Survivor's guide</a>! <br>
<br>
<!--Introduction--> <a name="introduction"> </a>
<table width="100%">
<tbody>
<tr>
<td align="left" width="97%"><b><font face="helvetica,arial"
size="+1">Introduction</font></b></td>
<td align="left" width="3%"><font size="-2"><a href="#top">top</a></font></td>
</tr>
</tbody>
</table>
<blockquote>Soot is a Java optimization framework. It provides
four intermediate
representations for analyzing and transforming Java bytecode:
<ol>
<li><b>Baf</b>: a streamlined representation of bytecode
which is simple to
manipulate. </li>
<li><b>Jimple</b>: a typed 3-address intermediate
representation suitable for
optimization. </li>
<li><b>Shimple</b>: an SSA variation of Jimple. </li>
<li><b>Grimp</b>: an aggregated version of Jimple suitable
for decompilation and
code inspection. </li>
</ol>
Soot can be used as a stand alone tool to optimize or inspect class
files, as well
as a framework to develop optimizations or transformations on Java
bytecode.
<p>Soot is free software and is licensed under the <a
href="http://www.gnu.org/copyleft/lesser.html">GNU Lesser General
Public
License</a>. </p>
</blockquote>
<blockquote>
<h4>Release Status:</h4>
<p>The Soot Framework is an evolving research project. Our goal
is to produce a
robust, easy-to-use research framework for optimizing Java bytecode. </p>
<p>The latest release is version 2.4.0. The new features are
described in detail here: <a href="CHANGES">new features</a>. </p>
</blockquote>
<blockquote>
<h4>Eclipse Plugin:</h4>
Since version 2.0, Soot includes a <a href="eclipse/index.html">plugin</a>
that makes it
possible to use Soot from <a href="http://www.eclipse.org">Eclipse</a>.
We
have
a
separate <a href="eclipse/index.html">web page with
instructions for
installing and using the plugin.</a> <br>
<p> You may also want to develop Soot within the Eclipse
environment. Instructions for setting up Soot within Eclipse can be
found here: <a href="soot_in_eclipse_howto.html">Setting Up Soot in
Eclipse</a>.</p>
<p> If you want to develop with Soot in Eclipse and use SVN
here is another set of instructios <a
href="howto_soot_in_eclipse_with_svn.htm">Setting Up Soot in
Eclipse using SVN</a>.<br>
</p>
<p>This is the plugins's update site:<br>
</p>
<pre style="font-weight: bold;">http://www.sable.mcgill.ca/soot/eclipse/updates/</pre>
</blockquote>
<a name="obtaining"> </a>
<table width="100%">
<tbody>
<tr>
<td align="left" width="97%"><b><font face="helvetica,arial"
size="+1">Obtaining Soot</font></b></td>
<td align="left" width="3%"><font size="-2"><a href="#top">top</a></font></td>
</tr>
</tbody>
</table>
<blockquote>
<h4>Downloads:</h4>
Get Soot from our download page a <a href="soot_download.html">Soot
Downloads</a>.
<p>You can simply run Soot using the following command:</p>
<p><tt>java -jar soot-2.4.0.jar </tt></p>
<p>To get help on the command-line options, use:</p>
<p><tt>java -jar soot-2.4.0.jar -help<br>
<br>
</tt>The <a href="tutorial/usage">usage document</a> gives
more information about these options.<br>
</p>
<p>Note that Soot requires at least JDK 1.5.
The Eclipse plugin requires at least JDK 1.5.
Soot now has virtually complete support for JDK 1.5.
(Missing is support for package-level and local-variable annotations.)</p>
</blockquote>
<blockquote>
<h4>Repository Access:</h4>
<p>We are using <a href="http://subversion.tigris.org/">Subversion</a>
for
revision control.</p>
<p>With a Subversion client, you can obtain a copy of the
development version of Soot, as well as any old versions. To obtain the
latest development version of Soot, use one of the following commands:<br>
<tt>svn checkout https://svn.sable.mcgill.ca/soot/soot/trunk
soot-dev</tt><br>
<tt>svn export https://svn.sable.mcgill.ca/soot/soot/trunk
soot-dev</tt></p>
<p>The <tt>checkout</tt> version records additional
information required
to update your checked out version of Soot with the repository at a
later time (with the <tt>svn update</tt> command). The <tt>export</tt>
version provides a "clean" copy of only the Soot files themselves.</p>
<p>In order to compile Soot from source, you will also need a
copy of
the Jasmin and Polyglot classes, available from the <a
href="soot_download.html">download page</a>.</p>
<p>From time to time we update Jasmin. If something Jasmin
related seems broken you may need to get the latest Jasmin from the
subversion repository:<br>
<tt>svn checkout https://svn.sable.mcgill.ca/soot/jasmin/trunk
jasmin-dev</tt><br>
<tt>svn export https://svn.sable.mcgill.ca/soot/jasmin/trunk
jasmin-dev</tt></p>
<p>You can also browse our latest version of the Soot
repository, as well as a ViewCVS history, using
just a web browser. For further instructions, please see <a
href="http://svn.sable.mcgill.ca/">http://svn.sable.mcgill.ca/</a>.</p>
</blockquote>
<blockquote>
<h4>Nightly Builds:</h4>
<p>With release 2.2.1 we started to build Soot and Jasmin every
night. To get the latest nightly build see: <a
href="http://plg.uwaterloo.ca/%7Eolhotak/build/">Nightly Builds</a>. </p>
</blockquote>
<!--Documentation--> <a name="resources"> </a>
<table width="100%">
<tbody>
<tr>
<td align="left" width="97%"><b><font face="helvetica,arial"
size="+1">Resources</font></b></td>
<td align="left" width="3%"><font size="-2"><a href="#top">top</a></font></td>
</tr>
</tbody>
</table>
<blockquote>
<h4>Documentation:</h4>
We have developed a number of documents describing Soot. Your main
current sources of information are:
<ul>
<li>Our <a href="http://www.sable.mcgill.ca/publications">publication
page</a> has several conference papers describing Soot. </li>
<li>A set of <a href="tutorial/">tutorials</a> describing
Soot, both as a Java application optimizer and
as a compiler framework. </li>
<li><a href="doc/index.html">The Soot API.</a> Most of the
functionality is self-explanatory. This API is included in the Soot
distribution. </li>
<li>The Soot source itself. It is full of examples on how to
use the API. </li>
</ul>
</blockquote>
<blockquote>
<h4>Mailing List:</h4>
<p>If you have questions about Soot use the <a
href="http://www.sable.mcgill.ca/mailman/listinfo/soot-list/">Soot
Mailing List</a>. <b><i>Note:</i></b> You must subscribe before
posting and you must
post from the same address with which you used to subscribe.</p>
<p>You can also <a
href="http://www.sable.mcgill.ca/pipermail/soot-list/">view the
recent list archives</a>.
<!--or <a href="http://www.sable.mcgill.ca/listarchives/old_publicarchives/soot-list/">view the old list archives</a>.--></p>
</blockquote>
<blockquote>
<h4>Wiki:</h4>
<li>See the new <a
href="https://svn.sable.mcgill.ca/wiki/index.cgi/SootProject">Soot Wiki</a>
for up-to-date information. The Soot team will be using this site for
discussing upcoming work, so if you would like to know what is going on
look there. </li>
</blockquote>
<blockquote>
<h4>Bugzilla:</h4>
<li>Use new <a href="https://svn.sable.mcgill.ca/bugzilla/">Soot
Bugzilla</a>. We encourage you to add any Soot bugs there. </li>
</blockquote>
<!--Credits--> <a name="credits"> </a>
<table width="100%">
<tbody>
<tr>
<td align="left" width="97%"><b><font face="helvetica,arial"
size="+1">Credits</font></b></td>
<td align="left" width="3%"><font size="-2"><a href="#top">top</a></font></td>
</tr>
</tbody>
</table>
<blockquote> Click <a href="./credits">here</a> for the complete
list of contributors and acknowledgements. </blockquote>
<!--Soot Users--> <a name="users"> </a>
<table width="100%">
<tbody>
<tr>
<td align="left" width="97%"><b><font face="helvetica,arial"
size="+1">Soot Users</font></b></td>
<td align="left" width="3%"><font size="-2"><a href="#top">top</a></font></td>
</tr>
</tbody>
</table>
<blockquote>
<p>We maintain a <a
href="https://svn.sable.mcgill.ca/wiki/index.cgi/SootUsers">list of
people and projects that are making
use of Soot</a>. If you are not on the list please add yourself!</p>
<br>
</blockquote>
</td>
</tr>
</tbody>
</table>
</body>
</html>