Content area
Graph Neural Networks (GNNs) represent a class of deep machine learning algorithms for analyzing or processing data in graph structure. Most software development activities, such as fault localization, code analysis, and measures of software quality, are inherently graph-like. This survey assesses GNN applications in different subfields of software engineering with special attention to defect identification and other quality assurance processes. A summary of the current state-of-the-art is presented, highlighting important advances in GNN methodologies and their application in software engineering. Further, the factors that limit the current solutions in terms of their use for a wider range of tasks are also considered, including scalability, interpretability, and compatibility with other tools. Some suggestions for future work are presented, including the enhancement of new architectures of GNNs, the enhancement of the interpretability of GNNs, and the design of a large-scale dataset of GNNs. The survey will, therefore, provide detailed insight into how the application of GNNs offers the possibility of enhancing software development processes and the quality of the final product.