Conozca LLMSA: un enfoque neurosimbólico composicional para análisis estático personalizable y sin compilación con alucinaciones reducidas

El análisis estático es una parte inherente del proceso de desarrollo de software, ya que permite actividades como la búsqueda de errores, la optimización del programa y la depuración. Los enfoques tradicionales tienen dos inconvenientes principales: los métodos basados ​​en la compilación de código están destinados a fallar en cualquier escenario de desarrollo donde el código esté incompleto o cambie rápidamente, y la necesidad de adaptarlo requiere un conocimiento profundo de los aspectos internos del compilador y de los IR inaccesibles para muchos desarrolladores. Estos problemas impiden que las herramientas de análisis estático se utilicen ampliamente en escenarios del mundo real.

Las herramientas de análisis estático existentes, como FlowDroid e Infer, utilizan IR para detectar problemas en los programas. Sin embargo, dependen de la compilación, lo que limita su usabilidad en bases de código dinámicas e incompletas. Además, no cuentan con suficiente soporte para adaptar las tareas de análisis a las necesidades de usuarios específicos; más bien, la personalización requiere un conocimiento profundo de las infraestructuras del compilador. Sin embargo, los sistemas basados ​​en consultas como CodeQL, que buscan mitigar estas limitaciones, presentan importantes desafíos de aprendizaje derivados de lenguajes intrincados de dominios específicos e interfaces integrales de programación de aplicaciones. Estas deficiencias limitan su eficiencia y aceptación en diversos contextos de programación.

Investigadores de la Universidad Purdue, la Universidad de Ciencia y Tecnología de Hong Kong y la Universidad de Nanjing han diseñado LLMSA. Este marco neurosimbólico tiene como objetivo romper los cuellos de botella asociados con el análisis estático tradicional al permitir una funcionalidad sin compilación y una personalización completa. El marco LLMSA utiliza un lenguaje de políticas orientado al registro de datos para descomponer tareas analíticas complejas en subproblemas más pequeños y manejables. La metodología aborda con éxito los errores de alucinación en los modelos lingüísticos combinando un análisis determinista centrado en atributos sintácticos con un razonamiento neuronal dirigido a elementos semánticos. Además, su implementación de técnicas complejas como la evaluación diferida en la que los cálculos neuronales se posponen hasta que sean necesarios y el procesamiento incremental y paralelo que optimiza la utilización de los recursos computacionales al tiempo que minimiza la redundancia mejoran significativamente su eficacia. Este marco arquitectónico coloca a LLMSA como un sustituto versátil y resistente de las técnicas de análisis estático convencionales.

El marco propuesto combina los elementos simbólicos y neuronales para satisfacer sus objetivos. Los constructores simbólicos determinan árboles de sintaxis abstracta (AST) de forma determinista para obtener características sintácticas, mientras que los componentes neuronales aplican modelos de lenguaje grande (LLM) para razonar sobre relaciones semánticas. El lenguaje de políticas limitado estilo Datalog permite al usuario esbozar tareas intuitivamente, dividiéndolas en reglas exactas para su inspección. La evaluación diferida ahorra costos computacionales ya que realiza operaciones neuronales solo cuando es necesario, mientras que el procesamiento incremental ahorra cálculos redundantes en procesos iterativos. La ejecución concurrente hace que reglas independientes se ejecuten simultáneamente y mejora enormemente el rendimiento. El marco ha sido probado con programas Java en tareas como análisis de alias, división de programas y detección de errores, demostrando así su versatilidad y escalabilidad.

LLMSA tuvo un buen desempeño en una variedad de tareas de análisis estático. Logró una precisión del 72,37 % y una recuperación del 85,94 % para el análisis de alias y una precisión del 91,50 % y una recuperación del 84,61 % para la división de programas. Para las tareas de detección de errores, tuvo una precisión promedio del 82,77% y una recuperación del 85,00%, superando así a herramientas dedicadas como NS-Slicer y Pinpoint por un buen margen de puntuación F1. Además, la metodología pudo identificar 55 de 70 vulnerabilidades de contaminación en el conjunto de datos de TaintBench, con una tasa de recuperación que superó a una herramienta de grado industrial en un 37,66% y una mejora significativa en la puntuación F1. LLMSA logró una mejora de hasta 3,79 veces en comparación con otros diseños en términos de eficiencia computacional, demostrando así su potencial para realizar diversas tareas analíticas de manera eficiente y competente.

Esta investigación presenta LLMSA como un enfoque transformador para el análisis estático, que supera los desafíos relacionados con la dependencia de la compilación y la personalización limitada. Se ha obtenido un gran rendimiento, escalabilidad y flexibilidad entre aplicaciones en el contexto de diferentes tareas de análisis utilizando el marco neurosimbólico junto con un lenguaje de políticas correctamente definido. La eficacia y la versatilidad hacen que LLMSA sea un recurso esencial, que facilita los métodos avanzados de análisis estático para el desarrollo de software.


Verificar el Papel. Todo el crédito por esta investigación va a los investigadores de este proyecto. Además, no olvides seguirnos en Gorjeo y únete a nuestro Canal de telegramas y LinkedIn Grarriba. No olvides unirte a nuestro SubReddit de más de 60.000 ml.

🚨 Tendencias: LG AI Research lanza EXAONE 3.5: tres modelos bilingües de código abierto a nivel de inteligencia artificial de frontera que brindan un seguimiento de instrucciones inigualable y una amplia comprensión del contexto para el liderazgo global en la excelencia en inteligencia artificial generativa….


Aswin AK es pasante de consultoría en MarkTechPost. Está cursando su doble titulación en el Instituto Indio de Tecnología de Kharagpur. Le apasiona la ciencia de datos y el aprendizaje automático, y aporta una sólida formación académica y experiencia práctica en la resolución de desafíos interdisciplinarios de la vida real.