TL;DR
Neural software analysis leverages machine learning models trained on large code datasets to improve bug detection, type prediction, and code completion, offering a flexible alternative to traditional logical program analysis methods.
Contribution
This paper introduces neural software analysis as a novel approach, demonstrating its effectiveness in practical software development tasks and its advantages over traditional analysis techniques.
Findings
Neural analysis tools outperform traditional methods in bug detection.
They effectively handle fuzzy information like coding conventions.
Tools are successfully used in industrial practice.
Abstract
Many software development problems can be addressed by program analysis tools, which traditionally are based on precise, logical reasoning and heuristics to ensure that the tools are practical. Recent work has shown tremendous success through an alternative way of creating developer tools, which we call neural software analysis. The key idea is to train a neural machine learning model on numerous code examples, which, once trained, makes predictions about previously unseen code. In contrast to traditional program analysis, neural software analysis naturally handles fuzzy information, such as coding conventions and natural language embedded in code, without relying on manually encoded heuristics. This article gives an overview of neural software analysis, discusses when to (not) use it, and presents three example analyses. The analyses address challenging software development problems:…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
