-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathindex.html
More file actions
45 lines (40 loc) · 3.03 KB
/
index.html
File metadata and controls
45 lines (40 loc) · 3.03 KB
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
---
layout: home
title: Home | OpenJML
---
<!-- Example row of columns -->
<div class="row">
<div class="col-md-4">
<h2>Verify Your Java Programs with JML</h2>
<p>The <a href="http://www.jmlspecs.org">Java Modeling Language</a> (JML) is a mature program specification language with more than two decades of history. OpenJML is capable of checking Java programs annotated with specifications in the Java Modeling Language and provides robust support for many of JML's features.
That is, OpenJML does deductive program verification to check that a program's
implementation (in Java) satisfies its specification (in JML). OpenJML can also
perform runtime-assertion-checking.</p>
<p>
The goal of the OpenJML project is to implement a full tool for JML and current Java that is easy for practioners and students to use to specify and verify Java programs. In addition, the project seeks to advance the theory and experience of software verification in practical, industrially-relevant contexts.
</p>
<p><b>To learn more, select one of the menu buttons at the top of this web page.</b></p>
</div>
<div class="col-md-4">
<h2>Support for Static and Runtime Checking</h2>
<p>Verification in OpenJML can be performed either by using our static deductive verification capability or by using our runtime assertion checking features. Runtime assertion checking is often easier to write specifications for whereas static checking gives stronger guarantees about program behavior. </p>
<p><b>To learn more, select one of the menu buttons at the top of this web page.</b></p>
</div>
<div class="col-md-4">
<!--
<h2>Integrates with Most Popular SMT Solvers</h2>
<p>OpenJML is not a theorem prover or model checker itself. OpenJML translates JML specifications into SMT-LIB format and passes the proof problems implied by the Java+JML program to backend SMT solvers. OpenJML supports uses major SMT solvers such as Z3 and CVC5. The success of the proofs will depend on the capability of the SMT solver, the particular logical encoding of the code+specifications, and the complexity and style in which the code and specifications are written.</p>
<p><b>To learn more, select one of the menu buttons at the top of this web page.</b></p>
-->
The project's development home is now GitHub, after residing on SourceForge for many years; our Eclipse plug-in will be there again one it is up and running.
SourceForge recognized the project as an active download site.
<!-- Begin SF Tag -->
<!--
<div class="sf-root" data-id="65346" data-badge="oss-community-choice-white" data-metadata="achievement=oss-community-choice" style="width:125px">
<a href="https://sourceforge.net/projects/jmlspecs/" target="_blank">Java Modeling Language (JML)</a>
</div>
<script>(function () {var sc=document.createElement('script');sc.type='text/javascript';sc.async=true;sc.src='https://b.sf-syn.com/badge_js?sf_id=65346';var p=document.getElementsByTagName('script')[0];p.parentNode.insertBefore(sc, p);})();
</script>
<!-- End SF Tag -->
</div>
</div>