WWW.DISS.SELUK.RU

БЕСПЛАТНАЯ ЭЛЕКТРОННАЯ БИБЛИОТЕКА
(Авторефераты, диссертации, методички, учебные программы, монографии)

 

Министерство образования и наук

и Российской Федерации

Государственное образовательное учреждение высшего профессионального

образования Санкт-Петербургский государственный университет

информационных технологий, механики и оптики

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

Князев Евгений Геннадьевич

Автоматизированная классификация

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

Научный руководитель – доктор технических наук, профессор А.А. Шалыто Санкт-Петербург Оглавление Введение

Глава 1. Обзор методов классификации изменений исходного кода

Эвристические методы

1.1.

Метод классификации по тексту сопровождающего изменение сообщения...... 1.1.1.

1.1.2. Метод поиска и классификации рефакторинга на основе значений определенных метрик………………………………………………………………………………………… Достоинства и недостатки эвристических методов

1.1.3.

Синтаксические методы

1.2.

Метод сравнения синтаксических деревьев версий кода

1.2.1.

1.2.2. Метод анализа синтаксической разницы версий кода с помощью встраиваемых в код тегов

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

Достоинства и недостатки синтаксических методов

1.2.4.

Методы, основанные на data mining

1.3.

1.3.1. Метод классификации изменений по признаку возможного наличия в них ошибки….

Выводы по главе 1

Глава 2. Метод автоматизированной классификации изменений на основе кластеризации метрик

2.1. Исследование возможности автоматизации классификации изменений исходного кода методом кластеризации метрик

2.2. Метод автоматизированной классификации изменений исходного кода

2.2.1. Экспертная настройка

2.2.2. Вычисление векторов метрик изменений

2.2.3. Кластеризация векторов метрик изменений

Оценка критериев качества кластеризации

2.2.4.

Экспертное сопоставление кластеров изменений классам

2.2.5.

2.2.6. Автоматическая классификация изменений на основе сопоставления кластеров классам..

Оценка критериев качества метода

2.2.7.

Выводы по главе 2

Глава 3. Применение автоматизированной классификации изменений в процессе разработки программного обеспечения

3.1. Использование автоматизированной классификации изменений в проекте разработки программной системы

3.1.1. Модель организации программной системы

3.1.2. Использование автоматизированной классификации изменений в проекте разработки программной системы

3.2. Результаты использования метода

3.2.1. Внедрение метода при разработке системы Navi-Manager

Применение метода при доработке системы NHibernate

3.2.3. Внедрение метода при разработке компонент системы LRIT

3.2.4. Внедрение метода при разработке системы e-Tutor 5000

3.2.5. Использование метода при анализе истории разработки системы Subversion...... 3.2.6. Общий эксперимент

3.2.7. Выводы по результатам экспериментов

3.3. Описание программного инструмента автоматизированной классификации изменений

3.4. Особенности реализации используемого алгоритма кластеризации в программном средстве CLUTO

Выводы по главе 3

Заключение

Темы перспективных исследований

Список литературы

Введение Актуальность проблемы. Современные организации-разработчики программного обеспечения работают с очень большим объемом исходного кода, что усложняет его понимание и анализ, а, как следствие, затрудняет контроль его качества. В процессе контроля качества программного обеспечения важную роль имеет экспертиза исходного кода (code review).

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

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

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

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



Критерием выбора изменений может быть принадлежность к некоторому классу.

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

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

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

Автоматизация распределения изменений по кластерам существенно сокращает время экспертизы изменений кода.

Задача автоматизации классификации изменений исходного кода решалась многими исследователями: A. Hassan, R. Holt, S. Demeyer, S. Ducasse, S. Raghavan, R. Rohana, J. Maletic, M. Collard, R. Robbes, S. Kim, J. Whitehead и другими. Ими были разработаны методы классификации изменений на базе эвристического, синтаксического, метрического и Data Mininig подходов к анализу изменений.

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

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

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

