Открытие кода исследовательского ПО позволит избежать ошибок в научных выводах

09.02.2010 19:19

Современная наука немыслима без использования компьютеров и соответствующего программного обеспечения. Но, как выясняется, код самих научных программ зачастую нуждается в скрупулезном анализе и проверке на наличие ошибок. И наиболее эффективным методом защиты от подобных «неприятностей», по мнению профессора Даррела Инси (Darrel Ince), должна стать открытая публикация исходного кода ПО, наряду с полученными с его помощью результатами.

«Научное ПО имеет плохую репутацию из-за большого количества ошибок» - говорится в статье Инси. По сравнению с коммерческим ПО, процесс разработки, тестирования и контроля качества которого отточен до мельчайших деталей, научные лаборатории не обладают надлежащими навыками, технологиями и опытом. Отсюда достаточно высокий процент неточностей и ошибок, каждая из которых может поставить под сомнение достоверность выводов, сделанных по окончании работы.

Результаты исследования профессора Леса Хаттона (Les Hatton) работающего в университетах Кента и Кингстона, только подтверждают процитированное выше утверждение. Проанализировав несколько миллионов строк кода научного ПО, он выявил неприемлемо высокую степень несоответствий между его структурными составляющими. Например, несоответствия в интерфейсах обмена данными между модулями обнаруживаются в каждом седьмом случае для программ, написанных на Фортране, и в каждом 37 для Си. Более того, точность вычислений из-за таких ошибок падает с приемлемых шести значащих цифр до одной!

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