Abstract:
In software development and software maintenance phase, the key to success is comprehension of code. Moreover, source code is the primary source for finding information about systems[26]. Even open source software systems maintenance is also a vital research topic for researchers [27]. Not only this but software maintenance is also important for software evolution too [28]. Source code summary is crucial to enhance the understanding of code. Therefore, Source Code Summarization (SCS) is getting recognition among researchers and programmers during the past few years due to its ability to improve understandability of code. So, many researchers have proposed and developed different tools in past decade for helping maintenance programmers and maintenance engineers for improvement of maintenance phase of Software Engineering. Automatic Source code summarization has been performed using different techniques and has been applied on various programming languages. So, there is strong need to summarize the latest advancements in SCS. Therefore, this article contains a Systematic Literature Review (SLR) which identifies 22 research papers (i.e.2010-2020) either performing source code summarization or suggesting state-of-the-art methodologies. Furthermore, 16 implemented methodologies and 5 proposed ones are identified. Moreover, some advantages of source code summarization have been identified. Finally, a comparative analysis of tools developed, is performed. In a nutshell, SCS provides a facility for programmers to understand the written code well. 2.1. Introduction Developer analyses the code for software evolution process, for doing so, they must understand the code faster[29]. It takes more time if it is done manually than by using automated source code summarization techniques [30]. Source code summarization is a technique used to generate natural language summaries of source code. Although, software maintenance could be performed faster if developer pays more attention towards editing the code, they spend more time reading the code[31]. Furthermore, this happens because good comments are missing in the code. Source code summaries mostly depend on high quality identifiers and method’s identifiers due dependency on natural language processing [32]. Early researches have been using techniques Natural language processing, machine learning, neural networks etc. for the development of code summaries. Code comments generation is very important and challenging topic among researchers now a days due to its importance in maintenance of software[5]. Automatic source code summarization is a process in which human readable code comments or code summaries are generated automatically using various
techniques. Meanwhile, such a description should not only be covering the description of the program code but also the intent of the developer behind code. For Automatic SCS, many tools have been proposed or developed by the researchers in the past decade (