Цель диссертационной работы – разработка метода автоматизированной классификации изменений кода в процессе создания программного обеспечения на основе кластеризации метрик.

Основные задачи исследования:

обоснование возможности частичной автоматизации классификации изменений исходного кода методом кластеризации метрик;

разработка метода автоматизированной классификации изменений исходного кода на основе кластеризации метрик изменений;

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

Научная новизна. На защиту выносятся результаты, обладающие научной новизной.

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

2. Обоснование выбора метода k-средних с мерой близости объектов для кластеризации, основанной на косинусе угла между векторами метрик изменений.

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

Перечисленные результаты получены в ходе выполнения работ в СПбГУ ИТМО и ЗАО «Транзас Технологии» (Санкт-Петербург).

Методы исследования. В работе использованы методы кластерного анализа, математической статистики и программной инженерии.

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

Практическое значение работы состоит в том, что все полученные результаты используются в настоящее время и будут использоваться в дальнейшем для повышения качества программного обеспечения в ходе разработки сложных программных комплексов. Предложенный подход применялся для классификации изменений исходного кода в продуктах, разрабатываемых ЗАО «Транзас Технологии» (система мониторинга мобильных объектов Navi-Manager, набор компонент глобальной системы LRIT (Long-Range Identification and Tracking) для отслеживания положения судов в мировом океане, система контроля действий студентов на тренажерах e-Tutor 5000), а также в двух программных системах с открытым кодом.

Внедрение результатов. Результаты, полученные в диссертации, внедрены в указанных системах Navi-Manager, LRIT, e-Tutor 5000, а также в учебном процессе на кафедре «Компьютерные технологии» СПбГУ ИТМО по курсу лекций «Современные технологии разработки программного обеспечения».

Апробация результатов. Основные положения диссертационной работы докладывались на научно-методической конференции «Телематика-2007»

(СПб., 2007), X международной конференции по мягким вычислениям и измерениям (СПб., 2007), на конференции «Software Egineering Conference (Russia) 2007» (М., 2007), XXXVI научной и учебно-методической конференции профессорско-преподавательского и научного состава СПбГУ ИТМО (СПб., 2007), на семинаре Российского Северо-Западного регионального отделения IEEE по компьютерным технологиям и инженерному менеджменту (IEEE Region 8 Russia North-West Computer Society/Engineering Management Society Joint Chapter) (СПб., 2007), IV и V Межвузовской конференции молодых ученых (СПбГУ ИТМО, 2007, 2008), XV Международной научно-методической конференции «Высокие интеллектуальные технологии и инновации в образовании и науке» (СПб., 2008).

Публикации. По теме диссертации опубликовано 11 печатных работ, в том числе две статьи в журналах из списка ВАК. Результаты, приводимые в диссертации, опубликованные без соавторов, получены лично автором. В работах под номерами 1 и 7 в списке публикаций автором предложены способы использования автоматизированной классификации изменений. В работе автором предложен способ расчета метрики покрытия изменения кода модульными тестами. В работах 2, 3 и 8 автором предложен метод автоматизированной классификации изменений на основе предложенного автором способа расчета метрик изменений и их кластеризации. Остальные результаты в статьях под номерами 1, 2, 3, 7 и 8 принадлежат соавтору.

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

Работа иллюстрирована 21 рисунком и содержит 34 таблицы.

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

Во второй главе исследована возможность автоматизации классификации изменений исходного кода методом кластеризации метрик. Обоснован выбор метода k-средних с мерой близости объектов для кластеризации, основанной на косинусе угла между векторами метрик изменений.

Сформулирована гипотеза: автоматизированная классификация изменений кода некоторой программной системы возможна методом кластеризации метрик.

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

Также в третьей главе описано внедрение в компании ЗАО «Транзаc Технологии» автоматизированной классификации изменений исходного кода на основе кластеризации метрик. Внедрение выполнено (о чем свидетельствуют акты внедрения) при создании:

1. Системы мониторинга мобильных объектов Navi-Manager;

2. Компонент системы глобального мониторинга флота LRIT;

