Что такое findslide.org?

FindSlide.org - это сайт презентаций, докладов, шаблонов в формате PowerPoint.


Для правообладателей

Обратная связь

Email: Нажмите что бы посмотреть 

Яндекс.Метрика

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

Содержание

Особенности промышленной разработки программного обеспеченияпостоянный рост требований к качеству производимого ПОборьба за качество начинается на самых ранних этапах разработки ПО и заключается в нахождении и исправлении ошибок в первых версиях программных продуктовобеспечение необходимого уровня качества только
Интегрированная методика автоматизированного построения формальных поведенческих моделей  C-приложений по исходному коду Особенности промышленной разработки программного обеспеченияпостоянный рост требований к качеству производимого ПОборьба за Цели и задачи исследования Цель – разработка методики автоматизированного построения формальных	 поведенческих Область исследования Возвратное проектирование – 	“это процесс анализа системы с целью идентификации Инструментарий возвратного проектирования  Klocwork InsightSource-NavigatorCodeSurferCC-RiderImagix 4DCristal FLOW* Пригодных для статического и визуального анализа автоматизированными средствами Сравнительный анализ формальных нотаций Концепция предлагаемого подхода Атрибутная транзиционная система		  < S, A, T, L, l >– S – Динамические аспекты модели поведения …  int pid; int replyEvent; char *replyMessage; Методика 1: сохранение потока управления программыFalseTruefor whiledo- whileswitchdefault case1 case2 …Фрагменты систем Методика 2: формализация вызовов функции (1) началоконецБП вызывающей функции1Протокол-коннектор для передачи управления Графическое представление шаблона MSC диаграммыТекстовое представление шаблона MSC диаграммыМетодика – функция_Det – базовые протоколы, описывающие 	поведение функции на детальном В рамках работы для решения поставленных задач и реализации разработанных методик создан Метрика оценки объема модели k – количество функций в проекте; BP – количество базовых Общая схема применения методики Пилотирование и применение разработанного комплекса методик и программных средств проведено в следующих Анализ результатов применения Зависимость трудозатрат от размеров модели  (аппроксимация на основе Анализ результатов применения Зависимость размеров моделей от уровня абстракции (аппроксимация на основе пилотирования) Заключение На основе теории агентов и сред предложена модель поведения C-приложений в модель поведения приложений, реализованных на языке C, представляемая структурированным множеством базовых протоколов. СПАСИБО ЗА ВНИМАНИЕ
Слайды презентации

Слайд 2 Особенности промышленной разработки программного обеспечения

постоянный рост требований к

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

качеству производимого ПО

борьба за качество начинается на самых ранних

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

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

переиспользование старого кода

восстановление документации и ее поддержка в актуальном виде



Слайд 3 Цели и задачи исследования
Цель – разработка методики автоматизированного

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

построения формальных
поведенческих моделей C-приложений по исходному коду, пригодных

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

Задачи:
анализ области автоматизированного построения формальных моделей по их исходному коду на основе сравнительного анализа промышленных инструментов возвратного проектирования и формальных нотаций;

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

создание методик формализации фрагментов исходного кода C-приложений с помощью выбранной формальной нотации;

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

внедрение разработанной методики и программных средств в процесс производства и поддержки ПО.

Слайд 4 Область исследования
Возвратное проектирование –
“это процесс анализа системы

Область исследования Возвратное проектирование – 	“это процесс анализа системы с целью

с целью идентификации системных компонентов и их взаимодействий (поведенческих

свойств) и создания представления системы в другой форме или на более высоком уровне абстракции”. (E. Chikofsky, J. Cross)


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

Методы возвратного проектирования:
Статический анализ.
Динамический анализ.

Слайд 5 Инструментарий возвратного проектирования
Klocwork
Insight
Source-
Navigator
CodeSurfer
CC-Rider
Imagix 4D
Cristal
FLOW
* Пригодных

Инструментарий возвратного проектирования Klocwork InsightSource-NavigatorCodeSurferCC-RiderImagix 4DCristal FLOW* Пригодных для статического и визуального анализа автоматизированными средствами

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


Слайд 6 Сравнительный анализ формальных нотаций

Сравнительный анализ формальных нотаций

Слайд 7 Концепция предлагаемого подхода

Концепция предлагаемого подхода

Слайд 8 Атрибутная транзиционная система
< S, A, T,

Атрибутная транзиционная система		 < S, A, T, L, l >– S –

L, l >
– S – множество состояний;
– А – множество действий;

T – множество размеченных переходов
и неразмеченных (скрытых) переходов
– L – множество атрибутных разметок;
– – частично определенная
функция разметки состояний.

Аппарат описания модели поведения программной системы

E = (e1, e2, e3,…)
M = (m1, m2, m3,…)

Sin = (in1, in2, in3,…)
Sout = (out1, out2, out3,…)


Слайд 9 Динамические аспекты модели поведения


int pid;
int

replyEvent;
char *replyMessage;
void *replyPointer;
int len;
int notification

= 0; /* not notification by default */
char * rpcmode = ""; /*no extra text by default */

if (argc > 1 && strcmp (argv[1], "-listpm") == 0) {
/* Get all postmaster! */
int bufferPid[100];
char* bufferText[100];
int noOfPM;
int i;
noOfPM = SPFindActivePostMasters (bufferPid, bufferText, 100);
for (i = 0; i < noOfPM; i++) {
if (bufferText[i] != NULL) {
printf ("Pid: %d, Created: %s\n", bufferPid[i], bufferText[i]);
SPFree (bufferText[i]);
}
}
/* break when ready*/
exit (0);
}
if ( argc > 3 && !strcmp( argv[argc-1], "-notification" ) ) {
notification = 1;
rpcmode = "NOTIFICATION";
argc--;
argv[argc] = 0; /* hide this flag to avoid later confusion */
}

if (argc < 3) {
printf ("usage: %s [...] [-notification]\n", argv[0]);
exit (1);


1. Исходный код

3. Дерево поведения

4. Поведенческие сценарии

2. Базовые протоколы


Слайд 10 Методика 1: сохранение потока управления программы
False
True
for
while
do-
while
switch
default

Методика 1: сохранение потока управления программыFalseTruefor whiledo- whileswitchdefault case1 case2 …Фрагменты


case1
case2

Фрагменты систем переходов
для нелинейных фрагментов кода
Связь

базовых протоколов по
состояниям агента-приложения

st_2, st_3, st_4, st_5, st_6 – состояния агента-приложения;
bp2, bp3, bp4, bp5 – базовые протоколы.


Слайд 11 Методика 2: формализация вызовов функции (1)
начало
конец
БП вызывающей функции
1
Протокол-коннектор

Методика 2: формализация вызовов функции (1) началоконецБП вызывающей функции1Протокол-коннектор для передачи

для
передачи управления в
вызываемую функцию
2
Протокол-коннектор для
возвращения управления

в
вызывающую функцию

4

БП вызывающей функции

5

РП вызываемой функции

3

1) bpn=(an-1,an)

2) cp1=(an,b1)

