Movatterモバイル変換


[0]ホーム

URL:


Jump to content
WikipediaThe Free Encyclopedia
Search

ESC/Java

From Wikipedia, the free encyclopedia
This article includes a list ofgeneral references, butit lacks sufficient correspondinginline citations. Please help toimprove this article byintroducing more precise citations.(March 2010) (Learn how and when to remove this message)

ESC/Java (and more recentlyESC/Java2), the "Extended Static Checker for Java," is aprogramming tool that attempts to find commonrun-time errors inJava programs atcompile time.[1] The underlying approach used in ESC/Java is referred to asextended static checking, which is a collective name referring to a range of techniques forstatically checking the correctness of various program constraints. For example, that an integer variable is greater-than-zero, or lies between thebounds of an array. This technique was pioneered in ESC/Java (and its predecessor, ESC/Modula-3) and can be thought of as an extended form oftype checking. Extended static checking usually involves the use of anautomated theorem prover and, in ESC/Java, the Simplify theorem prover was used.

ESC/Java is neithersound norcomplete. This was intentional and aims to reduce the number of errors and/or warnings reported to the programmer, in order to make the tool more useful in practice. However, it does mean that: firstly, there are programs that ESC/Java will erroneously consider to be incorrect (known asfalse-positives); secondly, there are incorrect programs it will consider to be correct (known asfalse-negatives). Examples in the latter category include errors arising frommodular arithmetic and/ormultithreading.

ESC/Java was originally developed at theCompaq Systems Research Center (SRC). SRC launched the project in 1997, after work on their original extended static checker, ESC/Modula-3, ended in 1996. In 2002, SRC released thesource code for ESC/Java and related tools. Recent versions of ESC/Java are based around theJava Modeling Language (JML). Users can control the amount and kinds of checking by annotating their programs with specially formatted comments orpragmas.

TheUniversity of Nijmegen'sSecurity of Systems group released alpha versions of ESC/Java2, an extended version of ESC/Java that processes theJML specification language through 2004. From 2004 to 2009, ESC/Java2 development was managed by the KindSoftware Research Group atUniversity College Dublin, which in 2009 moved to theIT University of Copenhagen, and in 2012 to theTechnical University of Denmark. Over the years, ESC/Java2 has gained many new features including the ability to reason with multipletheorem provers and integration withEclipse.

OpenJML, the successor of ESC/Java2, is available for Java 1.8.[2] The source is available athttps://github.com/OpenJML

[3]

See also

[edit]

References

[edit]
  1. ^Flanagan, C.; Leino, K.R.M.; Lillibridge, M.;Nelson, G.;Saxe, J. B.;Stata, R. (2002).Extended static checking for Java.Proceedings of the Conference on Programming Language Design and Implementation. pp. 234–245.doi:10.1145/512529.512558.ISBN 1-58113-463-0.
  2. ^"OpenJML download site on sourceforge".
  3. ^"Java Modeling Language (JML) / Code / [r9606] /OpenJML/Trunk/OpenJML".
Notes

External links

[edit]
Retrieved from "https://en.wikipedia.org/w/index.php?title=ESC/Java&oldid=1314788198"
Categories:
Hidden categories:

[8]ページ先頭

©2009-2025 Movatter.jp