Background Image
Previous Page  19 / 22 Next Page
Information
Show Menu
Previous Page 19 / 22 Next Page
Page Background

Заключение.

1. Разработан и подробно описан метод межпро-

цедурного анализа с помощью резюме для модели анализатора, ис-

пользуемой в статическом анализаторе CSA. В результате получена

новая модификация метода межпроцедурного анализа с помощью ре-

зюме для метода символьного выполнения, применимая для анализа

программ в целях выявления различных классов потенциальных де-

фектов.

2. Полученный метод реализован в виде опциональной возможно-

сти статического анализатора CSA. Это позволяет как непосредствен-

но проводить анализ программ, разработанных с использованием язы-

ков C и C++, для поиска дефектов с помощью разработанного метода,

так и сравнивать производительность при применении разработанной

модификации метода резюме с методом встраивания.

3. Для разработанного метода предложен новый метод отображе-

ния результатов анализа в целях получения возможности оценки каче-

ства анализатора, его отладки и доработки, а также в качестве потен-

циального решения для отображения результатов анализа конечному

пользователю, чтобы сократить время, затрачиваемое на поиск и ис-

правление найденных дефектов. Такой метод также реализован для

анализатора CSA.

4. Проведено предварительное сравнение двух методов межпроце-

дурного анализа: метода встраивания, реализованного непосредствен-

но в анализаторе; метода резюме, реализованного и описанного в на-

стоящей работе. Результаты предварительных измерений показывают

увеличение общей скорости анализа в однофайловом режиме прибли-

зительно на 20%: с 1,5 до 1,2 ч для анализа исходных файлов на

языках C и C++ в составе операционной системы Android с использо-

ванием двухпроцессорного сервера Intel Xeon E5-2650 (2,6 ГГц, всего

16 физических и 32 виртуальных ядра).

В дальнейшем планируется провести подробное сравнение произ-

водительности как в однофайловом, так и в межмодульном режиме

при различных опциях анализатора в целях получения достоверных

результатов. Кроме того, поскольку разработанный метод показал хо-

рошую применимость для различных задач, планируется расширить

список проверяющих модулей, поддерживающих использование ре-

зюме.

ЛИТЕРАТУРА

1.

James C. King.

Symbolic execution and program testing // Communications of the

ACM, 1976. Vol. 19. No. 7. P. 385–394.

2.

Ахо А.

,

Лам М.

,

Сети Р.

,

Ульман Д.

Компиляторы: принципы, технологии и

инструментарий. М.: Вильямс, 2008.

3.

Cadar C.

,

Dunbar D.

,

Engler D

. KLEE: Unassisted and automatic generation of

high-coverage tests for complex systems programs // In Proceedings of the USENIX

Symposium on Operating System Design and Implementation. 2008.

ISSN 0236-3933. Вестник МГТУ им. Н.Э. Баумана. Сер. “Приборостроение”. 2015. № 5 93