3) ep=(b1, bm)

4) cp2=(bm,an+1)

5) bpn+1=(an+1,an+2)

(an-1, an)

A

(b1, bm)

B

(an+1)

A

(bm)

B

(an)

A

(b1)

B

(an+1, an+2)

A

A – множество состояний
вызывающей функции
B – множество состояний
вызываемой функции


Слайд 12

Графическое

Графическое представление шаблона MSC диаграммыТекстовое представление шаблона MSC диаграммыМетодика 3: построение базовых протоколов

представление
шаблона MSC диаграммы
Текстовое представление
шаблона MSC диаграммы
Методика 3:

построение базовых протоколов

Слайд 13 – функция_Det – базовые протоколы, описывающие

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

поведение функции на детальном уровне
– функция_Comp –

базовые протоколы, описывающие поведение функции на некотором уровне абстракции
– !Connectors – протоколы-коннекторы для моделирования вызовов функций
– EP_ функция – расширенные протоколы, описывающие поведение вызываемых функций

Методика 4: структурирование базовых протоколов

1

директория

2

файл

директория

3

файл

директория

функция

5

файл

директория

функция

!Connectors

функция_Det

функция_Comp

EP_функция

4

файл

директория

функция

функция_Det

функция_Comp


Слайд 14 В рамках работы для решения поставленных задач и

