Разработка и исследование методов и средств структурных испытаний программ тема диссертации и автореферата по ВАК РФ 05.13.11, кандидат технических наук Никифорова, Наталия Юрьевна

  • Никифорова, Наталия Юрьевна
  • кандидат технических науккандидат технических наук
  • 2003, Владивосток
  • Специальность ВАК РФ05.13.11
  • Количество страниц 202
Никифорова, Наталия Юрьевна. Разработка и исследование методов и средств структурных испытаний программ: дис. кандидат технических наук: 05.13.11 - Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей. Владивосток. 2003. 202 с.

Оглавление диссертации кандидат технических наук Никифорова, Наталия Юрьевна

ВВЕДЕНИЕ

ГЛАВА 1 МЕТОДЫ И СРЕДСТВА ИСПЫТАНИЙ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ. ОСНОВНЫЕ ПОНЯТИЯ

1.1 Оценка качества и измерения программного обеспечения.

1.1.1 Качество программного средства.

1.1.2 Метрики свойств программных продуктов.

1.1.3 Методы измерений программного обеспечения.

1.1.4 Граф потока управления.

1.2 Испытания программного обеспечения.

1.2.1 Методы испытаний программного обеспечения.

1.2.2 Программные средства поддержки испытаний программного обеспечения. 2 О

1.3 Традиционные методы покрытия испытаниями потока управления в программной единице.

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

1.3.2 Методы покрытия испытаниями компонентов графа потока управления.

1.4 Языково-ориентированный подход к измерениям и оцениванию качества программных продуктов.

1.4.1 Характеристика языково-ориентированного подхода.

1.4.2 Измерительная модель конструкции простой оператор.

1.4.3 Определение графа потока управления в терминах измерительной языковой модели.

1.4.4 Динамические измерения программных продуктов.

1.4.5 Метод частотных счетчиков.

1.4.6 Трасса исполнения программной единицы.

1.4.7 Измерительный языковой процессор.

1.4.8 Построение измерительных языковых анализаторов с использованием систем построения трансляторов.

1.4.9 Статический измерительный анализатор языка программирования Турбо Паскаль версии 7.0.

1.5 Задачи диссертационной работы.

ГЛАВА 2 ФОРМАЛЬНЫЕ ОПРЕДЕЛЕНИЯ ТРАДИЦИОННЫХ

МЕТОДОВ И МЕТРИК СТРУКТУРНЫХ ИСПЫТАНИЙ ПРОГРАММНОЙ ЕДИНИЦЫ В ТЕРМИНАХ ИЗМЕРИТЕЛЬНОЙ ЯЗЫКОВОЙ МОДЕЛИ

2.1 Формальное определение множества трасс исполнения программной единицы.

2.2 Формальное определение метода покрытия операторов.

2.3 Формальное определение метода покрытия циклов.

2.3.1 Определение множества циклов.

2.3.2 Определение множества покрытых циклов.

2.4 Формальное определение метода покрытия ветвей в программной единице.

2.4.1 Определение множества ветвей в программной единице.

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

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

2.5.1 Определение множества путей между определением и использованием значений переменных.

2.5.2 Определение множества покрытых путей между определением и использованием значений переменных.

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

2.6.1 Определение множества всех путей в программной единице.

2.6.2 Определение множества покрытых путей в программной единице.

2.7 Формальное определение метода покрытия вершин.

2.7.1 Определение множества вершин.

2.7.2 Определение множества покрытых вершин.

2.8 Формальное определение метода покрытия дуг.

2.8.1 Определение множества дуг.

2.8.2 Определение множества покрытых дуг.

2.9 Формальное определение метода покрытия ветвей в графе потока управления.

2.9.1 Определение множества ветвей в графе потока управления.

2.9.2 Определение множества покрытых ветвей в графе потока управления.

2.10 Формальное определение метода покрытия линейно-независимых путей.

2.10.1 Определение графа потока управления, преобразованного в сильно связный граф.

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

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

