Прикладные программные системы
Научная статья
Интерактивные средства специализации программ
Игорь Алексеевич Адамович
| Институт программных систем им. А. К. Айламазяна РАН, Веськово, Россия | |
|
|
Аннотация. Специализация программ — это адаптация программы под ограниченные условия ее работы. Специализация, среди прочего, может использоваться для оптимизации и преобразования абстрактных спецификаций в конкретные программы для различных вычислительных архитектур (CPU, SIMD, GPU, FPGA). Процесс специализации характеризуется множеством степеней свободы при принятии решений, что затрудняет получение предсказуемых результатов в полностью автоматическом режиме. Существуют два основных подхода к специализации: онлайн, где решения принимаются во время генерации остаточной программы, и оффлайн, обеспечивающая большую предсказуемость благодаря предварительному принятию многих решений. Однако эффективно специализировать программу с первой попытки часто бывает затруднительно, что требует применения метода проб и ошибок и интерактивных средств для визуализации последствий принимаемых решений.
В настоящей работе рассматривается проблема адаптации существующих методов специализации для работы в интерактивном режиме, поскольку многие из них требуют существенной доработки или замены. Предлагаются следующие методы, направленные на повышение управляемости и предсказуемости процесса специализации: работа с деревом абстрактного синтеза, визуализация результатов разметки, построение и фильтрация истории причин BT-разметки. Предлагаемые методы реализованы в специализаторе JaSpe для программ на языке Java. В результате установлено, что во многих случаях время на поиск источников проблем, препятствующих преобразованиям, сократилось на порядок.
Ключевые слова: интерактивная специализация, интерактивные средства, частичные вычисления, суперкомпиляция, метавычисления, IDE
Для цитирования: Адамович И. А. Интерактивные средства специализации программ // Программные системы: теория и приложения. 2025. Т. 16. № 4. С. 319–352. https://psta.psiras.ru/2025/4_319-352.
Полный текст статьи (PDF): https://psta.psiras.ru/read/psta2025_4_319-352.pdf.
Статья поступила в редакцию 01.12.2025; одобрена после рецензирования 29.12.2025; принята к публикации 29.12.2025; опубликована онлайн 30.12.2025.


