MSR Tools 0.2.0

Новая версия MSR Tools доступна для всех желающих. Главные нововведения заключаются в дополнении схемы данных, которая теперь позволяет хранить информацию о релизах и появлении новой утилиты для предсказания того какие файлы окажутся дефектными в период после релиза.

В настоящий момент мэппинг релизов не осуществляется автоматически, т.к. нет универсального для всех систем контроля версий способа определить что коммиту соответствует релиз. Однако добавлять релизы в историю можно вручную через инструментальные средства вроде SQL Server Management Studio. Также возможно реализовать произвольный «детектор» релизов и подключить его к мэппингу вместо стандартного NullReleaseDetector в файле конфигурации.

Новая утилита — Predictor. Чтобы ей воспользоваться следует запустить файл MSR.Tools.Predictor.exe и через меню открыть файл конфигурации для Вашего проекта. После чего Вы увидите следующую картинку:

Слева — список релизов, справа — список моделей предсказания. Сначала нужно отметить релизы, которые будут использоваться. Их должно быть несколько. Желательно не меньше трёх. Это не обязательно должны быть последовательные релизы. Для самого последнего из выбранных релизов будет выполнено предсказание какие файлы после него будут содержать наибольшее число дефектов. Предшествующие ему релизы будут использованы для оценки параметров модели. Соответственно чем их больше — тем лучше. В меню есть две команды. Команда «предсказать» позволяет получить список файлов, которые согласно модели будут содержать наибольшее число дефектов после релиза. Вторая команда «предсказать и проверить» позволяет получить тот же список файлов плюс список файлов, которые на самом деле оказались дефектными. По результатам сравнения этих множеств формируется оценка точности предсказаний состоящая из двух характеристик: Precision и Recall. В идеале обе эти характеристики должны быть равны единице. На деле если обе они имеют значение 0.7 и выше, то предсказание можно считать очень хорошим. Также можно указать максимальный размер множества релизов. Если число выбранных релизов больше этого числа, то выбранные релизы будут разбиты на множества максимально допустимого размера и уже для них будет осуществляться предсказание. Естественно проверка предсказаний имеет смысл только в том случае, если с момента релиза прошло достаточно времени и большая часть ошибок соответствующего релиза уже исправлена.

Содержимое файлов конфигурации подверглось изменениям. Если Вы ранее брали готовый файл конфигурации и правили его под свой проект, то придётся сделать это повторно. Примеры файлов конфигурации для SubVersion и Git там же где и раньше.