пятница, 15 октября 2010 г.

CEE-SECR 2010

Конференция в целом оставила хорошие впечатления. Доклады на конференции были разной тематики, различного уровня и интересности. Конференция немного изменилась по сравнению с CEE-SECR 2009, который был совмещенным с SQA-Days: уменьшилось количество тестировщиков как среди участников, так и среди докладчиков. Кроме того, уменьшилось число докладчиков из научной среды. Сложилось впечатление, что уменьшился средний уровень докладов, хотя хорошие и интересные доклады были и на этой конференции.

Яркими пятнами первого дня конференции (13 октября) стали выступления:

  • Андрея Уразова из компании Parasoft "Программирование, ориентированное на качество"

  • Владимира Рубанова из ИСП РАН "Автоматическая генерация базовых тестов для программных
    интерфейсов библиотек на основе заголовочных файлов"


Эти два доклада показались интересными как своей тематикой, так и подготовкой докладчиков, хорошими ответами на вопросы.

Андрея Уразова спрашивали про точность и полноту обнаружения их средства статического анализа. По его примерным оценкам точность средства 80%. Измерений полноты анализа не выполнялось.

На сайте компании перечислены типы обнаруживаемых дефектов для С/С++:

  • uninitialized or invalid memory

  • null pointer dereferencing

  • array and buffer overflows

  • division by zero, memory and resource leaks, and dead code.



Владимира Рубанова спрашивали о смысле предлагаемого тестирования (функция вызывается с какими-то параметрами, результат не проверяется или проверяется слабо). Есть возможность как-то вручную управлять способом получения параметров. Применяется для свободно-распространямого ПО, в котором совсем нет тестов. Какие-то тесты лучше, чем никакие. Применение разработанного инструмента -- API Sanity Autotest -- позволило найти баги в реальных проектах. Сам проект свободно-распространяемый.

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

В завершении первого дня выступали Алексей Алексеев и Николай Гребнев из CustIS. Тема их доклада -- "Уменьшение влияния человеческого фактора" -- не очень совпадала с содержимым. Основной интерес для меня в их докладе был в использовании modelchecking для проверки бизнес-логики. В их подходе задаются аннотации к методам: StateTransition(fromState, toState) и StateRequire(CTL-formula). Первая аннотация означает, что вызов метода изменяет состояние с fromState в toState. Вторая аннотация описывает предусловие, которое должно выполняться в состоянии перед вызовом метода. Предусловие описывается CTL-формулой. Используется собственная реализация алгоритма CTL modelchecking.

Комментариев нет: