Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Перечь вопросов по индивидуальному заданию к контрольной работе по курсу “метрология и качество програмного обеспечения” для студентов направления подготовки 231000 заочной формы обучения



ПЕРЕЧЬ ВОПРОСОВ ПО ИНДИВИДУАЛЬНОМУ ЗАДАНИЮ
К КОНТРОЛЬНОЙ РАБОТЕ ПО КУРСУ
“МЕТРОЛОГИЯ И КАЧЕСТВО ПРОГРАМНОГО ОБЕСПЕЧЕНИЯ”
для студентов направления подготовки 231000 заочной формы обучения

1. AQtime. Общие понятия. Функциональные возможности. Основные режимы работы. Примеры работы данного пакета.

AQtime — профилировщик производительности, а также набор инструментов для отслеживания утечек памяти и ресурсов, разработанный компанией AutomatedQA. Данный инструмент может встраиваться в Microsoft Visual Studio[1], Visual Studio Team System, Borland Developer Studio и Embarcadero RAD Studio, что позволяет анализировать приложение не покидая среду разработки.

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

Инструмент для повышения производительности и улучшения качества 32-битных и 64-битных Windows и.NET-соединенных приложений. AQtime можно интегрировать в Microsoft Visual Studio или запускать отдельно. С помощью AQtime вы не только определите, где проблема, но и что послужило ее причиной. Отлаживайте, оптимизируйте и поставляйте цельные приложения. AQtime - это разработанный компанией AutomatedQA, отмеченный неоднократными наградами, инструмент для повышения производительности отладки памяти и ресурсов для компиляторов Microsoft, Borland, Intel, Compaq и GNU. В последнюю версию AQtime, AQtime 6, включены десятки инструментов, которые помогут вам легко и просто вычислить все проблемы производительности и утечки памяти/ресурсов в вашем коде, путем создания подробных и обширных отчетов для ваших.NET и Windows приложений. AQtime поддерживает.NET 1.0, 1.1 и 2.0 приложения и Windows 32- и 64-битные приложения.

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



 

AQtime интегрируется в Microsoft Visual Studio, а также в Borland Developer Studio, что позволяет выполнять анализ приложения, не покидая среды разработки.

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

По мере того, как вы оптимизируете и улучшаете ваш код, AQtime предоставляет вам все инструменты для сравнения и объединения результатов, чтобы со временем вы могли получить точную и аккуратную "картину" того, как ваше приложение приобретало форму:

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

• Coverage Profiling позволит вам провести все возможные испытания ваших продуктов.

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

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

AQtime - это ПОЛНОМАСШТАБНОЕ решение для профессиональных разработчиков Windows и.NET приложений, которые хотят избавиться от работы по выискиванию ошибок в разработке, поставляя при завершении проекта готовые устойчивые в работе программы.

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

 

2. CodeAnalyst. Общие понятия. Функциональные возможности. Основные режимы работы. Примеры работы данного пакета.

AMD CodeAnalyst — профилировщик кода с поддержкой графического интерфейса пользователя, предназначенный для x86-совместимых машин. Несмотря на то, что CodeAnalyst разрабатывался только для работы с процессорами производства AMD, он также может ограниченно (без поддержки аппаратных событий) работать и с процессорами производства Intel[1]. CodeAnalyst имеет схожий внешний вид и поведение как на платформе Linux, так и на платформе Microsoft Windows.

CodeAnalyst построен на основе OProfile для платформы linux и доступен для бесплатной загрузки. Графический интерфейс ориентирован на выполнение нескольких видов профилирования кода, включая профилирование на основе временных показателей, событий и др. Профилировщик выдаёт итоговый результат, в который входят различные показатели, как например, время выполнения каждой подпрограммы, которые могут быть детализированы на уровне инструкций. Время, затраченное инструкциями, может указывать на всевозможные узкие места в конвейере при выполнении инструкций. Оптимизация кода может сопровождаться представлением этапов конвейера архитектуры x86 и графическим представлением симуляции конвейера, обеспечиваемым CodeAnalyst. Оптимизация может быть простой настолько, насколько может быть простой переупорядочивание (переназначение) инструкций или изменение/удаление команд перехода и циклов, благодаря чему как можно большее число исполнимых элементов (элементы загрузки/сохранения, АЛУ, элемент работы с плавающей запятой…) обрабатывается параллельно.

AMD CodeAnalyst – фирменный профайлер компании AMD. Он ориентирован на платформу x86 и разрабатывается для операционных систем Windows и Linux. Является бесплатным.

