Jump to content

ЭСК/Ява

ESC/Java (а в последнее время ESC/Java2 ), «Расширенная программа статической проверки Java», представляет собой инструмент программирования , который пытается найти распространенные ошибки времени выполнения в Java программах во время компиляции . [1] Базовый подход, используемый в ESC/Java, называется расширенной статической проверкой . Это собирательное название, относящееся к ряду методов статической проверки правильности различных ограничений программы. Например, целочисленная переменная больше нуля или находится между границами массива . Этот метод был впервые использован в ESC/Java (и его предшественнике ESC/Modula-3) и может рассматриваться как расширенная форма проверки типов . Расширенная статическая проверка обычно включает использование автоматического средства доказательства теорем , а в ESC/Java использовалось средство доказательства теорем Simplify.

ESC/Java не является ни надежным , ни полным . Это было сделано намеренно и направлено на уменьшение количества ошибок и/или предупреждений, сообщаемых программисту, чтобы сделать инструмент более полезным на практике. Однако это означает, что: во-первых, существуют программы, которые ESC/Java ошибочно посчитает неправильными (известные как ложные срабатывания ); во-вторых, существуют неправильные программы, которые он считает правильными (так называемые ложноотрицательные ). Примеры последней категории включают ошибки, возникающие из-за модульной арифметики и/или многопоточности .

ESC/Java изначально был разработан в Исследовательском центре систем Compaq (SRC). SRC запустила проект в 1997 году, после того как работа над их оригинальной расширенной статической проверкой ESC/Modula-3 завершилась в 1996 году. В 2002 году SRC выпустила исходный код для ESC/Java и связанных с ним инструментов. Последние версии ESC/Java основаны на языке моделирования Java (JML). Пользователи могут контролировать объем и виды проверок, комментируя свои программы специально отформатированными комментариями или прагмами .

Университета Неймегена Группа безопасности систем выпустила альфа-версии ESC/Java2, расширенной версии ESC/Java, которая обрабатывает язык спецификации JML до 2004 года. С 2004 по 2009 год разработкой ESC/Java2 руководила исследовательская группа KindSoftware. в Университетском колледже Дублина , который в 2009 году перешёл в IT-университет Копенгагена , а в 2012 году — в Технический университет Дании . За прошедшие годы ESC/Java2 приобрел множество новых функций, включая возможность рассуждать с помощью нескольких средств доказательства теорем и интеграцию с Eclipse .

OpenJML , преемник ESC/Java2, доступен для Java 1.8. [2] Исходный код доступен по адресу https://github.com/OpenJML.

[3]

См. также

[ редактировать ]
  1. ^ Фланаган, К.; Лейно, КРМ; Лиллибридж, М.; Нельсон, Г .; Сакс, JB ; Стата, Р. (2002). Расширенная статическая проверка для Java . Материалы конференции по проектированию и реализации языков программирования . стр. 234–245. дои : 10.1145/512529.512558 . ISBN  1-58113-463-0 .
  2. ^ «Сайт загрузки OpenJML на sourceforge» .
  3. ^ «Язык моделирования Java (JML)/Код/[r9606]/OpenJML/Trunk/OpenJML» .
Примечания
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 225b75a41f0b51c2389b662f1a1eebd7__1642294500
URL1:https://arc.ask3.ru/arc/aa/22/d7/225b75a41f0b51c2389b662f1a1eebd7.html
Заголовок, (Title) документа по адресу, URL1:
ESC/Java - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)