РУсскоязычный Архив Электронных СТатей периодических изданий
Инженерный журнал: наука и инновации/2013/№ 2/
В наличии за
50 руб.
Купить
Облако ключевых слов*
* - вычисляется автоматически
Недавно смотрели:

Использование системы LLVM при динамическом поиске состояний гонок в программах

В многопоточных программах может возникать состояние гонок ввиду отсутствия синхронизации при доступе к памяти. Для сбора информации о событиях динамическими методами выявления таких гонок требуется либо виртуальная машина, либо инструментирование исполняемого кода. В работе предложен метод динамического поиска гонок, использующий отношение предшествования и ограничение истории обращений. Метод реализован для анализа программ на языке С, для инструментирования исходного кода на этапе трансляции используется система LLVM. Как показывают проведенные эксперименты, применение предложенного метода позволяет сохранить накладные расходы на поиск гонок на приемлемом уровне.

Авторы
Тэги
Тематические рубрики
Предметные рубрики
В этом же номере:
Резюме по документу**
УДК 004.415.53 Использование системы LLVM при динамическом поиске состояний гонок в программах 1 1 <...> Н.Э. Баумана, Москва, 105005, Россия В многопоточных программах может возникать состояние гонок ввиду отсутствия синхронизации при доступе к памяти. <...> Для сбора информации о событиях динамическими методами выявления таких гонок требуется либо виртуальная машина, либо инструментирование исполняемого кода. <...> В работе предложен метод динамического поиска гонок, использующий отношение предшествования и ограничение истории обращений. <...> Метод реализован для анализа программ на языке С, для инструментирования исходного кода на этапе трансляции используется система LLVM. <...> Как показывают проведенные эксперименты, применение предложенного метода позволяет сохранить накладные расходы на поиск гонок на приемлемом уровне. <...> E-mail: arhibot@gmail.com, kva@bmstu.ru Ключевые слова: состояния гонок, динамический поиск гонок, инструментирование кода, тестирование многопоточных программ, LLVM. <...> Для поиска состояний гонок при работе с разделяемой памятью в многопоточных программах существуют инструменты нескольких классов, наиболее применимым являются средства динамического поиска гонок. <...> Такие средства во время выполнения программы ведут историю обращений к памяти и операций синхронизации для дальнейшего анализа. <...> Генерация потока событий при динамическом поиске гонок может реализоваться либо при исполнении программы в виртуальной машине, либо посредством модификации кода программы для сбора информации о доступе к памяти и к функциям синхронизации. <...> Существующие реализации на базе виртуальной машины, такие как Helgrind [1] и Thread Checker, осуществляют интерпретацию исполняемого файла, что позволяет проводить анализ программы и используемых библиотек без необходимости повторной компиляции или внесения изменений в бинарные файлы. <...> Основной проблемой таких инструментов являются высокие накладные расходы на интерпретацию анализируемого машинного <...>
** - вычисляется автоматически, возможны погрешности

Похожие документы: