WWW.DISSERS.RU

БЕСПЛАТНАЯ ЭЛЕКТРОННАЯ БИБЛИОТЕКА

   Добро пожаловать!

 

На правах рукописи

Алымова Елена Владимировна

генерация наборов тестов для распараллеливающих и оптимизирующих преобразований в компиляторе

Специальность 05.13.11 – Математическое и программное обеспечение

вычислительных машин, комплексов и компьютерных сетей

АВТОРЕФЕРАТ

диссертации на соискание ученой степени

кандидата технических наук

Санкт-Петербург – 2012

Работа выполнена в федеральном государственном автономном образовательном учреждении высшего профессионального образования «Южный федеральный университет» на кафедре алгебры и дискретной математики.

Научный руководитель:

доктор технических наук

Штейнберг Борис Яковлевич

Официальные оппоненты:

Терехов Андрей Николаевич, доктор физико-математических наук, профессор

Санкт-Петербургский государственный университет, зав. каф. «Системное программирование»

Бухановский Александр Валерьевич, доктор технических наук,

Санкт-Петербургский национальный исследовательский университет информационных технологий, механики и оптики (НИУ ИТМО), директор НИИ наукоемких компьютерных технологий

Ведущая организация:

Учреждение Российской академии наук Институт систем информатики им. А.П.Ершова Сибирского отделения РАН

Защита состоится 16 октября 2012 г. в 17:00 на заседании диссертационного совета Д212.227.06 при Санкт-Петербургском национальном исследовательском университете информационных технологий, механики и оптики по адресу: 197101, г. Санкт-Петербург, Кронверкский пр., д. 49, конференц-зал, ЦИО.

С диссертацией можно ознакомиться в библиотеке НИУ ИТМО.

Автореферат разослан 15 сентября 2012 г.

Ученый секретарь диссертационного совета

Лисицына Л.С.

Общая характеристика работы

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

Повышение производительности параллельных вычислительных систем не может происходить только за счет усложнения архитектуры, необходима так же разработка соответствующего программного обеспечения.

Эффективное исполнение программ без параллелизма на современном аппаратном обеспечении становится все более затруднительным. Наличие готовых отлаженных библиотек последовательных программ, а так же высокая стоимость ручной оптимизации программного кода за счет повышенных требований к квалификации специалистов повышают интерес к разработке инструментов автоматизации распараллеливания программ. Одним из инструментов автоматизации распараллеливания являются оптимизирующие и распараллеливающие компиляторы. Среди зарубежных оптимизирующих и распараллеливающих компиляторов можно выделить GNU Compiler Collection (GCC), Microsoft Visual C++, ROSE, Oracle Solaris Studio (OSS), Intel C++ Compiler и Glasgow Haskell Compiler (GHC). Разрабатываются системы автоматического распараллеливания: SUIF Compiler, PLUTO, Par4All. Примерами отечественных разработок в области оптимизации и распараллеливания программ являются система ПРОГРЕСС, DVM-система, системы ОРС и ДВОР.

Библиотека оптимизирующих и распараллеливающих преобразований является основой блока оптимизации в компиляторе. Неправильное применение преобразования приводит к нарушению эквивалентности результирующей и исходной программ, возможно нарушение синтаксической и семантической корректности. Кроме этого, преобразование может ухудшить свойства исходной программы. Своевременное обнаружение ошибок преобразования подразумевает проведение тестирования с помощью наборов тестов, наиболее полно проверяющих качество реализации преобразования. Разработка тестов вручную является достаточно трудоемким процессом, при этом есть вероятность пропуска некоторых тестовых случаев. Тестированию программного обеспечения посвящены работы следующих авторов: В.В. Липаев, Г. Майерс, П. Можаев, J. Rashka, J. Paul. Разработкой методов генерации тестов для различных частей компилятора занимались многие авторы. В 1972 году П. Пардом описал алгоритм вывода минимального набора коротких предложений по контекстно-свободным грамматикам, который мог использоваться в качестве тестов синтаксического анализатора. Заметный вклад в теорию тестирования оптимизирующих компиляторов внесли: С.В. Зеленов, С.А. Зеленова, М.В. Архипова, А.П. Стасенко, R. Lmmel, J. Harm.

