References & Citations
Computer Science > Software Engineering
Title: Generating Summaries for Methods of Event-Driven Programs: an Android Case Study
(Submitted on 11 Dec 2018 (v1), last revised 1 Aug 2020 (this version, v3))
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. Lots of 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 a 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.
Submission history
From: Alireza Aghamohammadi [view email][v1] Tue, 11 Dec 2018 16:42:47 GMT (704kb,D)
[v2] Thu, 30 Jul 2020 12:01:44 GMT (937kb,D)
[v3] Sat, 1 Aug 2020 11:00:35 GMT (937kb,D)
Link back to: arXiv, form interface, contact.