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

Authors

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

Keywords:

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

Abstract

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

Downloads

Published

2014-01-23

Issue

Section

Articles

How to Cite

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

Similar Articles

1-10 of 86

You may also start an advanced similarity search for this article.

Most read articles by the same author(s)