LGPLSEMLAug 25, 2019

Testing Neural Program Analyzers

arXiv:1908.10711v210 citations
AI Analysis

This work tackles the reliability issue of neural program analyzers for software engineers, but it is incremental as it describes ongoing efforts and preliminary results.

The paper addresses the problem of testing neural program analyzers, which are deep neural networks used in software engineering tasks, by developing techniques to assess their reliability, and preliminary experiments show that a recent model is brittle and makes mistakes with simple input perturbations.

Deep neural networks have been increasingly used in software engineering and program analysis tasks. They usually take a program and make some predictions about it, e.g., bug prediction. We call these models neural program analyzers. The reliability of neural programs can impact the reliability of the encompassing analyses. In this paper, we describe our ongoing efforts to develop effective techniques for testing neural programs. We discuss the challenges involved in developing such tools and our future plans. In our preliminary experiment on a neural model recently proposed in the literature, we found that the model is very brittle, and simple perturbations in the input can cause the model to make mistakes in its prediction.

Code Implementations2 repos
Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes