Как рассказал Юрий Гусев, директор департамента продуктов Progress Software компании CSBI EE, СУБД Progress от шестой версии и старше обеспечит не только безболезненный переход в 2000 год, но и прочие многочисленные коллизии летоисчисления вплоть до 328 века нашей эры. Однако, как известно, решение "Проблемы 2000" зависит не только от корректности работы базовых программных продуктов, но и от их правильного использования в реальных системах. И вот тут нас поджидает масса подводных камней, так или иначе связанных с таким понятием, как человеческий фактор. Не секрет, что людям свойственно ошибаться. Причем ошибки в прикладных системах могут быть где угодно: при неправильном использовании стандартных функций, некорректной стыковке модулей и обмене параметрами, при неверной обработке вводимых данных и данных внутри приложений и т. д. Эти ошибки часто тянутся за разработчиками от версии к версии. Как их распознать?
Progress Software предлагает разработчикам методологию исследования, центральным звеном которой является многопроходный семантический анализ исходных текстов приложений с помощью программы-анализатора Pro2000 голландской компании Vitalogic. Эта программа выявляет в исходных текстах конструкции, заведомо некорректно производящие операции с датами, а также те, правильность работы которых вызывает сомнения.
Возможность семантического анализа очень важна, так как этот способ тестирования приложений обеспечивает гораздо более полную проверку, чем наборы тестов, да и производится она значительно быстрее. Предоставляться программа будет не бесплатно (за свои ошибки разработчикам придется расплачиваться), стоимость лицензии зависит от числа строк в исходных текстах тестируемых приложений.
Впрочем, методология Progress не ограничивается семантическим анализом приложений, это лишь один из ее элементов. Методология основана на предварительной оценке рисков и последующей проверке, предусматривающей три этапа: аудит информационных систем (в том числе планирование тестовых испытаний, анализ корректности работы отдельных компонентов, а также модулей с учетом их взаимосвязей, и, наконец, подготовка к модификации системы), внесение изменений в приложения, а также внедрение модифицированной информационной системы (включая документирование, выработку рекомендаций для пользователей и подготовку персонала). Подобную проверку рекомендуется осуществлять на трех уровнях: аппаратном, на уровне системного и промежуточного ПО и на уровне приложений.