Программная аналитика
Эта статья требует внимания эксперта в области программного обеспечения . Конкретная проблема заключается в том, что это, похоже, искажает историю программной аналитики. ( декабрь 2014 г. ) |
Аналитика программного обеспечения — это аналитика, специфичная для области программных систем, учитывающая исходный код , статические и динамические характеристики (например, метрики программного обеспечения ), а также связанные с ними процессы их разработки и эволюции . Он направлен на описание, мониторинг, прогнозирование и повышение эффективности и результативности разработки программного обеспечения на протяжении всего жизненного цикла программного обеспечения , в частности, во время разработки и обслуживания программного обеспечения . Сбор данных обычно осуществляется с помощью репозиториев программного обеспечения для майнинга , но также может быть достигнут путем сбора действий пользователя или производственных данных.
Определения
[ редактировать ]- «Аналитика программного обеспечения направлена на получение ценной и полезной информации из программных артефактов, которая помогает специалистам-практикам выполнять задачи, связанные с разработкой программного обеспечения, системами и пользователями». [1] --- сосредоточен на аналитике, применяемой к артефактам, из которых состоит программная система.
- «Аналитика программного обеспечения — это аналитика данных о программном обеспечении для менеджеров и инженеров-программистов с целью дать возможность отдельным лицам и командам, занимающимся разработкой программного обеспечения, получать и делиться информацией из своих данных для принятия более эффективных решений». [2] --- усиливает основные цели методов и приемов анализа программного обеспечения, уделяя особое внимание как программным артефактам, так и деятельности участвующих разработчиков и команд.
- «Аналитика программного обеспечения (SA) представляет собой отрасль анализа больших данных . SA занимается анализом всех артефактов программного обеспечения, а не только исходного кода. [...] Эти уровни варьируются от более высокого уровня управления и настройки предприятия управление видением и портфелем, планирование и реализация управления проектами разработчиками программного обеспечения». [3] --- отражает широкий охват, включая различных заинтересованных сторон.
Цели
[ редактировать ]Аналитика программного обеспечения направлена на поддержку решений и получение информации, т. е. выводов, заключений и оценок о программных системах и их реализации, составе, поведении, качестве, развитии, а также о деятельности различных заинтересованных сторон этих процессов.
- Глубокая информация, полученная с помощью программного анализа, передает значимое и полезное понимание или знания для выполнения целевых задач. Как правило, его нелегко получить путем прямого изучения необработанных больших данных без помощи аналитических методов и приемов.
- Полезная информация, полученная с помощью аналитики программного обеспечения, определяет или предписывает решения, которые могут принять заинтересованные стороны в процессах разработки программного обеспечения (например, специалисты-практики программного обеспечения, руководители разработчиков или руководители высшего звена).
Подход
[ редактировать ]Методы, приемы и инструменты аналитики программного обеспечения обычно основаны на сборе, измерении, анализе и визуализации информации, содержащейся в многочисленных источниках данных, хранящихся в средах и экосистемах разработки программного обеспечения. Программные системы хорошо подходят для применения аналитики, поскольку, с одной стороны, доступны в основном формализованные и точные данные, а с другой стороны, программными системами чрезвычайно сложно управлять – в двух словах: «программные проекты легко измеримы, но часто непредсказуемо». [2]
Основные источники данных включают исходный код , «регистрации, рабочие элементы, отчеты об ошибках и выполнение тестов [...], записанные в репозиториях программного обеспечения, таких как CVS, Subversion, GIT и Bugzilla». [4] Также могут быть приняты во внимание данные телеметрии , а также трассировки или журналы выполнения.
Автоматизированный анализ, массивные данные и систематические рассуждения поддерживают принятие решений практически на всех уровнях. В целом, ключевые технологии, используемые в программной аналитике, включают такие аналитические технологии, как машинное обучение , интеллектуальный анализ данных , статистика , распознавание образов , визуализация информации , а также крупномасштабные вычисления и обработка данных. Например, инструменты программного анализа позволяют пользователям отображать полученные результаты анализа с помощью программных карт , которые поддерживают интерактивное исследование системных артефактов и коррелирующих показателей программного обеспечения. также существуют инструменты анализа программного обеспечения, использующие аналитические технологии поверх моделей качества программного обеспечения В компаниях по гибкой разработке программного обеспечения , которые поддерживают оценку качества программного обеспечения (например, надежности) и принятие мер по его улучшению. [5]
История
[ редактировать ]Эта статья требует внимания эксперта в области программного обеспечения . Конкретная проблема заключается в том, что это искажает историю аналитики программного обеспечения, укрепляя единственную исследовательскую группу, которая утверждает, что придумала выражение «аналитика программного обеспечения». ( август 2017 г. ) |
В мае 2009 года программная аналитика была впервые придумана и предложена, когда Донмей Чжан основал группу Software Analytics Group (SA) в Microsoft Research Asia (MSRA). Этот термин стал широко известен в исследовательском сообществе в области разработки программного обеспечения после того, как Чжан и ее коллеги в сотрудничестве с Тао Се из Университета штата Северная Каролина провели серию учебных пособий и докладов по аналитике программного обеспечения на конференциях по разработке программного обеспечения, включая учебное пособие на Международная конференция IEEE/ACM по автоматизированной разработке программного обеспечения (ASE 2011), [6] выступление на Международном семинаре по технологиям машинного обучения в программной инженерии (MALETS 2011), [7] учебное пособие и основной доклад, сделанный Чжаном на конференции IEEE-CS по образованию и обучению в области разработки программного обеспечения, [8] [9] учебное пособие на Международной конференции по программной инженерии - Software Engineering in Practice Track, [10] и основной доклад Чжана на Рабочей конференции по репозиториям программного обеспечения для майнинга. [11]
В ноябре 2010 года аналитика разработки программного обеспечения (аналитика программного обеспечения с акцентом на разработку программного обеспечения) была предложена Томасом Циммерманном и его коллегами из группы эмпирической разработки программного обеспечения (ESE) в Microsoft Research Redmond в их статье FoSER 2010. [12] Панельная дискуссия по аналитике разработки программного обеспечения была организована Циммерманном и Тимом Мензисом из Университета Западной Вирджинии на Международной конференции по разработке программного обеспечения «Разработка программного обеспечения на практике». [13]
См. также
[ редактировать ]- Репозитории программного обеспечения для майнинга
- Обслуживание программного обеспечения
- Программная археология
- Разработка программного обеспечения
- Процесс разработки программного обеспечения
- Пользовательский опыт
- Компьютерное программное обеспечение
- Прикладное программное обеспечение
- Индустрия программного обеспечения
- Аналитика
Ссылки
[ редактировать ]- ^ Д. Чжан, С. Хан, Ю. Дэн, Ж.-Г. Лу, Х. Чжан: «Аналитика программного обеспечения на практике». Программное обеспечение IEEE, сентябрь/октябрь. 2013, стр. 30-35.
- ^ Перейти обратно: а б Раймонд П.Л. Бусе и Томас Циммерманн. «Информационные потребности для аналитики разработки программного обеспечения». В материалах 34-й Международной конференции по программной инженерии (ICSE 2012), Программная инженерия на практике, Цюрих, Швейцария, июнь 2012 г., стр. 987-996.
- ^ Т.М. Абделлатиф, Л.Ф. Капрец, Д. Хо. «Аналитика программного обеспечения для практики разработки программного обеспечения: систематический обзор литературы». 1. Международный семинар по разработке больших данных, 2015, стр. 30-36.
- ^ Харальд Галл, Тим Мензис, Лори Уильямс и Томас Циммерман. «Аналитика разработки программного обеспечения». Отчеты Дагштула, Vol. 4, выпуск 6, стр. 64-83.
- ^ Мартинес-Фернандес, Сильверио; Воллмер, Анна Мария; Едличка, Андреас; Франч, Ксавье; Лопес, Лидия; Рам, Прабхат; Родригес, Пилар; Аарамаа, Саня; Баньято, Алессандра (2019). «Постоянная оценка и улучшение качества программного обеспечения с помощью инструментов аналитики программного обеспечения: практический пример» (PDF) . Доступ IEEE . 7 : 68219–68239. Бибкод : 2019IEEA...768219M . дои : 10.1109/ACCESS.2019.2917403 . ISSN 2169-3536 .
- ^ Дунмей Чжан и Тао Се. «xSA: экстремальная аналитика программного обеспечения — сочетание экстремальных вычислений и аналитики программного обеспечения». В материалах 26-й Международной конференции IEEE/ACM по автоматизированной разработке программного обеспечения (ASE 2011), Учебное пособие, Лоуренс, Канзас, ноябрь 2011 г.
- ^ Дунмей Чжан, Иннун Дан, Цзянь-Гуан Лу, Ши Хань, Хайдун Чжан и Тао Се. «Аналитика программного обеспечения как практический пример обучения: подходы и опыт». В материалах международного семинара по технологиям машинного обучения в разработке программного обеспечения (MALETS 2011), Лоуренс, Канзас, ноябрь 2011 г. в формате PDF. Слайды
- ^ Дунмэй Чжан. «Аналитика программного обеспечения на практике и ее значение для образования и обучения». Основной доклад. В материалах 24-й конференции IEEE-CS по образованию и обучению программной инженерии (CSEE&T 2012), Учебное пособие, Нанкин, Китай, апрель 2012 г.
- ^ Дунмей Чжан, Иннун Дан, Ши Хань и Тао Се. «Обучение и обучение аналитике программного обеспечения». В материалах 24-й конференции IEEE-CS по образованию и обучению программной инженерии (CSEE&T 2012), Учебное пособие, Нанкин, Китай, апрель 2012 г.
- ^ Дунмей Чжан и Тао Се. «Программная аналитика на практике: мини-учебник». В материалах 34-й Международной конференции по программной инженерии (ICSE 2012), Программная инженерия на практике, Мини-учебник, Цюрих, Швейцария, июнь 2012 г., стр. 997. Слайды .
- ^ Дунмэй Чжан. «Основной доклад MSR 2012: Аналитика программного обеспечения на практике – подходы и опыт». В материалах 9-й рабочей конференции по репозиториям программного обеспечения для майнинга (MSR 2012), Цюрих, Швейцария, июнь 2012 г., стр. 1.
- ^ Раймонд П.Л. Бус и Томас Циммерманн. «Аналитика для разработки программного обеспечения». В материалах семинара по будущему исследований в области разработки программного обеспечения (FoSER 2010), Санта-Фе, Нью-Мексико, США, ноябрь 2010 г., стр. 77-80.
- ^ Тим Мензис и Томас Циммерманн. «Панель Goldfish Bowl: аналитика разработки программного обеспечения». В материалах 34-й Международной конференции по программной инженерии (ICSE 2012), Программная инженерия на практике, Цюрих, Швейцария, июнь 2012 г., стр. 1032-1033.
Внешние ссылки
[ редактировать ]- InfoWorld: Превратите показатели приложений в ценность для бизнеса
- Группа Microsoft Research Asia Software Analytics (SA)
- Microsoft Research Redmond Empirical Software Engineering Group (ESE)
- Аналитика программного обеспечения на практике и ее значение для образования и обучения, основной доклад Донмей Чжана на 24-й конференции IEEE-CS по образованию и обучению в области программной инженерии (CSEE&T 2012)
- Аналитика программного обеспечения на практике: подходы и опыт, основные слайды Донмей Чжана на 9-й рабочей конференции по репозиториям программного обеспечения для майнинга (MSR 2012)
- Аналитика программного обеспечения на практике, слайды мини-уроков Дунмей Чжана и Тао Се на 34-й Международной конференции по программной инженерии (ICSE 2012)
- Аналитика программного обеспечения
- Microsoft Azure — Application Insights в Azure