Skip to content

Quality assessment of defect reports in bug-tracking system

Notifications You must be signed in to change notification settings

MikhailKarpets/toolbts

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

58 Commits
 
 
 
 
 
 

Repository files navigation

toolbts

Данный набор файлов представляет собой результат моего участия в курсовом проекте на тему "Оценка качества отчетов о дефектах программного обеспечения в системах отслеживания ошибок" с компанией Exactpro (https://exactpro.com/ru).

Файлы: course_work.docx - подробное описание курсовой работы; raw_code.py - исследовательский код (неоформленный)

Ниже приведено краткое описание моей работы.

  1. Хотелось бы уметь автоматически оценивать качество описаний дефектов ПО на естественном языке. Целью моей части работы по данному курсовому проекту была попытка выполнения этой задачи методами машинного обучения.
  2. В исследовании N. Bettenburg., T. Zimmermann. What makes a good bug report?, 2008 по результатам опросов разработчиков ПО было выяснено, что в описаниях дефектов на естественном языке наиболее важно наличие следующих смысловых элементов: шаги для воспроизведения дефекта и ожидаемое/фактическое поведение программы. Наличие этих элементов принимается в данной курсовой работе критерием качества описаний дефектов.
  3. В качестве данных взята размеченная экспертом выборка, состоящая из находящихся в публичном доступе 2122 отчётов о дефектах программного обеспечения из трёх проектов https://issues.jboss.org/browse/MB-1294?jql=project%20%3D%20MB Из них лишь в 9% есть шаги для воспроизведения и лишь в 5% есть ожидаемое/фактическое поведение.
  4. Произведена предобработка текстов описаний дефектов - удаление шумовых данных (Stack Trace и проч.), удаление стоп-слов, стемминг/лемматизация.
  5. 2122 описания дефектов, после индексации tf-idf, представлены в виде матрицы объекты-признаки (признаки - термы). Для каждого варианта предобработки (стемминг/лемматизация, токены/биграммы) получена отдельная матрица.
  6. Произведено сокращение размерности пространства признаков различными методами (Information Gain, Binormal Separation).
  7. На матрицах, полученных в пунктах 5-6 обучаются несколько классификаторов (SVM, LogReg, Gaussian Naive Bayes, Random Forest), определяющих наличие/отсутствие шагов для воспроизведения дефекта и/или ожидаемого/фактического поведения программы в описании дефекта.
  8. F-measure лучшего классификатора (Random Forest, обученного на матрице проиндексированных tf-idf биграмм после Information Gain) равна 0.59 для шагов для воспроизведения и 0.55 для ожидаемого/фактического поведения.

About

Quality assessment of defect reports in bug-tracking system

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages