Программная аналитика - Википедия - Software analytics

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


Определения

  • «Программная аналитика направлена ​​на получение проницательной и действенной информации из программных артефактов, которая помогает практикам выполнять задачи, связанные с разработкой программного обеспечения, системами и пользователями». [2] --- сосредоточена на аналитике, применяемой к артефактам, из которых состоит программная система.
  • «Программная аналитика - это анализ данных программного обеспечения для менеджеров и инженеров-программистов с целью дать возможность отдельным лицам и группам разработчиков программного обеспечения получать и обмениваться информацией из своих данных для принятия более эффективных решений». [3] --- усиливает основные цели методов и приемов аналитики программного обеспечения, уделяя особое внимание как программным артефактам, так и действиям вовлеченных разработчиков и команд.
  • "Программная аналитика (SA) представляет собой отрасль большое количество данных аналитика. SA занимается анализом всех программных артефактов, а не только исходного кода. [...] Эти уровни варьируются от высшего уровня правления и определения видения предприятия и управления портфелем, до планирования управления проектами и реализации разработчиками программного обеспечения ». [4] --- отражает широкий охват, включая различные заинтересованные стороны.

Цели

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

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

Подход

Методы, приемы и инструменты аналитики программного обеспечения обычно основаны на сборе, измерении, анализе и визуализации информации, содержащейся в разнообразных источниках данных, хранящихся в средах и экосистемах разработки программного обеспечения. Программные системы хорошо подходят для применения аналитики, потому что, с одной стороны, доступны в основном формализованные и точные данные, а с другой стороны, программной системой чрезвычайно сложно управлять - в двух словах: «программные проекты очень измеримы, но часто непредсказуемо. "[3]

Основные источники данных включают исходный код, «регистрации, рабочие элементы, отчеты об ошибках и выполнение тестов, [...] записанные в программных репозиториях, таких как CVS, Subversion, GIT и Bugzilla».[5] Данные телеметрии а также следы выполнения или журналы также могут быть приняты во внимание.

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

История

В мае 2009 года аналитика программного обеспечения была впервые придумана и предложена, когда Дунмей Чжан основал Software Analytics Group (SA) в Microsoft Research Asia (MSRA). Этот термин стал хорошо известен в программная инженерия После серии учебных пособий и бесед по аналитике программного обеспечения, которые Чжан и ее коллеги в сотрудничестве с Тао Се из Университета штата Северная Каролина провели на конференциях по разработке программного обеспечения, включая учебное пособие на Международной конференции IEEE / ACM по автоматизированной разработке программного обеспечения ( ASE 2011),[7] доклад на Международном семинаре по технологиям машинного обучения в программной инженерии (MALETS 2011),[8] учебное пособие и основной доклад, сделанный Чжаном на конференции IEEE-CS по образованию и обучению программной инженерии,[9][10] учебное пособие на Международной конференции по программной инженерии - Практика программной инженерии,[11] и основной доклад, сделанный Чжаном на Рабочей конференции по репозиториям программного обеспечения для майнинга.[12]

В ноябре 2010 года Томас Циммерманн и его коллеги из Empirical Software Engineering Group (ESE) в Microsoft Research Redmond в своей статье FoSER 2010 предложили аналитику разработки программного обеспечения (аналитика программного обеспечения с упором на разработку программного обеспечения).[13] Группа «Золотая рыбка» по аналитике разработки программного обеспечения была организована Циммерманном и Тим Мензис из Университета Западной Вирджинии на Международной конференции по программной инженерии, трек «Программная инженерия на практике».[14]

Смотрите также

