Skip to content

Commit e4a4043

Browse files
author
Dominik Helm
committed
Release 6.0.0
1 parent c83cc78 commit e4a4043

File tree

3,677 files changed

+81102
-39514
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

3,677 files changed

+81102
-39514
lines changed

UsingOPAL.html

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -96,39 +96,44 @@ <h2 id="sub-projects">Sub Projects</h2>
9696
<p>OPAL consists of multiple sub projects and tools which are described in the following.</p>
9797
<h3 id="framework">Framework</h3>
9898
<p>Combines all of OPAL's subproject for ease of use.</p>
99-
<pre><code>libraryDependencies += &quot;de.opal-project&quot; % &quot;framework_2.13&quot; % &quot;5.0.0&quot;
99+
<pre><code>libraryDependencies += &quot;de.opal-project&quot; % &quot;framework_2.13&quot; % &quot;6.0.0&quot;
100100
</code></pre>
101101
<h3 id="common">Common</h3>
102102
<p>Contains general data structures and algorithms particular useful in the context of static analysis. E.g., graph algorithms, such as
103103
an implementation of Tarjan's algorithm for finding strongly connected components. The implementations are designed with scalability in mind and should be able to process millions of nodes.</p>
104-
<pre><code>libraryDependencies += &quot;de.opal-project&quot; % &quot;common_2.13&quot; % &quot;5.0.0&quot;
104+
<pre><code>libraryDependencies += &quot;de.opal-project&quot; % &quot;common_2.13&quot; % &quot;6.0.0&quot;
105105
</code></pre>
106106
<h3 id="static-analysis-framework">Static Analysis Framework</h3>
107107
<p>The static analysis framework is a generally useful framework for developing static analyses. The framework has wide ranging support for very different types of static analyses and automatically parallels their execution. The framework only depends on <code>Common</code> and can be flexibly combined with other static analyses frameworks (e.g., BCEL, SOOT, Wala, ASM,... )</p>
108-
<pre><code>libraryDependencies += &quot;de.opal-project&quot; % &quot;static-analysis-infrastructure_2.13&quot; % &quot;5.0.0&quot;
108+
<pre><code>libraryDependencies += &quot;de.opal-project&quot; % &quot;static-analysis-infrastructure_2.13&quot; % &quot;6.0.0&quot;
109109
</code></pre>
110110
<h3 id="bytecode-representation">Bytecode Representation</h3>
111111
<p>The bytecode toolkit implements a generic infrastructure for parsing Java class files. Additionally,
112112
it provides a default representation for Java bytecode that can be used to analyze class files. That
113113
representation provides extensive support for pattern matching on Java bytecode to facilitate writing
114114
basic analyses.</p>
115-
<pre><code>libraryDependencies += &quot;de.opal-project&quot; % &quot;bytecode-representation_2.13&quot; % &quot;5.0.0&quot;
115+
<pre><code>libraryDependencies += &quot;de.opal-project&quot; % &quot;bytecode-representation_2.13&quot; % &quot;6.0.0&quot;
116+
</code></pre>
117+
<h3 id="bytecode-assembler">Bytecode Assembler</h3>
118+
<p>The Bytecode Assembler provides an embedded DSL for assembling Java class files. It handles tasks like
119+
stack map table generation, exception table generation, and bytecode generation.</p>
120+
<pre><code>libraryDependencies += &quot;de.opal-project&quot; % &quot;bytecode-assembler_2.13&quot; % &quot;6.0.0&quot;
116121
</code></pre>
117122
<h3 id="abstract-interpretation-framework">Abstract Interpretation Framework</h3>
118123
<p>The abstract interpretation framework is a highly-customizable framework for the lightweight abstract interpretation of the Java bytecode. The framework was designed with ease of use and customizability in mind.</p>
119-
<pre><code>libraryDependencies += &quot;de.opal-project&quot; % &quot;abstract-interpretation-framework_2.13&quot; % &quot;5.0.0&quot;
124+
<pre><code>libraryDependencies += &quot;de.opal-project&quot; % &quot;abstract-interpretation-framework_2.13&quot; % &quot;6.0.0&quot;
120125
</code></pre>
121126
<h3 id="three-address-code">Three-Address Code</h3>
122127
<p>The three-address-code toolkit provides a more human readable representation of the bytecode that includes additional information derived by the abstract interpretation framework.</p>
123-
<pre><code>libraryDependencies += &quot;de.opal-project&quot; % &quot;three-address-code_2.13&quot; % &quot;5.0.0&quot;
128+
<pre><code>libraryDependencies += &quot;de.opal-project&quot; % &quot;three-address-code_2.13&quot; % &quot;6.0.0&quot;
124129
</code></pre>
125130
<h3 id="architecture-validation-framework">Architecture Validation Framework</h3>
126131
<p>The architecture validation framework facilitates the development of tools for specifying and validating software architectures.</p>
127-
<pre><code>libraryDependencies += &quot;de.opal-project&quot; % &quot;architecture-validation_2.13&quot; % &quot;5.0.0&quot;
132+
<pre><code>libraryDependencies += &quot;de.opal-project&quot; % &quot;architecture-validation_2.13&quot; % &quot;6.0.0&quot;
128133
</code></pre>
129134
<h3 id="apk">APK</h3>
130135
<p>Provides support for the analyis of APKs, with automatic conversion from dalvik to java byte code.</p>
131-
<pre><code>libraryDependencies += &quot;de.opal-project&quot; % &quot;apk_2.13&quot; % &quot;5.0.0&quot;
136+
<pre><code>libraryDependencies += &quot;de.opal-project&quot; % &quot;apk_2.13&quot; % &quot;6.0.0&quot;
132137
</code></pre>
133138

134139
</div>

artifacts/OPALDisassembler.jar

546 KB
Binary file not shown.
4.64 MB
Binary file not shown.

index.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -91,8 +91,8 @@ <h1 id="opal">OPAL</h1>
9191
It does so by hosting a wide and extensible collection of modular analyses modules that can be automatically composed in a case-by-case manner to collaboratively reason about a particular software at hand.
9292
OPAL manages the execution of analysis modules and adjusts it as needed for scalability.<center><iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/-V25yQDXPqg" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe></center></p>
9393
<p>OPAL can be used for Java bytecode processing, engineering, manipulation and analysis.
94-
It is written in Scala 2.13.x and supports Java 19 Bytecode; OPAL in particular provides support to facilitate the analysis of Java 8 lambda expressions (<em>Invokedynamic</em> instructions) and Java 15 dynamic constants.</p>
95-
<p>The latest release is <em>5.0.0</em>, the latest snapshot version is <em>5.0.1-SNAPSHOT</em>.
94+
It is written in Scala 2.13.x and supports Java 25 Bytecode; OPAL in particular provides support to facilitate the analysis of Java 8 lambda expressions (<em>Invokedynamic</em> instructions) and Java 15 dynamic constants.</p>
95+
<p>The latest release is <em>6.0.0</em>, the latest snapshot version is <em>6.0.1-SNAPSHOT</em>.
9696
Both versions are found on <a href="https://search.maven.org/#search%7Cga%7C1%7Cde.opal-project">Maven Central</a>.
9797
Look <a href="/UsingOPAL.html">here</a> for information on how to use OPAL in your project.</p>
9898
<p>In-depth tutorials on developing static analyses with OPAL can be found in the navigation menu on the left, in particular starting with an introduction to <a href="/tutorial/FixedPointAnalyses.html">writing fixed-point analyses</a>.</p>

0 commit comments

Comments
 (0)