HeadlinesBriefing HeadlinesBriefing.com

Обратный анализатор заимствований Valen: как он работает

Hacker News •
×

Анализатор заимствований Valen работает в обратном порядке, проходя по функциям, и это новый подход к проверке безопасности памяти. В отличие от традиционных анализаторов заимствований с прямым проходом, таких как в Rust, Valen на этапе проверки безопасности обходит инструкции функции от последней к первой.

Компилятор обрабатывает функции в четыре этапа: разбор в AST, статическая типизация, статическая группировка и проверка безопасности. Проверка безопасности (№ 4) — это необычный обратный проход: сначала анализируется последняя инструкция, а затем происходит движение назад к началу функции.

Такой обратный подход даёт преимущества в удобстве, обработке циклов и скорости. Valen по-прежнему является экспериментальным проектом, и до выпуска v0.1 в феврале ожидаются шероховатости, хотя масштабная работа по рефакторингу уже ведётся.

Эта техника отличается от вывода областей жизни на основе решения ограничений, которое используется в Rust и за которым следует проверка конфликтов в прямом порядке. Хотя rustc действительно сканирует назад, чтобы найти использование переменных, его реальные проверки безопасности памяти выполняются в прямом направлении.

Источник: Hacker News · Сводку подготовил HeadlinesBriefing