Рекомендации

  1. ^ Брух, Марсель; Бодден, Эрик; Монперрус, Мартин; Мезини, Мира (2010). «IDE 2.0: Коллективный разум в разработке программного обеспечения». Дои:10.1145/1882362.1882374. Цитировать журнал требует | журнал = (помощь)
  2. ^ Д. Чжан, С. Хан, Ю. Дан, Ж.-Г. Лу, Х. Чжан: «Аналитика программного обеспечения на практике». Программное обеспечение IEEE, сентябрь / октябрь. 2013, с. 30-35.
  3. ^ а б Раймонд П. Л. Бузе и Томас Циммерманн. «Информационные потребности для аналитики разработки программного обеспечения». В материалах 34-й Международной конференции по разработке программного обеспечения (ICSE 2012), Разработка программного обеспечения на практике, Цюрих, Швейцария, июнь 2012 г., стр. 987-996.
  4. ^ Т. М. Абдельлатиф, Л. Ф. Капрец, Д. Хо. «Аналитика программного обеспечения для разработки программного обеспечения: систематический обзор литературы». 1. Международный семинар по проектированию больших данных, 2015 г., стр. 30–36.
  5. ^ Харальд Галл, Тим Мензис, Лори Уильямс, и Томас Циммерман. «Аналитика разработки программного обеспечения». Dagstuhl Reports, Vol. 4. Выпуск 6, с. 64-83.
  6. ^ Мартинес-Фернандес, Сильверио; Фоллмер, Анна Мария; Едличка, Андреас; Франч, Ксавье; Лопес, Лидия; Рам, Прабхат; Родригес, Пилар; Аарамаа, Санджа; Баньято, Алессандра (2019). «Постоянная оценка и повышение качества программного обеспечения с помощью инструментов аналитики программного обеспечения: пример из практики» (PDF). Доступ IEEE. 7: 68219–68239. Дои:10.1109 / ACCESS.2019.2917403. ISSN  2169-3536.
  7. ^ Дунмэй Чжан и Тао Се. «xSA: eXtreme Software Analytics - брак eXtreme Computing и Software Analytics». В материалах 26-й Международной конференции IEEE / ACM по автоматизированной разработке программного обеспечения (ASE 2011), Учебное пособие, Лоуренс, Канзас, ноябрь 2011 г.
  8. ^ Дунмэй Чжан, Иннун Данг, Цзянь-Гуан Лу, Ши Хань, Хайдун Чжан и Тао Се. «Аналитика программного обеспечения как учебный пример на практике: подходы и опыт». В материалах международного семинара по технологиям машинного обучения в разработке программного обеспечения (MALETS 2011), Лоуренс, Канзас, ноябрь 2011 г. PDFСлайды
  9. ^ Дунмэй Чжан. «Программная аналитика на практике и ее значение для образования и обучения». Keynote. In Proceedings of the 24th IEEE-CS Conference on Software Engineering Education and Training (CSEE & T 2012), Tutorial, Nanjing, China, April 2012.
  10. ^ Дунмэй Чжан, Иннун Данг, Ши Хань и Тао Се. «Обучение и тренинг по аналитике программного обеспечения». In Proceedings of the 24th IEEE-CS Conference on Software Engineering Education and Training (CSEE & T 2012), Tutorial, Nanjing, China, April 2012.
  11. ^ Дунмэй Чжан и Тао Се. «Программная аналитика на практике: мини-учебник». In Proceedings of the 34th International Conference on Software Engineering (ICSE 2012), Software Engineering in Practice, Mini Tutorial, Zurich, Switzerland, June 2012, pp. 997. Слайды
  12. ^ Дунмэй Чжан. «Основной доклад MSR 2012: Аналитика программного обеспечения на практике - подходы и опыт». В материалах 9-й рабочей конференции по репозиториям программного обеспечения для майнинга (MSR 2012), Цюрих, Швейцария, июнь 2012 г., стр.
  13. ^ Раймонд П. Л. Бузе и Томас Циммерманн. «Аналитика для разработки программного обеспечения». In Proceedings of the Workshop on Future of Software Engineering Research (FoSER 2010), Санта-Фе, Нью-Мексико, США, ноябрь 2010 г., стр. 77-80.
  14. ^ Тим Мензис и Томас Циммерманн. «Панель« Золотая рыбка »: аналитика разработки программного обеспечения». В материалах 34-й Международной конференции по разработке программного обеспечения (ICSE 2012), Программная инженерия на практике, Цюрих, Швейцария, июнь 2012 г., стр. 1032-1033.

внешняя ссылка