Для повышения качества программного обеспечения новых вычислительных архитектур, в частности компиляторов и конверторов, требуется разработка новых средств автоматизации тестирования, что и определяет актуальность темы диссертации.

Предметом исследования являются оптимизирующие и распараллеливающие преобразования программ в компиляторе.

Целью работы является разработка метода генерации наборов тестов для оптимизирующих и распараллеливающих преобразований программ.

Задачи исследования. Достижение поставленной цели подразумевает решение следующих задач:

  1. Формулирование требований к наборам тестов на основе данных о допустимых информационных зависимостях в программе;
  2. Разработка языка описания условий применимости преобразования, связанных с информационными зависимостями в программе;
  3. Формулирование критерия полноты набора тестов для преобразования;
  4. Разработка алгоритма генерации синтаксически и семантически корректных программ на языке, заданном контекстно-свободной грамматикой;
  5. Разработка метода задания информационных зависимостей в генерируемой программе;
  6. Проектирование, программная реализация и отладка генератора тестовых программ на основе контекстно-свободной грамматики и конфигурационных файлов;
  7. Внедрение разработанной в диссертации технологии генерации наборов тестов посредством тестирования преобразований распараллеливающей системы;
  8. Внедрение предложенной в диссертации технологии тестирования в разработанный интерфейс автоматического распараллеливателя программ, реализованного по технологии «клиент-сервер».

Методы исследования включают в себя методы теории формальных языков и грамматик, теории графов, теории преобразования программ, элементы теории множеств и комбинаторного анализа. При реализации программного обеспечения использовались принципы объектно-ориентированного программирования.

Научную новизну результатов работы определяет:

  • Новый алгоритм генерации тестов для оптимизирующих и распараллеливающих преобразований, отличительной особенностью которого является использование конфигурационного шаблона для описания условий применимости тестируемого преобразования.
  • Новый метод построения критериев полноты наборов тестовых программ для оптимизирующих и распараллеливающих преобразований в терминах целевого языка программирования.

Практическая значимость работы состоит в том, что полученные результаты могут быть использованы для тестирования оптимизирующих и распараллеливающих компиляторов и конверторов. При этом практическую ценность составляют:

  • Программно реализованный генератор тестов, который на вход получает грамматику целевого языка программирования и конфигурационный файл, а на выходе генерирует наборы тестов, удовлетворяющие критерию полноты.
  • Сгенерированные наборы тестов для преобразования «Разрезание циклов» и синтаксического анализатора конвертера C2HDL, удовлетворяющие критерию полноты.
  • Методика построения наборов тестов для графического интерфейса, удовлетворяющих критерию полноты.

На защиту выносятся:

  1. Метод формализации условий применимости тестируемых оптимизирующих и распараллеливающих преобразований программ в компиляторе и метод построения критериев полноты наборов тестовых программ.
  2. Метод и алгоритмы генерации тестовых программ для оптимизирующих и распараллеливающих преобразований по конфигурационному файлу, содержащему условия применимости тестируемого преобразования.

Достоверность научных результатов и выводов подтверждается математической строгостью определений и утверждений, а также программно реализованными моделями и вычислительными экспериментами.

Внедрение результатов работы. Результаты работы используются в проекте «Диалоговый высокоуровневый оптимизирующий распараллеливатель программ и его приложения» в рамках ФЦП «Научные и научно-педагогические кадры инновационной России» на 2009-2013 годы, государственный контракт № 02.740.11.0208 от 7 июля 2009 г. В процессе работы получено Свидетельство о государственной регистрации программ для ЭВМ: «Диалоговый высокоуровневый оптимизирующий распараллеливатель программ» (свидетельство №2011617205). Часть данной работы используется в проекте «Создание биоинформационной технологии поиска взаимосвязанных сценариев организации в геномах животных и человека некодирующей ДНК и кодирующей белок ДНК» в рамках ФЦП «Научные и научно-педагогические кадры инновационной России», государственный контракт № 14.740.11.0006 от 1 сентября 2010 г. Работа поддержана проектом «Создание высокотехнологичного производства комплексных решений в области предметно-ориентированных облачных вычислений для нужд науки, промышленности, бизнеса и социальной сферы» (шифр 2010-218-01-209) в рамках реализации постановления №218 Правительства РФ (по заказу НИУ ИТМО). Результаты работы использованы при выполнении ОКР «Разработка системной поддержки высокопроизводительного программного комплекса для квантово-механических расчетов и моделирования наноразмерных атомно-молекулярных систем и комплексов» по заказу НИУ ИТМО в рамках темы «Разработка высокопроизводительного программного комплекса для квантово-механических расчетов и моделирования наноразмерных атомно-молекулярных систем и комплексов», государственный контракт № 133с/380066/4005 от 19 ноября 2008 г. Полученные в данной работе результаты могут также использоваться в учебном процессе для изучения свойств формальных языков, описываемых контекстно-свободными грамматиками.

Во время работы над диссертацией при изучении теории тестирования программ рассматривались задачи, близкие к теме диссертации: участие в разработке web-интерфейса распараллеливающего конвертора (на оптимизирующие преобразования которого ориентирован разработанный в диссертации генератор тестов) и тестирование программных интерфейсов. При этом получены практически значимые результаты:

  • автоматический распараллеливатель программ, реализованный по технологии «клиент-сервер» (созданный в составе группы программистов);
  • выполнено тестирование сложного интерфейса высокопроизводительного программного комплекса HPC-NASIS;
  • разработана система поддержки пользователя при редактировании скриптов на языке EasyFlow для среды облачных вычислений CLAVIRE.

Апробация работы. Основные результаты диссертации докладывались и обсуждались на международных и всероссийских научно-технических конференциях: Всероссийская суперкомпьютерная конференция «Научный сервис в сети Интернет: масштабируемость, параллельность, эффективность», Новороссийск, 21-26 сентября 2009 г; IV сессия научной школы-практикума молодых ученых и специалистов «Технологии высокопроизводительных вычислений и компьютерного моделирования» в рамках VIII Всероссийской межвузовской конференции молодых ученых, СПбГУ ИТМО, Санкт-Петербург, 12-15 апреля 2011 г.; THE 7th IEEE EAST-WEST DESIGN & TEST SYMPOSIUM (EWDTS 2009), Moscow, Russia, September 18-21, 2009; Международная суперкомпьютерная конференция «Научный сервис в сети Интернет: суперкомпьютерные центры и задачи», Новороссийск, 20-25 сентября 2010 г; V Международная конференция «Параллельные вычисления и задачи управления» (PACO’2010), ИПУ РАН, Москва, 26-28 октября 2010 г.

Публикации. По результатам выполненных исследований опубликовано 9 печатных работ (из них 2 – в изданиях из перечня ведущих рецензируемых научных журналов и изданий Высшей аттестационной комиссии Министерства образования и науки РФ).

Личный вклад. Все результаты диссертации, а так же программная реализация генератора тестов и разработка описания условий применимости преобразований с помощью конфигурационного файла получены автором лично.

Структура и объем работы. Диссертационная работа состоит из введения, четырех глав, заключения, списка литературы (110 наименований) и одного приложения. Содержит 129 страниц текста, включая 41 рисунок и 5 таблиц. Результаты диссертации иллюстрируются 23 примерами.

Содержание работы

Во введении обосновывается актуальность темы, формулируется цель и задачи исследования, отмечаются научная новизна и практическая значимость результатов, перечисляются основные положения, выносимые на защиту.

Первая глава посвящена описанию предлагаемой методики разработки тестовых наборов для оптимизирующих и распараллеливающих преобразований программ в компиляторе.

На основе анализа описания тестируемого преобразования определяются условия применимости этого преобразования. Условия применимости преобразования являются совокупностью описания контекстных условий (условий на допустимые информационные зависимости преобразуемого фрагмента кода с остальной программой) и заменяемого фрагмента.

