Научный журнал ISSN 1684-8853 English
Информационно-управляющие системы
Рецензируемое издание

Обзор статических методов восстановления частичных спецификаций программных библиотек на основе анализа программных проектов

Авторы: И. С. Егорова , В. М. Ицыксон

Постановка проблемы: широкое использование сторонних библиотек и фреймворков в процессе разработки программного обеспечения и отсутствие исчерпывающей документации, специфицирующей их применение, делают актуальной задачу построения формальных спецификаций библиотек. Из-за отсутствия документации необходимы методы, позволяющие восстановить такие спецификации на основе множества успешных примеров применения библиотек в открытых проектах по разработке программного обеспечения. Цель исследования: анализ и классификация перспективных подходов к автоматизированному извлечению спецификаций программных библиотек, реализуемых на основе статических методов. Результаты: произведены обзор, классификация и сравнение различных формализмов, которые используются для описания библиотечных компонентов. Выявлено, что наиболее выразительные комплексные спецификации, позволяющие захватывать как временные свойства, так и ограничения на данные, используемые библиотечными компонентами, в большинстве подходов описываются с помощью расширенных конечных автоматов. Произведен обзор подходов, которые могут быть использованы для извлечения стандартных (частых) правил методами статического анализа; восстановлен обобщенный алгоритм, лежащий в их основе; осуществлено сравнение качества результирующих спецификаций. Выявлено, что большая часть методов, основанных на статическом анализе кода, предполагает использование шаблонов для задания множества искомых правил. Часто извлекаемые таким образом правила должны описывать жизненный цикл объектов единственного класса. Показано, что качество конечно-автоматных спецификаций, извлекаемых таким образом, является довольно низким. Продемонстрировано, что для получения более качественного результата необходимо использовать комплексные спецификации, методы извлечения которых малочисленны и на настоящий момент не систематизированы.

Ключевые слова — спецификация программной библиотеки, формальная спецификация, извлечение спецификаций, расширенные конечные автоматы, временные свойства, поведенческая модель библиотеки, комплексные правила, статический анализ

УДК: 004.4'2 doi:10.15217/issn1684-8853.2017.6.66
Журнал: 6(91)/2017
Рубрика: Программные и аппаратные средства