Встречайте LLMSA: Нейросимволический подход для настройки статического анализа без компиляции и с уменьшением ошибок.

 Meet LLMSA: A Compositional Neuro-Symbolic Approach for Compilation-Free, Customizable Static Analysis with Reduced Hallucinations

Статический анализ в разработке программного обеспечения

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

  • Они не работают с неполным или быстро изменяющимся кодом.
  • Требуют глубоких знаний о внутреннем устройстве компиляторов.

Проблемы существующих инструментов

Существующие инструменты, такие как FlowDroid и Infer, используют промежуточные представления (IR) для обнаружения проблем в коде, но зависят от компиляции. Это ограничивает их использование в динамичных и неполных кодовых базах. Системы, основанные на запросах, такие как CodeQL, также имеют свои сложности, требуя от пользователей изучения сложных языков и интерфейсов программирования.

Решение LLMSA

Исследователи из нескольких университетов разработали LLMSA — нейросимволическую платформу, которая преодолевает недостатки традиционного статического анализа. LLMSA не требует компиляции и позволяет полную настройку анализа.

  • Использует язык политик, основанный на datalog, для разбивки сложных задач на более простые.
  • Комбинирует детерминированный парсинг с нейронным рассуждением.
  • Применяет ленивую оценку и параллельную обработку для оптимизации вычислительных ресурсов.

Преимущества LLMSA

LLMSA продемонстрировала высокую эффективность в различных задачах статического анализа:

  • 72.37% точность и 85.94% полнота для анализа псевдонимов.
  • 91.50% точность и 84.61% полнота для разделения программ.
  • 82.77% точность и 85.00% полнота для обнаружения ошибок.

Кроме того, LLMSA смогла обнаружить 55 из 70 уязвимостей в наборе данных TaintBench, превзойдя существующие промышленные инструменты по показателям.

Заключение

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

Как использовать ИИ для развития вашей компании

Если вы хотите, чтобы ваша компания развивалась с помощью искусственного интеллекта (ИИ), следуйте этим рекомендациям:

  • Изучите, как ИИ может изменить вашу работу.
  • Определите, где можно применить автоматизацию.
  • Установите ключевые показатели эффективности (KPI), которые хотите улучшить с помощью ИИ.
  • Выберите подходящее ИИ-решение и внедряйте его постепенно.
  • Расширяйте автоматизацию на основе полученных данных и опыта.

Получите помощь по внедрению ИИ

Если вам нужны советы по внедрению ИИ, пишите нам!

Попробуйте ИИ-ассистента в продажах

Наш ИИ-ассистент помогает отвечать на вопросы клиентов и генерировать контент для отдела продаж, снижая нагрузку на первую линию.

Узнайте, как ИИ может изменить ваши процессы с решениями от Flycode.ru.

Мобильная разработка на заказ и готовые решения

Мобильная разработка

Готовые и индивидуальные решения

Веб решения - разработка сайтов и сервисов

Web решения

Получите бесплатную консультацию по веб-разработке прямо сейчас

Аутсорсинг, подбор специалистов и команд разработки

Аутсорсинг

Выберите своего специалиста сегодня и начните свой проект