2.10.4 Определение множества покрытых линейно-независимых путей.

2.11 Формальное определение метода покрытия простых путей.

2.11.1 Определение множества простых путей.

2.11.2 Определение множества покрытых простых путей.

2.12 Формальное определение метода покрытия всех путей в каждом цикле

2.12.1 Определение множества всех путей в каждом цикле.

2.12.2 Определение множества покрытых путей в циклах.

2.13 Выводы ко второй главе.

ГЛАВА 3 КОНТЕКСТ В ПРОГРАММЕ

3.1 Понятие контекст в естественном языке.

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

3.2.1 "Единица языка".

3.2.2 "Точно определенный смысл и значение единицы языка".

3.2.3 "Законченная по смыслу часть текста".

3.3 Основные отличия текста на языке программирования от текста на естественном языке.

3.4 Определение понятия контекст в программе.

3.5 Принципы построения модели множества потенциальных контекстов.

3.6 Модель множества потенциальных контекстов фрагмента программы

3.7 Построение моделей множества потенциальных контекстов в простом операторе.

3.7.1 Модель простого оператора с одним выходным потоком управления -МПКПО-1.

3.7.2 Модель простого оператора с несколькими выходными потоками управления - МПКПО-2.

3.8 Построение модели множества потенциальных контекстов в последовательности простых операторов.

3.9 Построение модели множества потенциальных контекстов в блоке

3.10 Построение модели множества потенциальных контекстов в программной единице.

3.11 Выводы к третьей главе.

ГЛАВА 4 МЕТОД ПОКРЫТИЯ ИСПЫТАНИЯМИ ПОТЕНЦИАЛЬНЫХ

КОНТЕКСТОВ ПРОГРАММНОЙ ЕДИНИЦЫ

4.1 Определение метода покрытия испытаниями множества потенциальных контекстов программной единицы.

4.1.1 Множество потенциальных контекстов программной единицы.

4.1.2 Множество потенциальных контекстов, покрытых испытаниями.

4.2 Равнозначные методы покрытия испытаниями.

4.2.1 Метод покрытия операторов и метод покрытия вершин графа потока управления.

4.2.2 Метод покрытия ветвей в программной единице и метод покрытия ветвей в графе потока управления.

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

4.3.1 Метод покрытия потенциальных контекстов, метод покрытия операторов и метод покрытия вершин графа потока управления.

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

4.3.3 Метод покрытия потенциальных контекстов и метод покрытия ветвей

4.3.4 Метод покрытия потенциальных контекстов и метод покрытия циклов.

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

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

4.3.7 Метод покрытия потенциальных контекстов и метод покрытия всех путей в каждом цикле.

4.3.8 Метод покрытия потенциальных контекстов и метод покрытия путей между определением и использованием значений переменных (метод покрытия def-use путей).

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

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

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

4.4.1 Степень проверенности ^программной единицы, обеспечиваемая применением метода покрытия потенциальных контекстов.

4.4.2 Создание средств поддержки покрытия потенциальных контекстов.

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

4.5 Выводы к четвертой главе.

ГЛАВА 5 МЕТОДЫ РЕАЛИЗАЦИИ ФУНКЦИЙ ДИНАМИЧЕСКИХ

ИЗМЕРЕНИЙ ИЗМЕРИТЕЛЬНОГО ЯЗЫКОВОГО ПРОЦЕССОРА. СОЗДАНИЕ ПРОГРАММНЫХ СРЕДСТВ ИЗМЕРЕНИЯ ПРОЦЕССА ИСПОЛНЕНИЯ ПРОГРАММ, ПОДДЕРЖИВАЮЩИХ СТРУКТУРНЫЕ ИСПЫТАНИЯ.

5.1 Измерение динамических свойств программ.

5.1.1 Расширение исходного текста измеряемой программы средствами сбора динамической информации.

5.1.2 Библиотека подпрограмм генерации расширенной программы.

5.1.3 Библиотека подпрограмм сбора динамической информации.

