Журнал "Программная инженерия"
Теоретический и прикладной научно-технический журнал
ISSN 2220-3397
Номер 5 2018 год
Большая часть современного программного обеспечения широко использует сторонние библиотеки и компоненты. Такой подход позволяет упросить проектирование и разработку, сократить стоимость создания программного обеспечения и время выхода на рынок. Основная трудность в использовании сторонних библиотек заключается в отсутствии приемлемой документации, описывающей эти библиотеки. Это, в свою очередь, является причиной низкого качества создаваемого программного обеспечения и может приводить к различным программным дефектам. В статье рассмотрены существующие подходы к формальному языковому описанию программных библиотек. Такие языковые описания могут быть основой автоматизации решения определенного класса задач программной инженерии, связанного с многокомпонентными проектами, в которых отсутствует доступ к исходному коду компонентов. На базе сформулированных требований разрабатывается синтаксис и определяется семантика нового языка частичных спецификаций библиотек LibSL. Язык основан на формализме взаимодействующих расширенных конечных автоматов и призван описывать интерфейс и видимое поведения библиотек, необходимые при автоматизации решения ряда задач программной инженерии, таких как поиск ошибок в программных системах, использующих библиотеки, проверка корректности протокола доступа к библиотекам, проверка совместимости библиотек, реинжиниринг программного обеспечения и т. п.