Согласно оценкам Gartner, к 2016 г. открытое ПО будет входить в портфель критически важных для бизнеса приложений на 99% предприятий рейтинга Global 2000 (в 2010 г. на 75%). Принимая во внимание, что проекты с открытым кодом все чаще становятся частью коммерческих, возникает вопрос, каким образом эта тенденция может сказаться на качестве будущих приложений.
С целью повышения защищенности информационной инфраструктуры США, работающей на ПО с открытым кодом еще в 2006 г. по инициативе Министерства государственной безопасности США начал работу проект Coverity Scan. Частная компания Coverity, разработчик инструментов автоматической проверки безопасности и качества приложений на основе сканирования и анализа исходного кода, выполняет масштабное тестирование, в том числе, важнейших для открытого сообщества продуктов: Android, Linux и Apache, PHP, Firefox.
Тестирование прошлого года, результаты которого сведены в недавно опубликованном «Отчете корректности программного обеспечения с открытым кодом 2011», позволило аналитикам прийти к важному для разработчиков и, возможно, не слишком ожидаемому для крупных софтверных компаний выводу: времена, когда открытый код уступал по качеству проприетарному безвозвратно ушли. Используемые во многих проектах современные инструменты тестирования и управления качеством позволяют создавать открытые решения, в которых дефектов и потенциальных уязвимостей обнаруживается не больше, чем у ведущих вендоров. И вообще, подчеркивают эксперты, такой показатель как плотность дефектов (число проблемных точек на тысяче строк кода) в большой степени зависит от размера базы исходных кодов, числа разработчиков и используемых средств тестирования, а не от того, по какой модели создается ПО.
В 2011 г. Coverity проанализировала 45 проектов и более чем 37 млн строк кода, причем 32 млн принадлежит проектам, которые изучались и в предыдущие годы. При среднем размере приложения в 832 тыс строк кода, наибольшее число программ находится в диапазоне
Правда, даже получив отчеты о присутствии дефектов в программе, разработчики не всегда торопятся их исправить: за прошлый год было исправлено чуть больше 6 тыс дефектов, в то время как более 16 тыс остались в приложениях. Кстати, среди последних немало таких, которые оказывают большое влияние на работоспособность программы: неинициализированные переменные, ошибки памяти, несанкционированный доступ к памяти, пр.
В числе других знаковых трендов эксперты отмечают:
— открытые проекты всех размеров могут успешно внедрять методики тестирования в процессе разработки;
— открытые проекты, которые внедрили системы статистического анализа и тестирования в процессе разработки, постоянно повышают качество;
— проприетарные базы исходных текстов, при создании которых использовались средства автоматизированного тестирования, имеют качество выше среднего в целом по индустрии ПО;
— open source базы исходных текстов по качеству сравнимы с проприетарными, в особенности, если речь идет о базах одного размера.
Высокорисковые дефекты существенно влияют на отказы приложений, стабильность их работы и производительность. Они в значительной степени зависят от типа ПО и размера проекта