5.1.4 Создание с использованием систем построения трансляторов TP Lex и TP Yacc измерительного анализатора, обеспечивающего выполнение динамических измерений.

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

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

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

5.2.2 Построение множеств покрываемых испытаниями компонентов.

5.2.3 Построение множеств покрытых испытаниями компонентов и вычисление значений метрик покрытия.

5.3 Выводы к пятой главе.

Рекомендованный список диссертаций по специальности «Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей», 05.13.11 шифр ВАК

Введение диссертации (часть автореферата) на тему «Разработка и исследование методов и средств структурных испытаний программ»

Актуальность работы. Успехи технологии программирования последних лет привели к смещению акцента с просто разработки программного обеспечения на разработку высококачественного программного обеспечения. На достижение этой цели направлены усилия специалистов различного профиля, принимающих участие в разработке программных средств. Одним из основных видов деятельности в процессах разработки и сопровождения программного обеспечения являются испытания. Цель испытаний — убедиться, что программное средство функционирует в соответствии с требованиями заказчика и их спецификациями, и этим удостоверить его качество. Испытания программного обеспечения выполняются не только при создании новых компонентов программ, но и при всех их последующих изменениях. Следствием этого является высокая потенциальная стоимость испытаний, что, в итоге, ведет к уменьшению объема испытаний, а потому недостаточной проверенности программных средств, поставляемых заказчику или предлагаемых "на рынке". I

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

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

В работах Майерса (G. J. Myers) [35], Пратера (R. Е. Prather) [98], Мак-Кейба (T.J. McCabe) [94], Канера (С. Капег) [89, 90] и других авторов описаны различные методы испытаний программного обеспечения, применяемые в настоящее время на практике. Однако эти методы имеют определенные недостатки и не гарантируют полную правильность программы по завершению их применения. Существующие методы и средства являются взаимодополняющими, и появление новых методов и средств позволяет либо получать "более правильные" программы, либо достигать этого более дешевым путем.

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

Данная работа является частью исследований, проводившихся в контексте автоматизации измерения и оценивания программного обеспечения в рамках предложенного в Институте автоматики и процессов управления (ИАПУ) ДВО РАН языково-ориентированного подхода (ЯОП) к измерению и оцениванию качества программного обеспечения. Основным требованием ЯОП является строгое, семантически обоснованное определение понятий предметной области качество программного обеспечения, что позволяет достичь единства в толковании этих понятий и связей между ними. В работах Б.И. Кована, Т.О. Матвеевой, С.Н. Остроуховой и Е.А. Шалфеевой были определены принципы применения ЯОП к специфицированию требований к качеству программного средства, измерению составляющих его программных продуктов и оцениванию достигнутого в них уровня качества [16, 17, 19, 22, 36, 63, 64, 66, 68, 69]; построены обобщенная модель современного алгоритмического языка программирования [18, 20, 67, 70, 71] и обобщенные статические модели программ, обеспечивающие интерпретацию метрик качества в терминах этих моделей [48, 72]; разработаны методы реализации функций статических измерений измерительных языковых процессоров [44].

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

Для достижения цели работы было необходимо решить следующие задач и.

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

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

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

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

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

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

1. Формально определены в терминах измерительной модели алгоритмического языка программирования традиционные методы и метрики покрытия испытаниями семантических языковых конструкций (компонентов) программной единицы и компонентов графа потока управлений. Полученные определения позволяют целостно встроить эти методы и метрики в программные средства поддержки языково-ориентированного подхода к измерению и оцениванию программных средств.

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

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

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

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

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

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

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

3. Разработанное программное средство измерения процесса исполнения программ, написанных на языке Турбо Паскаль версии 7.0, включающее в себя метод покрытия потенциальных контекстов, используется в ИАПУ ДВО РАН как компонент измерительной среды для исследования языково-ориентированного подхода к измерению и оцениванию качества программ, написанных на алгоритмических языках программирования.

