Ускорение локализации локализацию неисправности во время разработки программного обеспечения
Отладка в настоящее время все еще является большим путем.Кредит: Lunghammer - Tu Graz
Во многих компаниях -разработчиках разработчики по -прежнему ищут недостатки вручную - что -то, что занимает большую часть их рабочего времени.Исследования показывают, что это составляет от 30 до 90% от общего времени развития.
Биргит Хофер и Томас Хирш из Института технологий программного обеспечения в Технологическом университете Грац (TU Graz) разработали решение, основанное на существующих методах обработки естественного языка и показателей, которые могут значительно ускорить процесс поиска неисправного кода и, таким образом, отладки.
«В качестве первого шага мы провели обследования среди разработчиков, чтобы выяснить, что такое самые большие промежутки времени при отладке. Оказалось, что фактическое исправление ошибок вовсе не является большой проблемой, но эти программисты в основном увязают с помощью недостатков.то есть сужение поиска в правую область в коде программы », - объясняет Биргит Хофер.
Основываясь на этой реализации, исследователи приступили к поиску решения этой проблемы, которое также масштабируется для приложений с большим количеством кода.
Хотя существуют эффективные подходы на основе моделей, в которых программа преобразуется в логическое представление (называемое моделью), это работает только для небольших программ.Это связано с тем, что вычислительные усилия увеличиваются в геометрической прогрессии с размером кода.
Подход, принятый Биргитом Хофером и Томасом Хиршем, представляет определенные свойства программного обеспечения в числах, например, читабельность или сложность кода, а также может использоваться для больших объемов кода, так как вычислительные усилия только увеличиваются линейно.
Отправной точкой локализации неисправностей является отчет об ошибках, для которого тестеры или пользователи заполняют форму, в которой они описывают наблюдаемый сбой и вводят информацию о версии программного обеспечения, их операционной системе, шагах, которые они предприняли до того, как произошел сбой, и другие актуальныеинформация.
Основываясь на этом отчете об ошибке, комбинация обработки естественного языка и метриков анализирует весь код в отношении классов и имен переменных, файлов, методов или функций и вызовов для методов и функций.
Приложение идентифицирует разделы кода, которые наилучшим образом соответствуют отчету об ошибке.В результате разработчики получают список из пяти до 10 файлов, ранжированных в соответствии с вероятностью их ответственности за наблюдаемый сбой.
Разработчики также получают информацию о типе ошибки, которая наиболее вероятно будет вовлечена.Эти данные можно использовать для более быстрого поиска и исправления ошибки.
«Рабочее время разработчиков программного обеспечения стоит дорого, но они часто проводят больше этого дорогостоящего время поиска и исправления ошибок, чем разработка новых функций», - говорит Биргит Хофер.
«Поскольку уже существует ряд подходов к искоренению этой проблемы, мы исследовали, как мы можем объединить и улучшить их, чтобы иметь основу для коммерческого применения. Теперь мы заложили фонды, и система работает. Однако для того, чтобы чтобы для того, чтобы для того, чтобы для этогоИнтегрируйте его в компанию, он все равно должен быть адаптирован к соответствующим потребностям компании ».
Система отладки доступна через платформу “Github”.На веб -сайте проекта можно найти документы и репозитории, связанные с этим исследованием.
More information: Birgit Gertraud Hofer, Automated Debugging in Use. (2024) DOI: 10.55776/P32653
Нашли ошибку в тексте? Напишите нам.