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

Read more

Summary

Introduction

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

Methods
Results
Conclusion
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call