Разделы портала

Онлайн-тренинги

.
Онлайн-семинар Алексея Баранцева "Обзор методов анализа программ"
27.05.2010 10:24

19 мая по инициативе Ростислава Яворского (Microsoft Research) и сообщества Гуру на Урале состоялся онлайн-семинар, на котором  Алексей Баранцев выступил с докладом на тему "Обзор методов анализа программ". Семинар нацелен главным образом на студентов и аспирантов.

Доступна запись семинара (~2 часа) и слайды.

Аннотация:

Разработка и анализ компьютерных программ подобны двум сторонам одной медали -- они не могут существовать друг без друга и друг друга взаимно дополняют. Анализ обеспечивает обратную связь, благодаря которой мы узнаём о том, правильно ли движется разработка.

Разумеется, конечным мерилом успешности наших усилий по созданию программы служат её пользователи. Но получение обратной связи от них в большинстве случаев неприемлемо. Во-первых, цикл получается слишком длинным, а время является самым ценным ресурсов. Во-вторых, не гарантируется систематичность и полнота предоставляемой пользователям информации. Поэтому, даже несмотря на то, что этот способ иногда применяется, в большинстве случаев необходимы внутренние источники информации о качестве продукта. И это как раз является основой для развития методов анализа программ.

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

Но по мере развития информационных технологий сложность программ возрастает очень быстро, поэтому средства анализа также требуют непрерывного совершенствования. Сейчас даже для понимания самими разработчиками устройства программы требуются средства анализа и визуализации, потому что объём и сложность кода превышают возможности непосредственного восприятия и осознания.

Аналогичная ситуация, а может быть даже более сложная, складывается в области анализа программ с целью контроля их качества. По мере роста сложности программ в них появляются новые виды дефектов, для обнаружения которых не годятся старые методы. Нужно искать новые, более эффективные методы выявления проблем, а также профилактики их появления в будущем.

На первом семинаре мы проведём обзор различных методов анализа компьютерных программ, от простейших, доступных каждому отдельно взятому программисту, до весьма сложных, требующих специальной квалификации. А следующие семинары будут посвящены более подробному рассмотрению этих методов.