В рамках работы для решения поставленных задач и реализации разработанных методик

реализации разработанных методик создан следующий инструментарий:

Программная поддержка
c
c
c
h
h
Формальная модель
Динамически
подключаемая
библиотека
Исходные файлы

обработчика

Приложение

dll

Исходные
C-файлы

Базовые
протоколы

Klocwork

Объект разработки

Конфигурационный файл

dll

АСД


Слайд 15 Метрика оценки объема модели

k – количество функций в проекте;

Метрика оценки объема модели k – количество функций в проекте; BP – количество


BP – количество базовых протоколов, кодирующих детальное поведение функции;
EP –

количество расширенных протоколов, кодирующих поведение вызываемых функций;
CP – количество протоколов-коннекторов, необходимых для моделирования вызовов функций.





LOC – количество строк кода функции, каждая из которых содержит хотя бы один оператор;
i, e, f, s, w, F – количество операторов if, else, for, switch, while и вызовов функций в коде функции соответственно.

Слайд 16 Общая схема применения методики

Общая схема применения методики

Слайд 17
Пилотирование и применение разработанного комплекса методик и программных

Пилотирование и применение разработанного комплекса методик и программных средств проведено в

средств проведено в следующих 4 проектах:

Учебный проект. Применение методики

к исходному коду приложения с целью проверки всех разработанных методик и программных средств (40 BPs).

Проект автомобильного радио (CarRadio). Применение методики структурирования базовых протоколов для получения проекта, структура которого позволяет работать с моделью покомпонентно и на разных уровнях абстракции (70 BPs).

Проект анализатора A-деревьев. Применение методики к исходному коду реализованного обработчика с целью проверки корректности его реализации (8000 BPs).

Приложение для тестирования мобильного телефона. Применение методики к исходному коду приложения для мобильного телефона с целью верификации реализованного приложения (70000 BPs).

Проекты пилотирования и применения методики


Слайд 18 Анализ результатов применения Зависимость трудозатрат от размеров модели (аппроксимация

Анализ результатов применения Зависимость трудозатрат от размеров модели (аппроксимация на основе

на основе пилотирования)
чел.-часа
чел.-часа
чел.-часа
чел.-часа
Тип А
Тип Б
- трудозатраты автоматиз. подхода
- трудозатраты

ручного подхода

- трудозатраты автоматиз. подхода

- трудозатраты ручного подхода


Слайд 19 Анализ результатов применения Зависимость размеров моделей от уровня абстракции

Анализ результатов применения Зависимость размеров моделей от уровня абстракции (аппроксимация на основе пилотирования)

(аппроксимация на основе пилотирования)


Слайд 20 Заключение
На основе теории агентов и сред предложена модель

Заключение На основе теории агентов и сред предложена модель поведения C-приложений

поведения C-приложений в виде структурированного множества базовых протоколов, пригодная

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

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

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

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

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

Анализ результатов позволил получить оценки применения методики в промышленных проектах.

Слайд 21 модель поведения приложений, реализованных на языке C, представляемая

модель поведения приложений, реализованных на языке C, представляемая структурированным множеством базовых

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

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

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

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

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

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

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


  • Имя файла: integrirovannaya-metodika-avtomatizirovannogo-postroeniya-formalnyh-povedencheskih-modeley-s-prilozheniy-po-ishodnomu-kodu.pptx
  • Количество просмотров: 113
  • Количество скачиваний: 0