Keywords: Abstract Interpretation, Large Language Models
TL;DR: Using Large language Models to verify lack of certain type errors in Javascript using Abstract Interpretation
Abstract: Static program analysis is a popular technique in software engineering. Traditional
static analysis algorithms treat programs as sets of logical statements with
well-defined semantics. These traditional analyzers can provide guarantees of their
performance, such as guaranteeing that they will never miss a bug. However, they
leave out lots of very rich information such as variable and field names. Language
models for code on the other hand, take full advantage of information such as
variable names, but it is extremely difficult to provide guarantees of their output.
In this work, we present ABSINT-AI, a language model augmented static analyzer
based on abstract interpretation that combines the best of both worlds. Using a
language model in ABSINT-AI achieves up to a 70% decrease in false positives
for bug detection while providing guarantees of never missing a bug.
Submission Number: 13
Loading