Loading...
Generating summaries for methods of event-driven programs: An Android case study
Aghamohammadi, A ; Sharif University of Technology | 2020
623
Viewed
- Type of Document: Article
- DOI: 10.1016/j.jss.2020.110800
- Publisher: Elsevier Inc , 2020
- Abstract:
- The lack of proper documentation makes program comprehension a cumbersome process for developers. Source code summarization is one of the existing solutions to this problem. Many approaches have been proposed to summarize source code in recent years. A prevalent weakness of these solutions is that they do not pay much attention to interactions among elements of software. An element is simply a callable code snippet such as a method or even a clickable button. As a result, these approaches cannot be applied to event-driven programs, such as Android applications, because they have specific features such as numerous interactions between their elements. To tackle this problem, we propose a novel approach based on deep neural networks and dynamic call graphs to generate summaries for methods of event-driven programs. First, we collect a set of comment/code pairs from Github and train a deep neural network on the set. Afterward, by exploiting a dynamic call graph, the Pagerank algorithm, and the pre-trained deep neural network, we generate summaries. An empirical evaluation with 14 real-world Android applications and 42 participants indicates 32.3% BLEU4 which is a definite improvement compared to the existing state-of-the-art techniques. We also assessed the informativeness and naturalness of our generated summaries from developers’ perspectives and showed they are sufficiently understandable and informative. © 2020 Elsevier Inc
- Keywords:
- Deep learning ; Event-driven programs ; Neural machine translation ; Source code summarization ; Android (operating system) ; Application programs ; Deep neural networks ; Graph algorithms ; Program documentation ; XML ; Android applications ; Empirical evaluations ; Event-driven ; Informative ness ; PageRank algorithm ; Program comprehension ; Source codes ; State-of-the-art techniques ; Neural networks
- Source: Journal of Systems and Software ; Volume 170 , 2020
- URL: https://www.sciencedirect.com/science/article/abs/pii/S0164121220302065
