Facilitating Scenario-Based Program Comprehension with Topic Models

Tianxia Wang,Yan Liu
DOI: https://doi.org/10.1109/APSEC.2017.78
2017-01-01
Abstract:Researchers and practitioners have been seeking automatic and semi-automatic approaches to support program comprehension. However, not too much attention has been given to the discussion about program comprehension scenarios and further exploration based on scenarios. In this paper, we explored program comprehension from the perspective of developers, analyzed the demands of developers, refined two program comprehension scenarios (Program Users Scenario and Program Owners Scenario), and mainly researched on the latter. In the Program Users Scenario, where developers need help to quickly understand a program and be able to use it fast, we found that topic modeling provides a promising way to facilitate program comprehension. Using topic modeling, features and structures can be discovered automatically from textual software assets. We also developed JSEA, a tool that provides semi-automatic program comprehension assistance. JSEA utilizes essential information automatically generated from Java projects to construct a project overview and give developers search capability. Experiments with 12 volunteers on two open source Java projects suggest that JSEA can support Java developers in comprehending programs in the Program Users Scenario.
What problem does this paper attempt to address?