4. Вышеуказанное программное средство измерения процесса исполнения программ, написанных на языке Турбо Паскаль версии 7.0, используется в учебном процессе на кафедре программного обеспечения ЭВМ Института математики и компьютерных наук ДВГУ при выполнении курсовых и дипломных работ по специальности "Программное обеспечение вычислительной техники и автоматизированных систем".

Реализация результатов работы. Представленные в работе исследования по созданию моделей, методов и средств структурных испытаний программ в рамках языково-ориентированного подхода выполнены в рамках научно-исследовательских тем ИАПУ ДВО РАН:

• "Развитие методов и инструментальных средств решения задач математического моделирования, исследования операций, математического программирования, автоматизированной обработки знаний и графической информации с использованием параллельных вычислений и многопроцессорных вычислительных комплексов", № гос. регистрации 01200205277;

• "Методы и средства технологии автоматизированной обработки знаний, специфицирования и анализа программного обеспечения, распределенных вычислительных систем, обработки и визуализации графической информации с применением параллельных вычислений", № гос. регистрации 01.99.00 05772;

• "Методы и средства технологии создания экспертных систем, основанных на системах логических соотношений", № гос. регистрации 01.9.50006915.

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

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

• IV Международной конференции "Качество программного обеспечения информационных технологий" (Дагомыс, 1992);

• IV Международной конференции "Измерения, контроль и автоматизация производственных процессов" (Барнаул, 1997);

• Региональной научной конференции "Молодежь и научно-технический прогресс" (Владивосток, 1998);

• Дальневосточной математической школе-семинаре им. Е.В.Золотова (Владивосток, 1999 и 2000 гг.);

• IV Всероссийской научной Internet-конференции "Компьютерное и математическое моделирование в естественных и технических науках" (Тамбов, 2002);

• 10-й Международной конференции SofiCC)M-2002 "Программное обеспечение, телекоммуникации и компьютерные сети" (Сплит (Хорватия), Венеция, Анкона (Италия), Дубровник (Хорватия), 2002);

• совместных научных семинарах отдела экспертных систем ИАПУ ДВО РАН и факультета компьютерных наук Института математики и компьютерных наук ДВГУ. !

Публикация результатов работы. По теме диссертации опубликовано 14 печатных работ [21, 23, 24, 25, 26, 27, 28, 37, 38, 39, 40, 41, 42, 73]. I

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

Структура и объем работы. Диссертация состоит из введения, пяти глав, заключения, списка литературы и пяти приложений. Основная часть работы содержит 164 страницы текста, 24 рисунка. Список литературы содержит 106 наименований.

Похожие диссертационные работы по специальности «Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей», 05.13.11 шифр ВАК

Заключение диссертации по теме «Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей», Никифорова, Наталия Юрьевна

5.3 Выводы к пятой главе

1. Разработаны методы реализации функций динамических измерений измерительных языковых процессоров алгоритмических языков программирования, основанные на использовании систем построения трансляторов TP Yacc и TP Lex и разработке библиотек измерительных подпрограмм.

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

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

4. Разработанные измерительный анализатор и программное средство измерения процесса исполнения программ используются в ИАПУ ДВО РАН как 'компонент измерительной среды для исследования языково-ориенти-рованного подхода к измерению и оценке качества программ и на кафедре программного обеспечения ЭВМ Института математики и компьютерных наук ДВГУ при выполнении курсовых и дипломных работ по специальности "Программное обеспечение вычислительной техники и автоматизированных систем".

ЗАКЛЮЧЕНИЕ

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

1. Формально определены в терминах измерительной модели алгоритмического языка программирования традиционные методы и метрики покрытия испытаниями семантических языковых конструкций (компонентов) программной единицы и компонентов графа потока управления. Полученные определения позволяют целостно встроить эти методы и метрики в программные средства поддержки языково-ориентированного подхода к измерению и оцениванию программных средств.

2. На основе анализа особенностей алгоритмических языков программирования и написанных на них текстов программ даны определения понятий контекст и потенциальный контекст в программе или ее фрагменте. Понятие потенциальный контекст позволяет до начала испытаний программной единицы на комплекте тестов выявлять семантические дефекты "неинициализированные переменные"^ т.е. реализовать такую статическую проверку семантической правильности программ, которая обычно выполняется при их динамических испытаниях - Тестировании.

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

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

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

6. Разработано программное средство измерения процесса исполнения программ, написанных на языке Турбо Паскаль версии 7.0, включающее в себя метод покрытия потенциальных контекстов. Оно используется в ИАПУ ДВО РАН как компонент измерительной среды для исследования языково-ориентированного подхода к измерению и оцениванию качества программ, написанных на алгоритмических языках программирования, и на кафедре программного обеспечения ЭВМ Института математики и компьютерных наук ДВГУ при выполнении курсовых и дипломных работ по специальности "Программное обеспечение вычислительной техники и автоматизированных систем".

Список литературы диссертационного исследования кандидат технических наук Никифорова, Наталия Юрьевна, 2003 год

1. Введение в языки программирования: Перевод с англ. М.: Мир, 1980. 192 с.

2. Берж К. Теория графов и ее применения. Перевод с франц. М.: Изд-во иностранной литературы, 1962. 319с.

3. Борковский А.Б. Англо-русский словарь по программированию и информатике (с толкованиями). М.: Рус. яз., 1990. 335 с.

4. Боэм Б., Браун Дж., Каспар X., Липов М., Мак-Леод Г., Мерит М. Характеристики качества программного обеспечения: Пер. с англ. М.: Мир, 1981.206 с.

5. Большая Советская Энциклопедия: в 30 т. / Гл. ред. A.M. Прохоров. М.: Советская энциклопедия, 1969-1978. Т. 1-30.

6. Грис Д. Конструирование компиляторов для цифровых вычислительных машин. Перевод с англ. М.: Мир, 1975. 544 с.

7. Оценка качества программных средств. Общие положения. ГОСТ 28195-89. М.: Издательство стандартов, 1989. 38 с.

8. Джонсон С.С. Yacc. http//www.docs.rinet.ru/YACC/yacc.html

9. Изосимов А.В., Рыжко А.Л. Метрическая оценка качества программ. М.: Изд-во МАИ, 1989. 96 с.

10. Кауфман В.Ш. Языки программирования. Концепции и принципы. М.: Радио и связь, 1993. 432 с.

11. Коган Б.И. Экспериментальные исследования программ. М.: Наука, 1988. 184 с.

12. Коган Б.И. Измерительные языковые процессоры // Адаптируемые средства программирования. Методы оценки трансляторов: Материалы школы-семинара 5-10 июня 1989 г. Кишинев: ДНТ, 1989. С. 59-63.

13. Коган Б.И. Использование измерительных языковых процессоров в интеллектуальных средствах оценки качества программ // Методыповышения качества программного обеспечения: Материалы семинара. Владивосток: ДВО АН СССР, 1990. С.31-36.

14. Коган Б.И. Измерительные языковые процессоры для исследований и оценки качества программных средств: Диссертация на соискание ученой степени доктора технических наук. Владивосток: ИАПУ ДВО РАН, 1993.450 с.

15. Коган Б.И. Определение базовой объективной системы внутренних свойств программных продуктов. Препринт. Владивосток: ИАПУ ДВО РАН, 1996. 56 с.I

16. Коган Б.И., Матвеева Т.О. Повышение возможностей автоматизации оценки качества программ при использовании реляционного подхода к их измерению. // Вестник ДВО РАН, N 4, 1996. С. 29-42.

17. Коган Б.И., Остроухова С.Н. Построение измерительной модели языка программирования. Препр. Владивосток: ИАПУ ДВО РАН, 1996. 56 с.

18. Коган Б.И. Языково-ориентированный подход к оцениванию качества программного обеспечения // Информационные технологии, М.: Машиностроение, N.1, 1998. С.26-30.