Позволяет производить следующие виды анализа:

• Access performance – первоначальный анализ приложения, чтобы определить дальнейшие направления для анализа,

• Investigate L2 cache access – подробный анализ использования кеша второго уровня,

• Investigate branching – подробный анализ использования модуля предсказания ветвлений,

• Investigate data access – анализ использования памяти,

• Investigate instruction access – анализ процесса чтения и исполнения инструкций,

• Thread profile – анализ многопоточности и параллельного использования многоядерной или многопроцессорной системы.

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

3. Intel Parallel Studio. Общие понятия. Функциональные возможности. Основные режимы работы. Примеры работы данного пакета.

Intel Parallel Studio — параллельный пакет разработки программного обеспечения Intel, сочетающий в себе ведущие в индустрии C/C++ компилятор и Fortran компилятор, различные библиотеки, инструменты профилирования и многое другое.

Комплект Intel Parallel Studio XE включает следующее поколение инструментальных средств разработки программного обеспечения:

· Компиляторы Intel® C, C++ и Fortran — самые передовые компиляторы в отрасли

· Intel® Math Kernel Library (Intel® MKL) и Intel® Integrated Performance Primitives (Intel® IPP) — библиотеки для совершенствования производительности

· Компоненты Intel® Threading Building Blocks (Intel® TBB) и Intel® Cilk™ Plus — модели параллельного программирования

· Intel® VTune™ Amplifier XE — профилировщик производительности многопоточных приложений

· Intel® Inspector XE — отладчик памяти и многоточных приложений

· Intel® Advisor XE — средство разработки прототипов многопоточных приложений

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

Достижение наивысшей производительности приложений при сведении к минимуму времени и усилий, необходимых для разработки, отладки и тестирования. Intel® Parallel Studio XE 2013 SP1 предлагает разработчикам, использующим C/C++ и Fortran, самые передовые компиляторы и библиотеки, современные модели программирования для параллельной обработки и дополнительные средства анализа. Данное средство легко интегрируется в среду Visual Studio* и набор инструментов GNU, чтобы обеспечить высокую производительность работы при сохранении вложений в существующую среду разработки. Совершенствуйте производительность ваших приложений, созданных для работы на современных и будущих процессорах, и сопроцессорах архитектур Intel, включая процессоры Intel® Xeon® и сопроцессоры Intel® Xeon Phi™. Добивайтесь большей производительности с наименьшими затратами!

Intel® Composer XE 2013 — это высокопроизводительное средство разработки, в состав которого входят компиляторы Intel C++ и Fortran, а также многопоточные и математические библиотеки, библиотеки цифровой обработки сигналов и мультимедиа.

Ведущие компиляторы Intel® C++ и Fortran превосходят решения конкурентов по скорости на 146% и совместимы с Microsoft Visual C++* и GCC*.

Intel® Cilk™ Plus и компоненты Intel® Threading Building Blocks предоставляют модели параллельных вычислений, упрощающие работу с современными и перспективными высокопроизводительными компьютерными системами.

Ведущие библиотеки Intel® Math Kernel Library и Intel® Integrated Performance Primitives содержат широкий набор процедур для повышения производительности и ускорения разработки.

Обеспечивается совместимость с ведущими средами разработки и компиляторами под управлением Windows*, Linux* и Mac OS X*.

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

Intel® Advisor XE — это средство разработки прототипов многопоточных приложенийa для разработчиков, использующих C, C++, C# и Fortran. Это средство обнаруживает области кода с наибольшим потенциалом для реализации параллельных вычислений и выявляет основные проблемы синхронизации.

· Быстрое наращивание производительности моделей многопоточной разработки.

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

· Обнаружение проблем синхронизации еще до полного применения приложений многопоточных вычислений.

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

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

Intel® VTune™ Amplifier XE — это мощное средство для оптимизации производительности и профилировки параллельных приложений.

· Профилировка приложений написанных на C, C++, C#, Fortran, Assembly и Java*.

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

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

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

Создание более надежных приложений

Intel® Inspector XE — простой в использовании инструмент для обнаружения ошибок памяти и потоков в последовательных и параллельных приложениях на платформах Windows* и Linux*.

Анализ кода Inspect C, C++, C# и Fortran.

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

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

· Отладка случайных и неопределенных ошибок.

· Анализ роста использования динамической памяти.

