Java PathFinder (JPF) — свободный инструмент для проверки многопоточных Java программ. По своей сути это виртуальная Java машина (Шаблон:Lang-en) на основе которой реализованы методы проверки моделей (Шаблон:Lang-en). Это означает, что JPF выполняет программу не один раз, как это делает обычная виртуальная машина, а по всем возможным путям, связанным с переключением потоков планировщиком. JPF находит такие ошибки как тупики, необработанные исключения, а также нарушения условий, задаваемых пользователем в виде assert выражений. Кроме того, пользователь может писать специальные слушатели (Шаблон:Lang-en) для проверки произвольных свойств. Некоторые из таких слушателей, такие как состояния гонок и ограничения на кучу (Шаблон:Lang-en) поставляются вместе с JPF. При нахождении ошибки JPF выводит полную трассу, которая к ней ведет, включая все необходимые переключения планировщика.
В общем случае JPF способен проверять любые Java программы, которые не зависят от не поддерживаемых native методов. Виртуальная машина JPF не может выполнять платформенно зависимый код. Это накладывает существенные ограничения на то, какие стандартные библиотеки могут использоваться тестируемым приложением. Хотя в принципе возможно написать для этих библиотек специальные обертки (используя Model Java Interface), но на данный момент
в JPF нет поддержки java.awt, java.net, и только ограниченная поддержка java.io и reflection.
Другое ограничение JPF — по месту необходимому для хранения состояния, что ограничивает размеры проверяемых приложений до ~10kloc (в зависимости от их внутренней структуры). Для решения проблем масштабирования JPF предоставляет гибкие механизмы расширения, которые позволяют подстраивать его под конкретные приложения и проверяемые свойства. Кроме того, данные механизмы позволяют рассматривать JPF как framework для различного рода техник верификации. Из за ограничений на библиотеки и размер приложений JPF до настоящего времени использовался для приложений, которые являются моделями, но написаны на полноценном языке программирования Java.
JPF разработан в NASA. Распространяется под свободной лицензией NASA Open Source Agreement version 1.3.
Литература
- Model Checking Programs. W. Visser, K. Havelund, G. Brat, S. Park and F. Lerda. Automated Software Engineering Journal.Volume 10, Number 2, April 2003. [1]
- Addressing Dynamic Issues of Program Model Checking. F. Lerda and W. Visser. Proccedings of SPIN2001. Toronto, May 2001. [2]
Ссылки
Партнерские ресурсы |
---|
Криптовалюты |
|
---|
Магазины |
|
---|
Хостинг |
|
---|
Разное |
- Викиум - Онлайн-тренажер для мозга
- Like Центр - Центр поддержки и развития предпринимательства.
- Gamersbay - лучший магазин по бустингу для World of Warcraft.
- Ноотропы OmniMind N°1 - Усиливает мозговую активность. Повышает мотивацию. Улучшает память.
- Санкт-Петербургская школа телевидения - это федеральная сеть образовательных центров, которая имеет филиалы в 37 городах России.
- Lingualeo.com — интерактивный онлайн-сервис для изучения и практики английского языка в увлекательной игровой форме.
- Junyschool (Джунискул) – международная школа программирования и дизайна для детей и подростков от 5 до 17 лет, где ученики осваивают компьютерную грамотность, развивают алгоритмическое и креативное мышление, изучают основы программирования и компьютерной графики, создают собственные проекты: игры, сайты, программы, приложения, анимации, 3D-модели, монтируют видео.
- Умназия - Интерактивные онлайн-курсы и тренажеры для развития мышления детей 6-13 лет
- SkillBox - это один из лидеров российского рынка онлайн-образования. Среди партнеров Skillbox ведущий разработчик сервисного дизайна AIC, медиа-компания Yoola, первое и самое крупное русскоязычное аналитическое агентство Tagline, онлайн-школа дизайна и иллюстрации Bang! Bang! Education, оператор PR-рынка PACO, студия рисования Draw&Go, агентство performance-маркетинга Ingate, scrum-студия Sibirix, имидж-лаборатория Персона.
- «Нетология» — это университет по подготовке и дополнительному обучению специалистов в области интернет-маркетинга, управления проектами и продуктами, дизайна, Data Science и разработки. В рамках Нетологии студенты получают ценные теоретические знания от лучших экспертов Рунета, выполняют практические задания на отработку полученных навыков, общаются с экспертами и единомышленниками. Познакомиться со всеми продуктами подробнее можно на сайте https://netology.ru, линейка курсов и профессий постоянно обновляется.
- StudyBay Brazil – это онлайн биржа для португалоговорящих студентов и авторов! Студент получает уникальную работу любого уровня сложности и больше свободного времени, в то время как у автора появляется дополнительный заработок и бесценный опыт.
- Автор24 — самая большая в России площадка по написанию учебных работ: контрольные и курсовые работы, дипломы, рефераты, решение задач, отчеты по практике, а так же любой другой вид работы. Сервис сотрудничает с более 70 000 авторов. Более 1 000 000 работ уже выполнено.
- StudyBay – это онлайн биржа для англоязычных студентов и авторов! Студент получает уникальную работу любого уровня сложности и больше свободного времени, в то время как у автора появляется дополнительный заработок и бесценный опыт.
|
---|