19. Коган Б.И., Остроухова С.Н. Построение измерительной модели современного языка программирования. Препринт. Владивосток: ИАПУ ДВО РАН, 1998. 38 с.

20. Коган Б.И., Никифорова НЛО. Модели традиционных покрытий испытаниями // Материалы региональной научной конференции "Молодежь и научно-технический прогресс". Тезисы доклада. Владивосток: Изд-во ДВГТУ, 1998. С. 100-101.

21. Коган Б.И., Шалфеева Е.А. Средства специфицирования моделей и метрик. Препринт 34-2000. Владивосток: ПАПУ ДВО РАН. 47 с.

22. Коган Б.И., Никифорова Н.Ю. Контекст в языках программирования: определение контекста в программе. Препринт 4—2001. Владивосток: ИАПУ ДВО РАН, 2001. 21 с.

23. Коган Б.И., Никифорова Н.Ю. Контекст в языках программирования: модель контекста в программе. Препринт 5-2001. Владивосток: ИАПУ ДВО РАН, 2001. 43 с.

24. Коган Б.И., Никифорова Н.Ю. Метод покрытия испытаниями потенциальных контекстов программной единицы. Препринт 10-2003. Владивосток: ИАПУ ДВО РАН, 2003. 32 с.

25. Кодухов В.И. Общее языкознание. Учебное пособие для студентов фил. специальностей. М.: высшая школа, 1974. 303 с.

26. Колшанский Г.В. Контекстная семантика. М.: Наука, 1980. 150 с.

27. Кристофидес H. Теория графов. Алгоритмический подход. М.: Мир, 1978. 432 с.

28. Лавров С.С. Основные понятия и конструкции языков программирования. М.: Финансы и статистика, 1982. 22 с.

29. Лингвистический энциклопедический словарь / Гл.ред. В.Н.Ярцева. М.: Сов. энциклопедия, 1990. 685 с.

30. Литвин Ф.А. Многозначность слова в языке и речи. М.: Высшая школа, 1984. 119 с.

31. Майерс Г. Искусство тестирования программ. М.: Финансы и статистика, 1982. 176 с.

32. Матвеева Т.О., Шалфеева Е.А. Специфицирование метрик программных продуктов на основе измерительных языковых моделей // Информационные технологии, 1999. № 7. С. 15-21.

33. Никифорова Н.Ю. Система измерений Паскаль-программ для РС-подобных ЭВМ // IV Международная конференция "Качество программного обеспечения информационных технологий", 2-7 ноября 1992 г. Тезисы докл. М.: СНПО "Алгоритм", 1992. С.65-69.

34. Никифорова Н.Ю. Определение и модель контекста в языке программирования II Сборник научных трудов Дальневосточной математической школы-семинара имени академика Е.В. Золотова. Тезисы доклада. Владивосток: ИПМ ДВО РАН, 1999. С.63-64.

35. Никифорова Н.Ю. Определение и модель контекста в программе // Сборник научных трудов Дальневосточной математической школы-семинара имени академика Е.В. Золотова. Тезисы докл. Владивосток:

36. ИПМ ДВО РАН, 2000. С.84-86.

37. Никифорова Н.Ю. Контекст в языках программирования: пример построения модели контекста в программе. Препринт 6-2001. Владивосток: ИАПУ ДВО РАН, 2001. 28 с.

38. Ожегов С.И. Словарь русского языка / Под ред. Н.Ю. Шведовой. 18-е изд. М.: Рус.яз. 1986. 797 с.

39. Остроухова С.Н. Разработка и исследование измерительных процессоров алгоритмических языков программирования. ДиссертацияIна соискание ученой степени кандидата тех. наук. Владивосток: ИАПУ ДВО РАН, 2000. 142с.I

40. Першиков В.И., Савинков В.М. Толковый словарь по информатике. М.: Финансы и статистика, 1991. 543 с.

