Abstract
Understanding a large number of source code is a big challenge for software development teams in software maintenance process. Using topic models is a promising way to automatically discover feature and structure from textual software assets, and thus support developers comprehending programs on software maintenance. To explore the application of applying topic modeling to software engineering practice, we proposed JSEA (Java Software Engineers Assistant), an interactive program comprehension tool adopting LDA-based topic modeling, to support developers during performing software maintenance tasks. JSEA utilizes essential information automatically generated from Java source code to establish a project overview and to bring search capability for software engineers. The results of our preliminary experimentation suggest the practicality of JSEA.
Highlights
Before performing software maintenance and extension tasks, developers must understand what a program does and how it does [1]
We explored the source code preprocessing procedure of topic modeling based on the characteristic of source code and introduced JSEA (Java Software Engineers Assistant), an interactive program comprehension tool adopting Latent Dirichlet Allocation (LDA), which provides a project overview page and a search model
We conducted several experiments on two open-source systems, in order to evaluate the utility of JSEA on software maintenance
Summary
Before performing software maintenance and extension tasks, developers must understand what a program does and how it does [1]. Researchers apply topic models to mine source code and get linguistic topics automatically These topics extract semantic information from programs and tend to correspond to features implemented by the software [8]. In button-up model, Shneiderman et al [17] theorizes that programmers first read source code line-by-line and the program comprehension is accomplished by a hierarchical chunking process that organizes several statements into a functional unit. These units can be organized into still higher level units which convey the overall operation of the program. The integrated metamodel of program comprehension have been proposed [18], [19], in which programmers switch flexibly from top-down to bottom-up comprehension strategies depending on the situation
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have