Аннотация:
Статья посвящена частичным вычислениям, использующим offline-стратегию. Мощность этого метода решения задачи специализации программ во многом зависит от анализа времен связывания, который размечает программные конструкции как выполнимые либо невыполнимые на этапе специализации.
Анализ времен связывания может использовать несколько вариантов разметки полей класса, зависящих от их использования в программе. Увеличивая число потенциальных оптимизаций, такая поливариантность по классам позволяет эффективно специализировать большее число программ. Наибольший эффект достигается на объектно-ориентированных языках, предполагающих создание большого количества различающихся по назначению экземпляров класса.
Известные алгоритмы анализа времен связывания расширяются до поливариантности по классам и распространеняются их на объектно-ориентированный язык общего назначения. Новые методы реализованы в виде набора плагинов для Eclipse IDE, составляющих специализатор JaSpe для программ на Java.
Ключевые слова и фразы:современные языки программирования , статический анализ программ, преобразование программ, метавычисления, смешанные вычисления, интерактивная специализация.