41. Русский язык. Энциклопедия /Гл.ред. Ю.Н.Караулов. 2 изд., М.: Большая Российская энциклопедия; Дрофа, 1997. 703 с.

42. Татт У. Теория графов. М.: Мир, 1988. 424 с.

43. Шалфеева Е.А. Разработка и исследование методов и средствформального специфицирования моделей и метрик программ.

44. Диссертация на соискание ученой степени кандидата тех. наук. Владивосток: ИАПУ ДВО РАН, 2000. 146 с.

45. Фахрутдинов К.И. Языки программирования. Владивосток: Изд-во Дальневосточного университета, 1991. 188 с.

46. Материалы сайта "Algolist". http://algoHst.manual.ru/maths/linalg/

47. AMI: Application of metrics in industry. A quantitative approach tosoftware management. London: South Bank University, 1993. 170 p. •

48. Bache R., Mullerburg M. Measures of testability as a basis for quality assurance // Software Eng. J., 1990. Vol.5. No.2. P. 86-92.

49. Bache R., Bazzana G. Software metrics for product assessment. McGraw-Hill Book Company, 1994. 249 p.

50. Basili V.R., Hutchens D.H. An empirical study of a syntactic somplexity family // IEEE Trans, on Software Eng., 1983. Vol.9. No.6. P.664-672.

51. Basili V.R., Briand L.C., Melo W.L. A validation of object-oriented design metrics as quality indicators // IEEE Trans, on Software Eng., 1996. Vol. 22. N. 10. P.751-761.

52. Bazzana G., Brigliadori R., Cole R., Kirkwood K., Seigneur F. Techniques and Tools for Software Assessment and Certification. Research Report SQ-12-93, University of Strathclyde, Department of Computer Science, 1993. 10 p.

53. Beizer B. Black-Box Testing. Wiley, 1995.

54. Ben-Menachem M., Marliss G.S. Software Quality. Producing Practical, Consistent Software. International Thomson Computer Press, 1997. 326 p.

55. Boehm B. Software Engineering Economics. Prentice-Hall, 1981.

56. Brian L., Emam K., Morasca S. On the Application of Measurement Theory in Software Engineering: International Software Engineering Research Network technical report #ISERN-95-04. 23 p.

57. The Brighton University Resource Kit for Students, 2002, http://burks.bton.ac.uk7burks/

58. Chidamber S.R., Kemerer C.F. A metrics suite for object oriented design: // IEEE Trans. Sofware Eng., 1994. V. 20, N. 6. P.476-493."

59. Cogan B.I. Building a basic system of internal attributes for software products: An objective approach // Proc. of Int. Conf. on Software Quality, Maribor, Slovenia, 1995. Maribor: University of Maribor press, 1995. P. 127-136.

60. Cogan B.I. and Hunter R.B. Language-oriented approach to software measurement, in SMS-96 (eds C. Munson and Walter F. Tichy), pp. 3 to 8, Proceedings of Software Metrics Symposium. Germany, 1996, Berlin: IEEE Computer Society Press, 1996.

61. Cogan B.I., Matveeva Т.О. A relational approach to software measurement and quality assessment. In ESCM'96 (ed Adrian J. Couderoy). Proc. 7th European Software Control and Metrics Conference. UK, 1996, Wilmslow. P. 280-291.

62. Cogan B.I., Ostrouchova S.N. Building a measuring model of a programming language, Research Report RR/96/200. Glasgow: University of Strathclyde, Department of Computer Science, 1996. 37 p.

63. Cogan B.I., Ostrouchova S.N. Building a measuring model of a modern programming language, Preprint Research Report, University of Strathclyde, Department of Computer Science,1998. 33 p.

64. Cogan B.I., Ostrouchova S.N. Measuring models of programming languages. In: B.Cogan, I.Rosman (eds). Proc. Slovenian-Russian

65. Workshop on Software Engineering, Vladivostok, 1998. Maribor University Press, 1998. P.77-90.

