  Defects are common in software systems and can potentially cause various
problems to software users. Different methods have been developed to quickly
predict the most likely locations of defects in large code bases. Most of them
focus on designing features (e.g. complexity metrics) that correlate with
potentially defective code. Those approaches however do not sufficiently
capture the syntax and different levels of semantics of source code, an
important capability for building accurate prediction models. In this paper, we
develop a novel prediction model which is capable of automatically learning
features for representing source code and using them for defect prediction. Our
prediction system is built upon the powerful deep learning, tree-structured
Long Short Term Memory network which directly matches with the Abstract Syntax
Tree representation of source code. An evaluation on two datasets, one from
open source projects contributed by Samsung and the other from the public
PROMISE repository, demonstrates the effectiveness of our approach for both
within-project and cross-project predictions.
