Добавить в корзинуПозвонить
Найти в Дзене
Протестировал

Раньше ведь как было: изучаешь теорию языков программирования и формальные методы, формальные грамматики, лексический и синтаксический

анализ, работу c AST (обход дерева, трансформация), атрибутные грамматики и синтезируемые/наследуемые атрибуты, изучаешь системы типов, семантику программ, чтобы понимать, что означает программа, изучаешь межпроцедурный анализ. Изучаешь алгоритмы статического анализа: анализ потоков данных и анализ потоков управления, абстрактную интерпретацию, ML для статического анализа, изучаешь реализации SOTA статических анализаторов с открытым исходным кодом (вроде ничего не забыл). И через несколько лет вы может быть разработаете статический анализатор, который будет находить проблемы в популярных проектах с высоким уровнем качества кода. А cейчас вы можете сделать расширение для популярной LLM из инструкций для этой LLM и вуаля, 500+ дефектов в CPython и C-расширениях для него. В 2013 году Coverity сделали автоматический анализа кода на предмет наличия проблем безопасности и ошибок в CPython 3.3.2: Если для ранее проанализированных открытых проектов зафиксирован средний уровень дефектов в 0.

Раньше ведь как было: изучаешь теорию языков программирования и формальные методы, формальные грамматики, лексический и синтаксический анализ, работу c AST (обход дерева, трансформация), атрибутные грамматики и синтезируемые/наследуемые атрибуты, изучаешь системы типов, семантику программ, чтобы понимать, что означает программа, изучаешь межпроцедурный анализ. Изучаешь алгоритмы статического анализа: анализ потоков данных и анализ потоков управления, абстрактную интерпретацию, ML для статического анализа, изучаешь реализации SOTA статических анализаторов с открытым исходным кодом (вроде ничего не забыл). И через несколько лет вы может быть разработаете статический анализатор, который будет находить проблемы в популярных проектах с высоким уровнем качества кода.

А cейчас вы можете сделать расширение для популярной LLM из инструкций для этой LLM и вуаля, 500+ дефектов в CPython и C-расширениях для него.

В 2013 году Coverity сделали автоматический анализа кода на предмет наличия проблем безопасности и ошибок в CPython 3.3.2:

Если для ранее проанализированных открытых проектов зафиксирован средний уровень дефектов в 0.69 ошибок на 1000 строк кода, то для кода Python уровень дефектов составил всего 0.005. Если учесть, что требования промышленных стандартов качества допускают наличие 1 ошибки на 1000 строк кода, то качество кода Python в 200 раз выше данных требований.

В процессе проведения исследования было проанализировано около 396 тысяч строк кода CPython 3.3.2. В итоге было выявлено 278 новых дефектов, из которых 181 уже исправлен разработчиками Python (в сумме, с 2006 года в Python выявлено 996 ошибок, исправлено - 860). При рассмотрении других проектов размером от 100 до 500 тысяч строк кода, средний показатель дефектов для открытых разработок составляет 0.60, а для проприетарных - 0.66.

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

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

https://lwn.net/SubscriberLink/1067234/e5312bed2037a102/