Обнаружение состояний гонки в Java-программах на основе синхронизационных контрактов

Авторы

  • В. Ю. Трифанов

Ключевые слова:

многопоточность, параллельное программирование, автоматическое обнаружение ошибок, состояние гонки

Аннотация

Состояния гонки (data races) – это несинхронизированные обращения к одному и тому же участку памяти разных потоков параллельной программы. Состояния гонки являются одними из самых трудно обнаруживаемых ошибок многопоточного программирования. Автоматический поиск гонок является предметом активных исследований в последние двадцать лет, однако, например, для Java-приложений на настоящий момент не существует полноценного программного средства (детектора гонок), применимого для промышленных приложений (сотни и тысячи классов). В статье предлагается идея динамического обнаружения гонок на основе синхронизационных контрактов. Последние помогают корректно исключать из области анализа произвольные части приложения, по той или иной причине не интересные с точки зрения поиска гонок (например код стандартных библиотек), делая процесс поиска гонок гибко управляемым. Это, в свою очередь, позволяет существенно понизить накладные расходы при поиске гонок без потери точности. В статье также представлена реализация этой идеи и апробация созданного инструмента. С. 16-29.

Опубликован

23.01.2014

Выпуск

Раздел

Новая статья

Как цитировать

[1]
«Обнаружение состояний гонки в Java-программах на основе синхронизационных контрактов», Компьютерные инструменты в образовании, вып. 4, янв. 2014, просмотрено: июл. 24, 2026. доступно на: http://cte.eltech.ru/ojs/index.php/kio/article/view/1313

Похожие статьи

81-86 из 86

Вы также можете начать расширеннвй поиск похожих статей для этой статьи.

Наиболее читаемые статьи этого автора (авторов)