3. Системы e-Tutor 5000 контроля действий студентов в процессе обучения на судовом, крановом и других тренажерах.

Предлагаемый метод использовался также при анализе программных систем с открытым кодом: системы контроля версий Subversion (subversion.tigris.org, CollabNET, США) и объектной обертки над реляционными базами данных NHibernate (JBoss, США).

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

В заключении описаны полученные в диссертации результаты.

Перечисленные результаты получены в ходе выполнения совместных работ СПбГУ ИТМО и ЗАО «Транзас Технологии» и используются как при разработке программного обеспечения сложных систем, так и в учебном процессе.

Глава 1. Обзор методов классификации изменений исходного кода Среди существующих методов классификации изменений исходного кода можно выделить следующие группы [59]:

неформальные (эвристические) методы – такие, как метод поиска характерных слов в комментариях к изменениям [55, 75] и метод поиска и классификации рефакторингов на основе значений определенных метрик [48];

методы анализа синтаксиса изменений – такие, как метод сравнения синтаксической разницы версий кода с помощью встраиваемых в код тегов [73] и метод, основанный на реализации системы контроля версий, которая хранит абстрактные синтаксические деревья кода, полученные на основе данных из среды разработки [85];

методы, основанные на data mining [4, 5, 31, 33] – такие, как метод классификации изменений по признаку возможного наличия в них указанным группам, приводится в разделах 1.1 – 1.3 данной главы.

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

1.1.1. Метод классификации по тексту сопровождающего изменение сообщения В работе [55] предложен метод автоматической классификации изменений кода, основанный на анализе комментариев к ним. Комментарий к каждому изменению задается разработчиком при его внесении в систему контроля версий.

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

В комментариях к изменениям производится поиск слов, специфичных для каждого из классов изменений. Если вхождение слова найдено, изменению сопоставляется класс, описываемый этим словом. Например, слова fixed (исправлено), bug (ошибка) характеризуют класс исправление ошибки, а слова added (добавлено), implemented (реализовано) – класс реализации новой функциональности.

В работе [4] анализировались изменения программного кода нескольких программных систем, приведенных в табл. 1.

Таблица Анализируемые методом классификации комментариев к изменениям приложения NetBSD FreeBSD OpenBSD Продолжение табл. 1.

Postgres Koffice Из каждого из приведенных проектов случайным образом было выбрано по 18 изменений, причем шесть из них относились к реализации новой функциональности, шесть – к исправлению ошибки и шесть – к общей поддержке кода. Отобранные таким образом 108 изменений были разбиты случайным образом на две группы по 54 изменения. Анализ первой группы нас здесь интересовать не будет.

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

Для оставшихся 43 изменений был проведен анализ согласованности автоматической и экспертной классификации, путем измерения коэффициента согласованности по методу Кохена [42, 50]. Подробно расчет согласованности классификаций данным методом описан в разд. 2.2.7 второй главы. Значение коэффициента оказалось равным 0.71, что соответствует значимой степени согласованности классификаций. При этом совпадение автоматической и проанализированных изменений. В табл. 2 приведено распределение анализируемых изменений по автоматическим и экспертным классам.

Таблица 2. Распределение 43 анализируемых изменений по автоматическим и экспертным классам классификация поддержка ошибки функциональности Общая поддержка кода Исправление ошибки Реализация новой функциональности Существуют и другие методы анализа текста комментариев к изменениям, в частности [75]. Особенностью данного метода является более строгая обработка текстов комментариев к изменениям, в частности, предварительная нормализация текста, поиск словоформ, частотный анализ используемых терминов. В работе [75] производится классификация изменений по следующим типам: добавление новой функциональности, устранение дефектов, реструктуризация кода для упрощения будущих изменений, а также переработки кода в ходе инспекций, которые представляют собой смесь корректирующих и улучшающих изменений. Дополнительно производится анализ метрики сложности изменения, устанавливается корреляция значения метрики сложности изменения и его типа.

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