66. Cogan B.L, Shalfeeva E.A. A generalised structural model of structured programs for software metrics definition // Software Quality J., 2002, No.10. P. 147-165.

67. Cornett S. Code Coverage Analysis. 1995. http://www.bullseye.com/coverage.html

68. Coupal D., Robillard P.N. Factor analysis of source code metrics // J. Syst. and Software, 1990. Vol.12. No.3. P.263-269.I

69. Deutsch M. Verification and Validation // Software Engineering (R. Jensen and C. Tonies, eds.). Prentice-Hall, 1979. pp.329-480.

70. Fenton N.E. Software Metrics: A rigorous approach, Chapman & Hall, 1991. 336 p.

71. Fenton N.E. Software measurement: A necessary scientific basis // IEEE Trans, on Software Eng., 1994. Vol.20. No.3. P. 199-206.

72. Fenton N.E., Pfleeger S.L. Software metrics: A rigorous & practical approach. Second edition. International Thompson Computer Press, 1996. 638 p.

73. Ghani A.A., Hunter R. Standards for Sourse Code Metrics, Research Report

74. SQ-8-93., University of Strathclyde, Departnfent of Computer *1. Science,! 993. 14 p.

75. Gosling J., Joy В., Steele G. The Java language specification. Addison-Wesley Longman Inc. 1996. 825 p.

76. Harrison W. Using software metrics to allocate testing resources // J. Man.1.form. Syst., 1988. Vol.4. No.4. P.93-105.

77. Horgan J.R., London S, Lyu M.R Achieving software quality with testing coverage measures // IEEE Software, 1994. Vol.11. No.4. P.60-69.

78. EE standard glossary of software engineering terminology: ANSI/IEEE Std 610.12-1990. 83 p.

79. EE standard for a software quality metrics methodology: IEEE/ANSI Std 1061-1992. 88 p.

80. EE standard classification for software anomalies. IEEE/ANSI Std 10441993. 26 p.

81. O/IEC 9126, Software product evaluation Quality characteristics and guidelines for their use, 1991. 17p.

82. Kan S.H. Metrics and Models in Software Quality Engineering. Addison-Wesley, 1995.344 p.

83. Kaner Ci, Falk J., Nguyen H.Q. Testing Computer Software. 2nd ed., Van Nostrand-Reinhold, 1993.

84. Kaner C. Software negligence and testing coverage. Software QA Quarterly, 1996. Vol.2. P.2-18.

85. Manns Т., Coleman M. Software Quality Assurance. Second-'"edition. Macmillan press, 1996.235 p. ' ;

86. McCabe T. J. A complexity measure // IEEE Trans. Software Eng. 1976. Vol.2. No.4. P.308-320'.

87. Microman Examples and Download Links for Lex & Yacc. http://www.uman.com/lexyacc.stml

88. Pfleeger S.L. Software Engineering: the Production of Quality Software. Second edition. Macmillan Publishing Company, 1991. 517 p.

89. Prather R.E. An axiomatic theory of software complexity measure // Computer J., 1984. Vol 27. No.4. P. 340-347.

90. Prather R.E. On hierarchical software metrics // Sortware Eng. J., 1987. Vol.2. No.2. P.42-45.

91. Pressman R.S. Software Engineering: Practitioner's Approach. European Third edition (ed. D. Ince). McGraw-Hill Inc., 1994. 802 p.

92. Pressman R.S. Software Engineering: Practitioner's Approach. Fourth edition. McGraw-Hill Inc., 1997. 885 p.

93. Shepperd M. Foundation of software measurement. Prentice Hall International, 1995. 234p.

94. Software Quality Assurance and Measurement: A Worldwide Perspective (eds Fenton N., Whitty R., Iizuka Y.). International Thompson Computer Press, London, UK, 1995. 320 p.

95. Random House Webster's, Electronic Dictionary and Thesaurus, College Edition. Version 1.0. 1992.

96. Yourdon E., Constantine L.L. Structured design. Prentice Hall, Englewood Cliffs, NJ.1979.

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