Позитивным тестом для преобразования является программа, содержащая фрагмент кода, удовлетворяющий условиям применимости этого преобразования. Генератор тестов на вход получает грамматику целевого языка программирования и может выводить все программы на входном языке. Для вывода подмножества позитивных тестов из множества программ на целевом языке программирования генератор должен получить конфигурацию, позволяющую генерировать только такие программы, в которых есть фрагменты кода, удовлетворяющие условиям применимости тестируемого преобразования. Для построения формального описания условий применимости преобразования с целью получения конфигурации для генератора тестов используется представление класса позитивных тестов в виде ориентированного графа, где вершины графа соответствуют вхождениям операторов в текст программы. Две вершины A и B графа соединены дугой, если оператор B находится под действием оператора A (дуга направлена от A к B).

По конфигурации, содержащей формальное описание условий применимости преобразования, генератор может выводить только программы заданной в описании структуры. Конфигурация дополняется информацией о допустимых видах информационных зависимостей в генерируемой программе. Таким образом, по конфигурации генератор может выводить бесконечное множество позитивных тестов для тестируемого преобразования.

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

Конфигурация записывается в конфигурационный файл, представляющий собой правильный XML-документ. Упрощенная грамматика языка описания конфигураций представлена на рисунке 1.

statement := block | statAssign | statIf |statIfThenElse | statSwitch | statFor | statWhile | statBreak | statContinue | statGoTo

block :=  lt, "block", attrQuantifier?, attrCounter?, gt, dependency?, statement*, clt, "block", gt

dependency := lt, "dependency", gt, set*, clt, "dependency", gt

set :=  lt, "set", attrType?, attrDirection?, attrCyclic?, attrMode?, cgt

attrType := "type", "=", quot, typeSet, quot

typeSet := "in-in" | "out-out" | "in-out" | "out-in"

attrDirection := "direction", "=", quot, directionSet, quot

directionSet := "asc" | "desc" | "any"

attrCyclic := "cyclic", "=", quot, cyclicSet, quot

cyclicSet := "true" | "false" | "any"

attrMode := "mode", "=", quot, modeSet, quot

modeSet := "regular" | "any"

Рис. 1. Упрощенная грамматика языка описания конфигураций

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

Вторая глава посвящена описанию принципов, на основе которых разработан генератор тестов. Входной грамматикой для генератора является КС-грамматика, задающая синтаксис языка, на котором генерируются тестовые программы.

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

На основе древовидного представления строится графовое представления КС-грамматики путем добавления дуг по следующему правилу: две вершины A и B соединены дугой, если обе вершины соответствуют разным вхождениям одного и того же символа грамматики и лежат на одном пути до корня дерева. С помощью графового представления генерируются наборы тестов, удовлетворяющие критерию полноты. На рисунке 2 приведен пример проанализированного графового представления КС-грамматики, иллюстрирующий принципы работы генератора, изложенные в главе. Вывод цепочки, принадлежащей КС-грамматике, заключается в движении по графовому представлению этой грамматики. Метка «» присвоена тем вершинам графового представления, переход по которым приведет к появлению нетерминального символа в пути вывода цепочки по грамматике. Метки kn указывают генератору, какое максимальное количество раз можно перейти по соответствующей дуге в процессе вывода цепочки. Чтобы закончить вывод цепочки, генератор должен выбирать вершины с минимальным значением числовой метки.

Рис. 2. Проанализированное графовое представление КС-грамматики

При генерации позитивных тестов для преобразования по конфигурации используются методы моделирования информационных зависимостей. При моделировании зависимостей для фрагментов программы собираются данные, которые можно представить в виде таблицы с информацией о каждом вхождении переменной в текст программы (номер вхождения, тип и имя переменной, является ли вхождение генератором или использованием, индексное выражение переменной). Информация из таблицы позволяет с помощью внутренних семантических процедур генератора выводить переменные, связанные нужными видами зависимостей. В общем случае результатом работы семантической процедуры является фрагмент текста, которым заменяется раскрываемый нетерминальный символ. Для генерации случайных переменных и констант в тексте программы используются семантические процедуры, параметры которых можно настраивать в конфигурационном файле.

