Обзор статических методов восстановления частичных спецификаций программных библиотек на основе анализа программных проектов
Аннотация
Постановка проблемы: широкое использование сторонних библиотек и фреймворков в процессе разработки программного обеспечения и отсутствие исчерпывающей документации, специфицирующей их применение, делают актуальной задачу построения формальных спецификаций библиотек. Из-за отсутствия документации необходимы методы, позволяющие восстановить такие спецификации на основе множества успешных примеров применения библиотек в открытых проектах по разработке программного обеспечения. Цель исследования: анализ и классификация перспективных подходов к автоматизированному извлечению спецификаций программных библиотек, реализуемых на основе статических методов. Результаты: произведены обзор, классификация и сравнение различных формализмов, которые используются для описания библиотечных компонентов. Выявлено, что наиболее выразительные комплексные спецификации, позволяющие захватывать как временные свойства, так и ограничения на данные, используемые библиотечными компонентами, в большинстве подходов описываются с помощью расширенных конечных автоматов. Произведен обзор подходов, которые могут быть использованы для извлечения стандартных (частых) правил методами статического анализа; восстановлен обобщенный алгоритм, лежащий в их основе; осуществлено сравнение качества результирующих спецификаций. Выявлено, что большая часть методов, основанных на статическом анализе кода, предполагает использование шаблонов для задания множества искомых правил. Часто извлекаемые таким образом правила должны описывать жизненный цикл объектов единственного класса. Показано, что качество конечно-автоматных спецификаций, извлекаемых таким образом, является довольно низким. Продемонстрировано, что для получения более качественного результата необходимо использовать комплексные спецификации, методы извлечения которых малочисленны и на настоящий момент не систематизированы.Опубликован
2017-12-20
Как цитировать
Егорова, И. С., & Ицыксон, В. М. (2017). Обзор статических методов восстановления частичных спецификаций программных библиотек на основе анализа программных проектов. Информационно-управляющие системы, (6), 66-75. https://doi.org/10.15217/issn1684-8853.2017.6.66
Выпуск
Раздел
Программные и аппаратные средства