• A
  • A
  • A
  • АБB
  • АБB
  • АБB
  • А
  • А
  • А
  • А
  • А
Обычная версия сайта

Инструмент статической верификации семейств конфигураций ядра ОС Linux

ФИО студента: Червинская Екатерина Николаевна

Руководитель: Петренко Александр Константинович

Кампус/факультет: Факультет компьютерных наук

Программа: Программная инженерия (Бакалавриат)

Год защиты: 2016

Системное программное обеспечение может быть сконфигурировано во время компиляции, в целях адаптации его к широкому спектру поддерживаемых аппаратных архитектур и прикладных областей. Допустимые комбинации опций конфигурирования часто ограничены сложными правилами. Описание вариантов и ограничений в модели вариабельности позволяет рассуждать о поддерживаемых конфигурациях. Ядро ОС Linux версии 3.2 содержит более 12 000 настраиваемых опций, которые контролируют включение 31 000 конфигурационно-зависимых файлов исходного кода, которые в свою очередь содержат 89 000 блоков #ifdef. Инструменты статического анализа могут существенно облегчить процесс поддержания качества баз кода таких объемов. Однако конфигурирование значительно усложняет автоматизированное тестирования программного обеспечения и процесс поиска ошибок. Для корректной проверки, инструменты должны производить обработку одной конкретной конфигурации, поэтому программисты должны вручную извлечь множество конфигураций, чтобы гарантировать, что все конфигурационно-условные части кода проверяются. Этот процесс является крайне трудоёмким, более того, ручное извлечение набора конфигураций не гарантирует, что все части кода, где потенциально могли бы быть ошибки не остались незамеченными. Целью выпускной квалификационной работы является разработка инструмента статической верификации семейств конфигураций ядра ОС Linux. Данный инструмент будет применяться для генерации и автоматизированной проверки набора конфигураций, обеспечивающих покрытие всех вариабельных частей кода, избегая метода полного перебора всех возможных конфигураций. В работе рассматриваются сопутствующие работы в области улучшения опыта конфигурирования, описываются различные подходы, предлагается подход к автоматизации создания наборов конфигураций с максимальным покрытием кода. Ключевые слова: линейка программных продуктов, модель вариабельности, статический анализ, ограничения конфигурирования.

Выпускные квалификационные работы (ВКР) в НИУ ВШЭ выполняют все студенты в соответствии с университетским Положением и Правилами, определенными каждой образовательной программой.

Аннотации всех ВКР в обязательном порядке публикуются в свободном доступе на корпоративном портале НИУ ВШЭ.

Полный текст ВКР размещается в свободном доступе на портале НИУ ВШЭ только при наличии согласия студента – автора (правообладателя) работы либо, в случае выполнения работы коллективом студентов, при наличии согласия всех соавторов (правообладателей) работы. ВКР после размещения на портале НИУ ВШЭ приобретает статус электронной публикации.

ВКР являются объектами авторских прав, на их использование распространяются ограничения, предусмотренные законодательством Российской Федерации об интеллектуальной собственности.

В случае использования ВКР, в том числе путем цитирования, указание имени автора и источника заимствования обязательно.

Реестр дипломов НИУ ВШЭ