· Бонус: компилятор Intel® не требуется для использования Intel Inspector XE, но при покупке комплекта вы получите дополнительные функции компилятора Intel. Статический анализ проблем безопасности Средство проверки указателей отслеживает использование памяти помимо выделяемых диапазонов адресов.

 

4. Visual_Studio_Team_System_Profiler. Общие понятия. Функциональные возможности. Основные режимы работы. Примеры работы данного пакета.

Visual Studio Team System Profiler — коммерческий профайлер (иногда употребляют термин «профилировщик») от корпорации Microsoft, входящий в состав пакета Visual Studio Team System (VSTS) и версии Development Edition среды разработки Visual Studio[1]. Данный инструмент может работать или в режиме семплирования, в котором через определенные промежутки времени производится запись снимков состояния программы, или в режиме измерения, в котором статистика собирается за счет измерений входных и выходных значений функций.[2] Достоинством режима измерения является более тщательный сбор статистики, однако он вынуждает программу работать гораздо медленнее из-за выполнения дополнительного кода при измерениях.

Профайлер VSTS призван помочь обнаруживать и способствовать решению проблем производительности в коде, написанном для платформы.NET или родного скомпилированного кода Visual C++. Помимо поддержки 32-битности, последние версии профайлера VSTS можно использовать на 64-битных Windows-платформах для профилирования как 32-битных, так и 64-битных программ. Профайлер собирает информацию по характеристикам производительности для методов, вызванных на данном этапе работы профайлера, включая количество вызовов функции и весь стек вызовов при вызове функции.

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

Статистику, выдаваемую профайлером, можно посмотреть при помощи графического интерфейса Performance Explorer (Обозреватель производительности), входящего в пакет VSTS, и доступ к которому можно получить создав Performance Session (Производительность сессии).

Отдельную версию профайлера VSTS также можно установить с DVD-диска Visual Studio Team System, она же доступна для скачивания с веб-сайта Microsoft. Несмотря на то, что отдельный компилятор можно устанавливать или использовать на любой платформе, собранные им результаты могут быть проанализрованы лишь в той версии Visual Studio, которая включает в себя профайлер.

 

5. VTune. Общие понятия. Функциональные возможности. Основные режимы работы. Примеры работы данного пакета.

Intel VTune Performance Analyzer (анализатор производительности) — коммерческое приложение для анализа производительности программ для компьютеров на базе x86-процессоров, причем программа имеет как графический интерфейс пользователя, так и поддержку командной строки. Программа доступна для Linux и для Microsoft Windows.

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

Возможности VTune Performance Analyzer:

• Дерево вызовов

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

• Семплирование на основе временных характеристик и событий

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

• Просмотр исходного кода

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

• Мониторинг программно доступных показателей производительности

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

 

• Intel Thread Profiler (Профилировщик потоков)

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

• Performance Tuning Utility (PTU) (Утилита настройки производительности)

PTU — отдельно загружаемое приложение, предоставляющее пользователям анализатора VTune доступ к экспериментальной технологии настройки. Сюда входит, например, Анализ доступа к данным (Data Access Analysis), который способен обнаруживать критические участки памяти и соотносить их с критическими участками кода.

• Intel Parallel Amplifier

Профилировщик производительности, являющийся компонентом Intel Parallel Studio. Если вы приобрели анализатор VTune, то вы также можете скачать и использовать Parallel Amplifier. Он добавляет статистическое дерево вызовов (анализ критических участков кода), при этом затрачивается меньше накладных расходов (меньше интрузивность), чем для построения VTune точного дерева вызовов, плюс анализ распараллеливаемости, блокировок и ожиданий.

 

6. DotTraceМеры информации. Общие понятия. Функциональные возможности. Основные режимы работы. Примеры работы данного пакета.

JetBrains' dotTrace — проприетарный профилировщик для отслеживания проблем производительности и узких мест использования памяти в приложениях на платформе.NET. 18 ноября 2010 года была выпущена версия dotTrace 4.0.1.

dotTrace предназначен для профилирования приложений на основе платформы.NET Framework версий 1.1, 2.0, 3.x и 4.0, отслеживание использования памяти.NET-приложениями версий 2.0 — 4.0. Кроме того, возможно профилирование ASP.NET-приложений, работающих на Internet Information Services и ASP.NET Development Server, а также можно профилировать службы Windows. Поддерживается, как интеграция в Visual Studio, так и работа в режиме командной строки.

Возможности и особенности

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

· Режимы профилирования: поддерживаются 4 режима — семплирование, трассировка, измерение времени потока подпрограммы и общий анализ времени. В режиме семплирования профилирования выполняется примерно в 30 раз быстрее, чем при трассировке, но при этом жертвуется точность измерения, данный режим предназначен для быстрого профилирования.

·

· Сравнение снимков состояния программы: можно сравнивать два любые снимка состояния (snapshots) программы, при этом программа выдаст анализ их различий.

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

· Фильтрация: можно настраивать программу на сбор информации только по нужным функциям.

· Профилирование памяти: поддерживается анализ потребляемой памяти.NET-приложениями (только для версий 2.0 и 3.x). Причем профилирования может выполняться в двух режимах: путем формирования снимков (дампов) памяти во время выполнения программы, что позволит выявить загрузку ненужных объектов в память, а также путем сравнения состояния памяти в начале и конце некоторого временного интервала, при этом программа проведет анализ и выдаст информацию о новых (New), живых (Live), мертвых (Dead) и ненужных (Garbage) объектах.

 

7. DTrace. Общие понятия. Функциональные возможности. Основные режимы работы. Примеры работы данного пакета.

DTrace — фреймворк динамической трассировки, созданный компанией Sun Microsystems, предназначенный для отладки ядра и приложений в реальном времени. Изначально DTrace был создан для Solaris, затем был открыт под лицензией Common Development and Distribution Lisence (CDDL) и портирован на ряд Unix-подобных систем.

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

Скрипты трассировки записываются на языке D (не следует его путать с другим языком программирования «D»). Этот язык является производным от языка Си с дополнительными функциями и переменными, специфическими для трассировки. Программы на D по структуре напоминают программы awk; они включают список датчиков (probe), которым соответствуют действия. При удовлетворении определённому условию, датчик срабатывает и выполняется соответствующее действие. Условием может являться, например, открытие определённого файла, запуск процесса или исполнение определённой строки кода. Существует возможность передавать информацию от одного датчика другому.

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

Поддерживаемые платформы

DTrace был представлен в ноябре 2003 года и был официально выпущен как часть операционной системы Solaris 10 в январе 2005-го. DTrace был первым компонентом проекта OpenSolaris, исходный код которого стал доступен под лицензией Common Development and Distribution License (CDDL).

DTrace был портирован в FreeBSD (версия 7.1, начало 2009).

Apple добавила поддержку DTrace в Mac OS X 10.5 «Leopard», включая графическую программу Instruments. В отличие от других платформ, в Mac OS X существует флаг (P_LNOATTACH), установка которого делает невозможным трассировку процессов такими средствами как DTrace или gdb. Изначально это создавало проблемы, так как в результате применения этого флага не могла тестироваться другая системная информация. Эта проблема была решена через несколько месяцев в обновлении Mac OS X 10.5.3.

Поддержка DTrace также разрабатывается для QNX 6.

Из-за лицензии CDDL, несовместимой с GPL, портирование в Linux возможно, но не легитимно. Для Linux разрабатывается утилита с близкой функциональностью под названием SystemTap на основе механизма инструментирования kprobes.

Однако Oracle добавил бетаверсию DTrace в Oracle Linux в 2011 году. Технология DTrace доступна в качестве ядре Unbreakable Enterprise Kernel release 2. Модуль ядра DTrace сохранил лицензию CDDL.

Примеры использования

Скрипты DTrace могут быть запущены из командной строки, используя один или более датчиков в качестве аргументов. Примеры:

# New processes with arguments,

dtrace -n 'proc:::exec-success { trace(curpsinfo->pr_psargs); }'

 

# Files opened by process,

dtrace -n 'syscall::open*:entry { printf("%s %s",execname,copyinstr(arg0)); }'

 

# Syscall count by program,

dtrace -n 'syscall:::entry { @num[execname] = count(); }'

 

# Syscall count by syscall,

dtrace -n 'syscall:::entry { @num[probefunc] = count(); }'

 

8. Valgrind. Общие понятия. Функциональные возможности. Основные режимы работы. Примеры работы данного пакета.

 

 


Дата добавления: 2015-08-29; просмотров: 30 | Нарушение авторских прав




<== предыдущая лекция | следующая лекция ==>
Министерство образования Российской Федерации | Есть много профессий, в которых хорошее владение голосом является одним из важных условий успеха. Я говорю не только о певцах, артистах разговорного жанра и разных прочих шоуменах, но и о людях 1 страница

mybiblioteka.su - 2015-2024 год. (0.027 сек.)