Аналитика программного обеспечения - это аналитика, относящаяся к области программных систем принимая во внимание исходный код, статические и динамические характеристики (например, метрики программного обеспечения ), а также связанные процессы их разработки и эволюции. Он направлен на описание, мониторинг, прогнозирование и повышение эффективности и действенности разработки программного обеспечения на протяжении жизненного цикла программного обеспечения, в частности, во время разработки программного обеспечения и программного обеспечения. обслуживание. Сбор данных обычно осуществляется путем интеллектуального анализа программных репозиториев, но также может быть достигнут путем сбора данных о действиях пользователя или производственных данных. Одним из способов использования собранных данных является расширение интегрированных сред разработки (IDE) с помощью функций, управляемых данными.
.
Программная аналитика направлена на поддержку решений и получение информации, т. е. выводов, выводов и оценок программных систем и их реализации, состава, поведения, качество, эволюция, а также о деятельности различных участников этих процессов.
Методы, приемы и инструменты аналитики программного обеспечения обычно основаны на сборе, измерении, анализе и визуализации информации, содержащейся в различных источниках данных в средах и экосистемах разработки программного обеспечения. Программные системы хорошо подходят для применения аналитики, потому что, с одной стороны, доступны в основном формализованные и точные данные, а с другой стороны, программной системой чрезвычайно сложно управлять - в двух словах: «программные проекты очень измеримы, но часто непредсказуемо. "
Основные источники данных включают исходный код," проверки, рабочие элементы, отчеты об ошибках и выполнение тестов, [...] записанные в программных репозиториях, таких как CVS, Subversion, GIT и Bugzilla. "Данные телеметрии, а также трассировки выполнения или журналы также могут быть приняты во внимание.
Автоматический анализ, массив данных и систематические рассуждения поддерживают принятие решений практически на всех уровнях. Как правило, ключевые технологии, используемые в аналитике программного обеспечения, включают такие аналитические технологии, как машинное обучение, интеллектуальный анализ данных, статистика, распознавание образов, визуализация информации, а также крупномасштабные вычисления и обработка данных. Например, инструменты программной аналитики позволяют пользователям отображать полученные результаты анализа с помощью программных карт, которые поддерживают интерактивное изучение системных артефактов и коррелированных показателей программного обеспечения. Существуют также инструменты аналитики программного обеспечения, использующие аналитические технологии поверх моделей качества программного обеспечения в компаниях, занимающихся гибкой разработкой программного обеспечения, которые поддерживают оценку качества программного обеспечения (например, надежности) и определения действий по их улучшению..
В мае 2009 года аналитика программного обеспечения была впервые придумана и предложена, когда Дунмэй Чжан основал Software Analytics Group (SA) в Microsoft Research Asia (MSRA). Этот термин стал хорошо известен в исследовательском сообществе программной инженерии после того, как Чжан и ее коллеги в сотрудничестве с Тао Се из Университета штата Северная Каролина провели серию руководств и бесед по аналитике программного обеспечения из отдела разработки программного обеспечения. конференции, в том числе учебное пособие на Международной конференции IEEE / ACM по автоматизированной разработке программного обеспечения (ASE 2011), доклад на Международном семинаре по технологиям машинного обучения в разработке программного обеспечения (MALETS 2011), учебное пособие и основной доклад Чжана на IEEE -CS Conference on Software Engineering Education and Training, учебное пособие на Международной конференции по программной инженерии - Программная инженерия на практике, и основной доклад Чжана на Рабочей конференции по разработке репозиториев программного обеспечения.
В ноябре В 2010 г. Томас Циммерманн и его коллеги из Embay предложили аналитику разработки программного обеспечения (аналитика программного обеспечения с упором на разработку программного обеспечения). pirical Software Engineering Group (ESE) в Microsoft Research Redmond в своей статье FoSER 2010. Группа «Золотая рыбка» по аналитике разработки программного обеспечения была организована Циммерманном и Тимом Мензисом из Университета Западной Вирджинии на Международной конференции по программной инженерии «Программная инженерия на практике».