Принципы и методы, изложенные во второй главе, программно реализованы в генераторе тестов. Разработанный генератор поддерживает три режима работы, комбинирование которых позволяет строить эффективные наборы тестов для различных оптимизирующих или распараллеливающих преобразований на различных языках программирования.

Третья глава посвящена примерам использования генератора тестов, построенного на основе методов, описанных выше.

В главе рассматриваются примеры построения критерия полноты набора тестов для синтаксического анализатора конвертера C2HDL и преобразования «Разрезание циклов», входящего в состав преобразований Открытой распараллеливающей системы.

Конвертер C2HDL на вход принимает программы на языке C, на выходе генерируется VHDL описание. На данном этапе развития конвертер принимает программы, состоящие из n-го количества одномерных циклов с параметром (оператор for языка C). В циклах могут содержаться только операторы присваивания, все циклы должны быть конвейеризуемыми, в качестве переменных должны использоваться одномерные целочисленные массивы и целые числа.

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

Конфигурация генератора (см. рис. 3) содержит информацию, позволяющую генерировать 5 подряд идущих операторов циклов с параметром. Каждый цикл конвейеризуемый и содержит от 10 до 50 операторов присваивания.

<?xml version="1.0" encoding="UTF-8"?>

<program>

       <params intArray="10" intIndex="5" />

       <body>

               <statFor n="5">

                       <block n="10..50">

                       <dependency>

                       <set type="in-in" direction="any" cyclic="any" mode="regular" />

                       <set type="out-in" direction="any" cyclic="any" mode="regular" />

                       </dependency>

                       <statAssign m="3">

                       <ops><![CDATA[* / % || && ^ << >>]]></ops>

                       </statAssign>                        

                       </block>

               </statFor>

       </body>

</program>

Рис. 3. Запись конфигурации генератора для получения набора тестов конвертера C2HDL

Критерий полноты набора тестов для преобразования «Разрезание циклов» формулируется следующим образом. Выделено 6 видов операторов из множества операторов языка C. Набор тестов полон, если для каждой четверки операторов из выделенного множества в наборе тестов найдется программа, содержащая эту четверку.

Таким образом, результаты данной главы демонстрируют способ применения предложенных методов построения критериев полноты наборов тестов и записи конфигурации генератора для тестирования конвертеров и различных частей компилятора. Способ задания конфигурации генератора достаточно прост для освоения специалистом в области разработки компиляторов и конвертеров, поскольку конфигурация строится в терминах языка программирования и использует описание тестируемого объекта.

Четвертая глава посвящена описанию решений смежных задач, связанных с обеспечением качества программного обеспечения посредством тестирования и валидации входных данных.

В главе рассматриваются задачи автоматизации тестирования графического интерфейса программы, построения набора тестов для web-интерфейса автоматического распараллеливателя и разработки инструмента валидации пользовательских скриптов на языке EasyFlow.

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

На рисунке 4 приведен пример построенного дерева состояний графического интерфейса, состоящего из одной экранной формы.

Рис. 4. Дерево состояний упрощенного графического интерфейса, состоящего из одной экранной формы

Вершинами дерева состояний экранной формы являются состояния элементов этой формы. Две вершины A и B соединены дугой, если последовательность действий, приведшая к состоянию A, может быть продолжена одним действием для достижения состояния B.

Вершины, помеченные буквами A, B, C, соответствуют состояниям выпадающего списка, флажка и кнопки. Вершина, помеченная только буквой, соответствует состоянию «элемент выбран». Возможные состояния элементов экранной формы: метка «A_» – «не выбран пункт списка», метка «А1» – «выбран Пункт1», метка «А2» – «выбран Пункт2», метка «В1» – «флажок возведен», метка «В2» – «флажок сброшен», метка «С1» – «кнопка нажата», метка «С2» – «кнопка не нажата». Троеточиями помечены места, в которых на рисунке не отображены части дерева.

