Write a Blog >>
Sun 20 - Fri 25 October 2019 Athens, Greece
Wed 23 Oct 2019 14:22 - 14:45 at Attica - Machine Learning

Bug detection has been shown to be an effective way to help developers in detecting bugs early, thus, saving much effort and time in software development process. Recently, deep learning-based bug detection approaches have gained successes over the traditional machine learning-based approaches, the rule-based program analysis approaches, and mining-based approaches. However, they are still limited in detecting bugs that involve multiple methods and suffer high rate of false positives.

In this paper, we propose a combination approach of the use of contexts and attention neural network to overcome those limitations. We propose to use as the global context the Program Dependence Graph (PDG) and Data Flow Graph (DFG) to connect the method under investigation with the other relevant methods that might contribute to the buggy code. The global context is complemented by the local context extracted from the path on the AST built from the method’s body. The use of PDG and DFG enables our model to reduce the false positive rate, while to complement for the potential reduction in recall, we make use of the attention neural network mechanism to put more weights on the buggy paths in the source code. That is, the paths that are similar to the buggy paths will be ranked higher, thus, improving the recall of our model. We have conducted several experiments to evaluate our approach on a very large dataset with +4.973M methods in 92 different project versions. The results show that our tool can have a relative improvement up to 168% on F score when comparing with the state-of-the-art bug detection approaches. Our tool can detect 48 true bugs in top 100 reported ones, which is 24 more true bugs when comparing with other baselines. We also reported that our representation is better suitable for bug detection and relatively improves over the other representations up to 220% in accuracy.

This program is tentative and subject to change.

Wed 23 Oct

14:00 - 15:30: OOPSLA - Machine Learning at Attica
splash-2019-oopsla14:00 - 14:22
Joseph P. NearUniversity of Vermont, David DaraisUniversity of Vermont, Chike AbuahUniversity of Vermont, Tim StevensUniversity of Vermont, Pranav GaddamaduguUniversity of California, Berkeley, Lun WangUniversity of California, Berkeley, Neel SomaniUniversity of California, Berkeley, Mu ZhangUniversity of Utah, Nikhil SharmaUniversity of California, Berkeley, Alex ShanUniversity of California, Berkeley, Dawn SongUniversity of California, Berkeley
splash-2019-oopsla14:22 - 14:45
Yi LiNew Jersey Institute of Technology, USA, Shaohua WangNew Jersey Institute of Technology, USA, Tien N. NguyenUniversity of Texas at Dallas, Son NguyenThe University of Texas at Dallas
splash-2019-oopsla14:45 - 15:07
Osbert BastaniUniversity of Pennsylvania, Xin ZhangMassachusetts Institute of Technology, Armando Solar-LezamaMassachusetts Institute of Technology
splash-2019-oopsla15:07 - 15:30
Baijun WuUniversity of Louisiana at Lafayette, John Peter Campora IIIUniversity of Louisiana at Lafayette, He YiUniversity of Louisiana at Lafayette, Alexander SchlechtUniversity of Louisiana at Lafayette, Sheng ChenUniversity of Louisiana at Lafayette