1.1.2. Метод поиска и классификации рефакторинга на основе значений определенных метрик В работе [48] предлагается метод поиска и определения следующих классов рефакторинга:

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

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

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

Таблица 3. Метрики, использованные в работе [48] Метрика Описание Метрики размера метода Число отправленных сообщений (вызванных методов) в теле Mthd-MSG метода. В работе [71] эта метрика обозначается NOM Mthd-NOS Mthd-LOC Метрики размера класса NOM Число переменных экземпляра класса (число полей класса) [71] NIV Число переменных класса (число статических полей класса) [71] NCV Метрики наследования HNL (DIT) Количество непосредственных дочерних классов [41] NOC Количество наследуемых методов [71] NMI Количество переопределенных методов [71] NMO Для приведенных метрик используются следующие допущения:

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

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

Для обнаружения наличия рефакторинга в изменении применяются следующие эвристические признаки:

выделение предка класса;

объединение с классом-предком;

выделение потомка класса;

объединение с потомком класса;

перенос функциональности в другой класс (предок, потомок или разделение метода;

факторизация общей функциональности.

В табл. 4 приведено соответствие указанных классов рефакторинга приведенным эвристическим признакам.

Таблица 4. Соответствие классов изменений эвристическим признакам Оптимизация иерархий наследования Выделение предка класса Выделение композиционных Перенос функциональности в другой Создание шаблонных методов Факторизация общей Рефакторинг выделение предка класса изображен на рис. 1. Символами A, B изображена иерархия классов до изменения. Символами A’, B’, X изображены классы после выделения предка X класса A.

Рис. 1. Изображение выделения предка класса, объединения с классом-предком следующем.

Если возрос уровень вложенности иерархии классов в результате изменения программного кода (HNL(B’) > 0) и выполнилась одна из следующих альтернатив: уменьшилось количество методов в классе (NOM(B’) < 0) или уменьшилось количество переменных-членов класса (NIV(B’) < 0) или уменьшилось количество переменных класса, определяемых классом B’ (NCV(B’) < 0), то имеет смысл говорить о совершенном в процессе изменения программного кода выделении предка класса.

Здесь и далее по тексту использовано следующее сокращение:

где M – метрика исходного кода, S – анализируемая синтаксическая единица исходного кода (класс, метод), S’ – измененный исходный код, S – исходный код до изменения.

Эвристический признак PSB(B’) выделения предка класса B’ записывается следующим образом:

PSB(B’) = (HNL(B’) >0)((NOM(B’) 0), тогда имеет смысл говорить о совершенном в процессе изменения программного кода объединении с классом-предком.

Эвристический признак MSB(B) рефакторинга объединение с классомпредком B, записывается так:

MSB(B)=(HNL(B)0)(NIV(B)>0)(NCV(B)>0)).

Следующие два вида рефакторинга – выделение потомка класса A’ и объединение с потомком класса проиллюстрированы на рис. 2.

Рис. 2. Изображение выделения потомка класса и объединения с потомком класса В первом случае из класс A разделяется на классы A’ и X, а затем в класс X выделяется вся общая функциональность из классов B’ и C’. Во втором случае, наоборот, в классы B’, C’ перемещается функциональность из класса X, который затем удаляется.

Эвристический признак SSU(A’) для рефакторинга выделение потомка класса A’ и эвристический признак объединение с потомком класса MSU(A) приведены ниже:

SSU(A’)=(NOC(A’)0)((NOM(A’)0)).

Рефакторинг перенос функциональности в другой класс (предок, потомок или связанный класс) MTOC(B’) изображен на рис. 3.

Рис. 3. Изображение переноса функциональности в другой класс (предок, потомок или Символами A, B, C обозначены классы, состоящие в отношении наследования, символом D – класс, связанный с классом B до проведения рефакторинга. В процессе выполнения рефакторинга часть функциональности из класса B переносится в класс A, C или D, образуя соответственно классы B’, A’, C’, D’.

Данный рефакторинг определяется следующим эвристическим признаком:





Похожие работы:

«Стойлов Сергей Валентинович Уретральные стенты в терапии доброкачественной гиперплазии и рака предстательной железы (14. 00. 40 - урология) Диссертация на соискание ученой степени кандидата медицинских наук Научный руководитель : доктор медицинских наук, профессор Л.М. Рапопорт Москва, 2004 г Оглавление. Введение: Актуальность темы, цель, задачи, научная новизна, практическая ценность исследования Глава 1. Место...»

«из ФОНДОВ РОССИЙСКОЙ ГОСУДАРСТВЕННОЙ БИБЛИОТЕКИ Каменева, Вероника Александровна 1. Гендерно-о5условленные стереотипы в публицистическом дискурсе 1.1. Российская государственная Библиотека diss.rsl.ru 2005 Каменева, Вероника Александровна Гендерно-о5условленные стереотипы в публицистическом дискурсе [Электронный ресурс]: На материале американской прессы Дис.. канд. филол. наук : 10.02.19, 10.02.04.-М.: РГБ, 2005 (Из фондов Российской Государственной Библиотеки) Теория языкаГерманские языки...»

«ИЗ ФОНДОВ РОССИЙСКОЙ ГОСУДАРСТВЕННОЙ БИБЛИОТЕКИ Нуржасарова, Майра Абдрахмановна Теоретические и методологические принципы проектирования современной одежды на основе традиционного казахского костюма Москва Российская государственная библиотека diss.rsl.ru 2006 Нуржасарова, Майра Абдрахмановна.    Теоретические и методологические принципы проектирования современной одежды на основе традиционного казахского костюма  [Электронный ресурс] : Дис. . д­ра техн. наук  : 05.19.04. ­ Алматы: РГБ,...»

«ГАВРИЛОВ ИЛЬЯ ЮРЬЕВИЧ ОПРЕДЕЛЕНИЕ ВЛИЯНИЯ НАЧАЛЬНОГО СОСТОЯНИЯ ПАРА НА ВОЛНОВУЮ СТРУКТУРУ И ПАРАМЕТРЫ ДВУХФАЗНОГО ПОТОКА В СОПЛОВОЙ ТУРБИННОЙ РЕШЕТКЕ Специальность 05.04.12 – Турбомашины и комбинированные турбоустановки Диссертация на соискание ученой степени кандидата технических наук Научный руководитель : Доктор технических...»

«Браилов Юрий Андреевич УДК 513:944 Геометрия особенностей интегрируемых систем на алгебрах Ли 01.01.04. – геометрия и топология Диссертация на соискание ученой степени кандидата физико-математических наук Научные руководители академик А. Т. Фоменко, д. ф.-м. н. А. В. Болсинов МОСКВА – 2003 Оглавление 0 Введение 3 1 Cдвиги инвариантов на алгебре su(3) 10 1.1 Уравнения движения.......»

«БУШУЕВ Юрий Гениевич СТРУКТУРНЫЕ СВОЙСТВА ЖИДКОСТЕЙ С РАЗЛ ИЧНЫМИ ТИПАМИ МЕЖМОЛ ЕКУЛЯРНЫХ ВЗАИМОДЕЙСТВ ИЙ ПО ДАННЫМ КОМПЬЮТЕРНОГО МОДЕЛ ИРОВ АНИЯ 02.00.04 – физическая химия Диссертация на соискание ученой степени доктора химических наук Иваново 2001 ОГЛАВЛЕНИЕ стр. ВВЕДЕНИЕ 7 1. ПРИМ ЕНЕНИЕ МЕТОДА МОНТЕ-КАРЛО ДЛЯ МОДЕЛИРОВАНИЯ СТРУКТУРЫ ЖИДКОСТЕЙ 1.1. Общие теоретические положения 1.2. Алгоритм Метрополиса 1.3....»

«Искужина Гульназ Расиховна КОНКУРЕНЦИЯ НА РЫНКАХ ПРОМЕЖУТОЧНОЙ ПРОДУКЦИИ Специальность: 08.00.01 – Экономическая теория Диссертация на соискание учёной степени кандидата экономических наук Научный руководитель – доктор экономических наук, профессор Нусратуллин В.К. Уфа – 2014 2 ОГЛАВЛЕНИЕ ВВЕДЕНИЕ.. Глава 1. КОНКУРЕНТНЫЕ...»

«Михайлов Виктор Алексеевич РАЗРАБОТКА МЕТОДОВ И МОДЕЛЕЙ АНАЛИЗА И ОЦЕНКИ УСТОЙЧИВОГО ФУНКЦИОНИРОВАНИЯ БОРТОВЫХ ЦИФРОВЫХ ВЫЧИСЛИТЕЛЬНЫХ КОМПЛЕКСОВ В УСЛОВИЯХ ПРЕДНАМЕРЕННОГО ВОЗДЕЙСТВИЯ СВЕРХКОРОТКИХ ЭЛЕКТРОМАГНИТНЫХ ИЗЛУЧЕНИЙ Специальность 05.12.13 – Системы, сети и устройства телекоммуникаций Диссертация на соискание ученой степени доктора технических наук Научный консультант : доктор технических наук,...»

«Давыдов Алексей Алексеевич. МАТЕМАТИЧЕСКИЕ МОДЕЛИ ДЛЯ АНАЛИЗА ВРАЩАТЕЛЬНОГО ДВИЖЕНИЯ МАЛЫХ КОСМИЧЕСКИХ АППАРАТОВ Специальность 01.02.01 – Теоретическая механика. ДИССЕРТАЦИЯ на соискание учёной степени кандидата физико-математических наук Научный руководитель : доктор физико-математических наук, профессор В.В. Сазонов Москва – 2012 2 Содержание Введение Глава 1. Исследование режима гашения угловой скорости космического аппарата в нештатной ситуации 1.1. Уравнения...»

«Бобынцев Денис Олегович Методы и средства планирования размещения параллельных подпрограмм в матричных мультипроцессорах Специальность 05.13.05 – Элементы и устройства вычислительной техники и систем управления Диссертация на соискание учёной степени кандидата технических наук Научный руководитель : доктор технических наук, профессор...»

«Сайдумов Джамбулат Хамидович СУД, ПРАВО И ПРАВОСУДИЕ У ЧЕЧЕНЦЕВ И ИНГУШЕЙ (ХVIII–ХХ вв.) Диссертация на соискание ученой степени доктора юридических наук Специальность – 12.00.01-теория и история права и государства; история учений о праве и государстве Грозный – 2014 1 СОДЕРЖАНИЕ: ВВЕДЕНИЕ ГЛАВА I. ИСТОРИЧЕСКИЙ ГЕНЕЗИС И ЭВОЛЮЦИЯ ТРАДИЦИЙ ПРАВА И ПРАВОСУДИЯ У ЧЕЧЕНЦЕВ И ИНГУШЕЙ §1....»

«ТЕРНАВЩЕНКО Кристина Олеговна СОВЕРШЕНСТВОВАНИЕ СИСТЕМЫ ВНУТРИФИРМЕННОГО ПЛАНИРОВАНИЯ В МОЛОЧНОМ СКОТОВОДСТВЕ (по материалам Краснодарского края) Специальность 08.00.05 – Экономика и управление народным хозяйством: экономика, организация и управление организациями, отраслями и комплексами (АПК и сельское хозяйство) ДИССЕРТАЦИЯ на соискание учной степени кандидата экономических наук Научный...»

«Московский Государственный Университет имени М.В. Ломоносова Экономический факультет НА ПРАВАХ РУКОПИСИ ОСАДЧИЙ НИКОЛАЙ МИХАЙЛОВИЧ Формирование отношений государства и крупного бизнеса в зарубежных странах и в России Специальность 08.00.14 Мировая экономика Диссертация на соискание ученой степени кандидата экономических наук Научный руководитель доктор экономических наук, проф. Касаткина Е. А. Москва – 2009 г. Оглавление ВВЕДЕНИЕ ГЛАВА 1. ТЕОРЕТИЧЕСКИЕ АСПЕКТЫ ВЗАИМООТНОШЕНИЙ ГОСУДАРСТВА И...»

«Чехранова Светлана Викторовна ЭФФЕКТИВНОСТЬ ИСПОЛЬЗОВАНИЯ ПРЕМИКСОВ В КОРМЛЕНИИ ДОЙНЫХ КОРОВ 06.02.08 – кормопроизводство, кормление сельскохозяйственных животных и технология кормов ДИССЕРТАЦИЯ на соискание ученой степени кандидата сельскохозяйственных наук Научный руководитель : доктор сельскохозяйственных наук, профессор...»

«УТЕУБАЕВ МАРАТ ТОЛЕУТЕМИРОВИЧ Языковая проблема в казахстанском образовательном пространстве: история и перспективы 07.00.02 – отечественная история (История Республики Казахстан) Диссертация на соискание ученой степени кандидата исторических наук Научный руководитель доктор исторических наук, профессор Дукенбаева З.О. Республика Казахстан Павлодар, СОДЕРЖАНИЕ ВВЕДЕНИЕ.. ВОЗНИКНОВЕНИЕ ЯЗЫКОВОЙ ПРОБЛЕМЫ:...»

«vy vy из ФОНДОВ РОССИЙСКОЙ ГОСУДАРСТВЕННОЙ БИБЛИОТЕКИ Жуковский, Владимир Ильич 1. Субъект преступления в уголовном праве России 1.1. Российская государственная библиотека diss.rsl.ru 2003 Жуковский, Владимир Ильич Субъект преступления в уголовном праве России [Электронный ресурс]: Дис.. канд. юрид. наук : 12.00.08.-М.: РГБ, 2003 (Из фондов Российской Государственной библиотеки) Уголовное право и криминология; уголовно-исполнительное право Полный текст:...»

«Шибаева Марина Вячеславовна Совершенствование системы управления развитием негосударственных некоммерческих организаций региона в сфере предоставления социальных услуг 08.00.05. – экономика и управление народным хозяйством: региональная экономика; экономика,...»

«ДОСОВА АННА ВЛАДИМИРОВНА ТЕОРЕТИЧЕСКИЕ И ПРАКТИЧЕСКИЕ ОСОБЕННОСТИ КОМПЛЕКСНОГО КРИМИНАЛИСТИЧЕСКОГО ИССЛЕДОВАНИЯ ДОКУМЕНТОВ С ИЗМЕНЕННЫМИ РЕКВИЗИТАМИ Специальность 12.00.12 — Криминалистика, судебно-экспертная деятельность, оперативно-розыскная деятельность Диссертация на соискание ученой степени кандидата юридических наук Научный руководитель...»

«Денисова Марина Николаевна РАЗРАБОТКА ГИДРОТРОПНОГО СПОСОБА ПОЛУЧЕНИЯ ЦЕЛЛЮЛОЗЫ ИЗ НЕДРЕВЕСНОГО РАСТИТЕЛЬНОГО СЫРЬЯ Специальность 05.21.03 – Технология и оборудование химической переработки биомассы дерева; химия древесины Диссертация на соискание ученой степени кандидата технических наук НАУЧНЫЙ РУКОВОДИТЕЛЬ, кандидат...»

«СПЫНУ Александр Юрьевич СОРБЦИОННАЯ ТЕХНОЛОГИЯ ИЗВЛЕЧЕНИЯ РЕНИЯ ИЗ ПОЛУПРОДУКТОВ МЕДНОГО ПРОИЗВОДСТВА Специальность 05.16.02 – Металлургия черных, цветных и редких металлов ДИССЕРТАЦИЯ на соискание ученой степени кандидата технических наук НАУЧНЫЙ РУКОВОДИТЕЛЬ: доктор...»






 
2014 www.av.disus.ru - «Бесплатная электронная библиотека - Авторефераты, Диссертации, Монографии, Программы»

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