Основной целью данной судебной инженерно-технической экспертизы стало детальное исследование программного комплекса – мобильного приложения, разработанного в рамках договора, с целью проверки его соответствия установленным требованиям и параметрам, а также выявления возможных дефектов. Перед экспертом стояла задача определить, соответствует ли объем и состав разработанного программного обеспечения условиям договора и техническому заданию. Кроме того, требовалось установить наличие и перечень недостатков или ошибок, которые могли бы препятствовать нормальному функционированию комплекса и корректному выполнению предусмотренных операций. Особое внимание уделялось анализу доли выполненных и невыполненных работ по договору, выраженной в процентном соотношении. Важной частью исследования являлся также анализ истории изменений программного обеспечения в заданные временные интервалы, что включало определение факта изменений, их объема и, по возможности, идентификацию лиц, внесших эти изменения. Конечной целью в этой части стало определение предполагаемой даты завершения работ по разработке программного обеспечения.
Проведение экспертизы столкнулось с существенными сложностями, поскольку ключевые объекты исследования – функционирующий сервер системы, опубликованные мобильные приложения, АРМ и сайт-визитка – не были предоставлены эксперту в рабочем виде. Это обстоятельство исключило возможность непосредственного исследования функционала готового программного продукта. Для преодоления этой трудности экспертом был предложен и согласован метод исследования, основанный на моделировании: предполагалось, что разработчик создаст работоспособный аналог всех элементов системы на собственных вычислительных мощностях путем повторной сборки и настройки. Однако, ввиду неопределенных сроков подготовки такого аналога, основная часть исследования была сосредоточена на анализе общедоступных репозиториев исходного кода, размещенных на веб-сервисах GitHub и Bitbucket. В процессе работы применялись метод описания, включающий фиксацию выявленных признаков объектов экспертизы и графическое документирование информации, а также элементы метода эксперимента для анализа истории изменений. Детально изучались записи о коммитах (commit) – зафиксированных изменениях в исходном коде, их даты и авторы, что позволило выявить характер и хронологию внесения изменений. Непосредственное функциональное тестирование и опытная эксплуатация, предусмотренные методом эксперимента, не могли быть реализованы в полной мере из-за отсутствия развернутых объектов.