Classifying and Prioritizing Facebook Infer's Warnings
Static analysis tools that produce high numbers of false positives may harm productivity and are less likely to be adopted. Previous research has addressed this challenge by proposing filtration and prioritization techniques for warnings that improve the usability of these tools, e.g., by showing true positives first. In this talk, we describe our preliminary efforts with a neural language model, based on long-short term memory (LTSM) networks, capable of detecting and classifying true and false positive patterns found by Facebook Infer. The model was trained with Infer’s intermediate language information from over 500 warnings—collected from 5 real-world projects and manually labeled as true/false positives. After data cleansing, we applied distinct types of transformations to the input to improve the model generalization, such as abstracting numbers and strings both in literals and identifiers, extracting English words from identifiers, and abstracting program-specific words. Different combinations of these transformations were used to train and test the model to understand which set of transformations offers the best performance. Our model produces a list of warnings sorted by the probability of being a false positive. Experiments consider two different scenarios: 1) within-project classification, where developers continuously run the tool over the same set of projects; and, 2) cross-project classification, where developers deploy the tool on a new program. Preliminary results show an accuracy of 86% for the first scenario and 66% for the second. Performing cross-project classification is more challenging since the model has to capture false positive patterns in programs that were not seen before, potentially with new vocabulary and dependencies.
Mon 21 JunDisplayed time zone: Eastern Time (US & Canada) change
09:00 - 11:45 | |||
09:00 40mTalk | Journey to null safety for Java at Facebook. An experience report. Infer Practitioners | ||
09:40 15mLive Q&A | Q&A 1 Infer Practitioners | ||
09:55 40mTalk | Classifying and Prioritizing Facebook Infer's Warnings Infer Practitioners Sofia Reis Instituto Superior Técnico, U. Lisboa & INESC-ID, João Francisco Roberto Martins Instituto Superior Técnico, U. Lisboa & INESC-ID, João F. Ferreira INESC-ID and IST, University of Lisbon, Rui Abreu Faculty of Engineering, University of Porto, Portugal | ||
10:35 15mLive Q&A | Q&A 2 Infer Practitioners | ||
10:50 40mTalk | Compositional checking of safety temporal properties Infer Practitioners Radu Grigore Facebook | ||
11:30 15mLive Q&A | Q&A 3 Infer Practitioners |