Путь на дереве состояний от корня до листа определяет цепочку элементов интерфейса, над которыми должно быть произведено по одному действию из соответствующих им списков возможных действий. Последовательность действий, соответствующая пути от корня до листа, определяет один тестовый сценарий. Набор тестовых сценариев считается полным, если выписаны цепочки действий, соответствующие путям от корня до каждого листа дерева.

Предложенный метод построения дерева состояний используется для автоматизации построения тестов графического интерфейса высокопроизводительного программного комплекса HPC-NASIS1.

Изложенный подход к генерации тестовых сценариев для графического интерфейса программы используется для составления функциональных тестов мастера, являющегося частью web-интерфейса автоматического распараллеливателя.

В работе построено дерево состояний мастера web-интерфейса, и сформулирован критерий полноты набора тестов для этого мастера. Набор тестовых сценариев для интерфейса полон, если он содержит все возможные последовательности действий с мастером, которые можно совершить, начиная с первой страницы и не возвращаясь к предыдущим страницам.

Задачей инструмента валидации пользовательских скриптов на предметно-ориентированном языке EasyFlow является проверка корректности скрипта до его отправки на обработку, что позволяет сократить количество ошибок и сбоев в работе вычислительной среды. Язык EasyFlow задает инструкции для выполнения композитных приложений в распределённой вычислительной среде на базе многопрофильной инструментально-технологической платформы CLAVIRE2. В качестве инструмента валидации разработана система поддержки пользователя при редактировании скриптов на языке EasyFlow. В системе реализованы следующие возможности: проверка синтаксиса и семантики скрипта на языке EasyFlow, проверка отсутствия дублирования в именах шагов и циклов в графе потока работ, предоставление контекстно-зависимых подсказок в текстовом редакторе.

Таким образом, результаты данной главы демонстрируют применимость разработанных методов автоматического построения полных наборов тестов графических интерфейсов для решения широкого круга практических задач, включая автоматизацию тестирования интерфейсов сложных программных систем и web-ориентированных приложений.

Заключение. В ходе диссертационной работы получены следующие результаты:

  • Разработан язык описания условий применимости преобразования программ в компиляторе;
  • Предложен новый метод построения критериев полноты набора тестов для преобразования программ в компиляторе;
  • Разработан алгоритм генерации синтаксически и семантически корректных программ на языке, заданном контекстно-свободной грамматикой;
  • Разработан метод задания информационных зависимостей в генерируемой программе;
  • Программно реализован генератор тестовых программ на основе контекстно-свободной грамматики и конфигурационных файлов, содержащих описание условий применимости тестируемого преобразования программы в компиляторе;
  • С помощью разработанного генератора получены набор тестов для преобразования «Разрезание циклов», реализованного в распараллеливающей системе, и получен набор тестов для конвертера C2HDL.
  • Разработан web-интерфейс автоматического распараллеливателя и построен полный набор тестовых сценариев для мастера, входящего в состав web-интерфейса автоматического распараллеливателя программ.

Публикации по теме диссертационной работы

  1. Алымова Е. В. Критерий полноты тестовых наборов, ориентированных на проверку распараллеливающих преобразований программ // Информационные технологии. –2011. –№9. –С. 19-22. (по перечню ВАК)
  2. Алымова Е.В. Автоматическая генерация тестов на основе конфигурационных файлов для оптимизирующих преобразований компилятора // Известия вузов. Северо-Кавказский регион. Естеств. науки. –№ 3. –2010. –С. 5-8. (по перечню ВАК)
  3. Алымова Е.В. Конфигурируемая генерация тестов для оптимизирующих и распаралелливающих преобразований // Научный сервис в сети Интернет: суперкомпьютерные центры и задачи: Труды Международной суперкомпьютерной конференции, г. Новороссийск, 20-25 сентября 2010 г., – М.: Изд-во МГУ, 2010. – С. 71-75.
  4. Штейнберг Б.Я., Абрамов А.А., Алымова Е.В., Баглий А.П., Гуда С.А., Дубров Д.В., Кравченко Е.Н., Морылев Р.И., Нис З.Я., Петренко В.В., Полуян С.В., Скиба И.С., Шаповалов В.Н., Штейнберг О.Б., Штейнберг Р.Б., Юрушкин М.В. Диалоговый высокоуровневый оптимизирующий распараллеливатель (ДВОР) // Научный сервис в сети Интернет: суперкомпьютерные центры и задачи: Труды Международной суперкомпьютерной конференции, г. Новороссийск, 20-25 сентября 2010 г., – М.: Изд-во МГУ, 2010. – С. 71-75.
  5. Штейнберг Б.Я., Алымова Е.В., Баглий А.П., Гуда С.А., Кравченко Е.Н., Морылев Р.И., Нис З.Я., Петренко В.В., Скиба И.С., Шаповалов В.Н., Штейнберг О.Б. Особенности реализации распараллеливающих преобразований программ в ДВОР // Параллельные вычисления и задачи управления (PACO’2010): Труды V Международной конференции, ИПУ РАН, г. Москва, 26-28 октября 2010 г. – С. 787-854.
  6. Штейнберг Б.Я., Алымова Е.В., Баглий Е.В., Морылев Р.И., Нис З.Я., Петренко В.В., Штейнберг Р.Б. Автоматизация тестирования элементов высокопроизводительного программного комплекса // Научный сервис в сети Интернет: масштабируемость, параллельность, эффективность: Труды Всероссийской суперкомпьютерной конференции (21-26 сентября 2009 г., г. Новороссийск). М.: Изд-во МГУ, 2009. – С. 287-291.
  7. Штейнберг Б.Я., Штейнберг Р.Б., Морылев Р.И., Петренко В.В., Полуян С.В., Штейнберг О.Б., Баглий А.П., Нис З.Я., Скиба И.С., Юрушкин М.В., Шаповалов В.Н., Алымова Е.В., Кравченко Е.Н., Гуда С.А. Диалоговый высокоуровневый оптимизирующий распараллеливатель программ // Свидетельство о государственной регистрации программы для ЭВМ № 2011617205 – 2011.
  8. Steinberg B., Abramov A., Alymova E., Baglij A., Guda S., Demin S., Dubrov D., Ivchenko A., Kravchenko E., Makoshenko D., Molotnikov Z., Morilev R., Nis Z. , Petrenko V., Povazhnij A., Poluyan S., Skiba I., Suhoverkhov S., Shapovalov V., Steinberg O., Steinberg R. Dialogue-based optimizing parallelizing tool and C2HDL converter // Proceedings of 7th IEEE EAST-WEST DESIGN & TEST SYMPOSIUM (EWDTS 2009). Moscow, Russia, September 18-21, 2009. P. 216-218.
  9. Steinberg B., Alimova E., Bagliy A., Morilev R., Nis Z., Petrenko V., Steinberg R. The System for Automated Program Testing // Proceedings of 7th IEEE EAST-WEST DESIGN & TEST SYMPOSIUM (EWDTS 2009). Moscow, Russia, September 18-21, 2009. P. 218-221.

1 Высокопроизводительный программный комплекс для квантово-механических расчетов и моделирования наноразмерных атомно-молекулярных систем и комплексов «HPC-NASIS» (свидетельство о государственной регистрации программ для ЭВМ № 2010610161).

2 Бухановский А.В., Васильев В.Н., Виноградов В.Н., Смирнов Д.Ю., Сухоруков С.А., Яппаров Т.Г. CLAVIRE: перспективная технология облачных вычислений второго поколения. // Известия вузов. Приборостроение. №10, 2011.




© 2011 www.dissers.ru - «Бесплатная электронная библиотека»

Материалы этого сайта размещены для ознакомления, все права принадлежат их авторам.
Если Вы не согласны с тем, что Ваш материал размещён на этом сайте, пожалуйста, напишите нам, мы в течении 1-2 рабочих дней удалим его.