English

COSPEX: A Program Comprehension Tool for Novice Programmers

Software Engineering 2021-07-07 v1

Abstract

Developers often encounter unfamiliar code during software maintenance which consumes a significant amount of time for comprehension, especially for novice programmers. Automated techniques that analyze a source code and present key information to the developers can lead to an effective comprehension of the code. Researchers have come up with automated code summarization techniques that focus on code summarization by generating brief summaries rather than aiding its comprehension. Existing debuggers represent the execution states of the program but they do not show the complete execution at a single point. Studies have revealed that the effort required for program comprehension can be reduced if novice programmers are provided with worked examples. Hence, we propose COSPEX (Comprehension using Summarization via Program Execution) - an Atom plugin that dynamically extracts key information for every line of code executed and presents it to the developers in the form of an interactive example-like dynamic information instance. As a preliminary evaluation, we presented 14 undergraduates having Python programming experience up to 1 year with a code comprehension task in a user survey. We observed that COSPEX helped novice programmers in program comprehension and improved their understanding of the code execution. The source code and tool are available at: https://bit.ly/3utHOBM, and the demo on Youtube is available at: https://bit.ly/2Sp08xQ.

Keywords

Cite

@article{arxiv.2107.02395,
  title  = {COSPEX: A Program Comprehension Tool for Novice Programmers},
  author = {Ashutosh Rajput and Nakshatra Gupta and Sridhar Chimalakonda},
  journal= {arXiv preprint arXiv:2107.02395},
  year   = {2021}
}

Comments

5 pages, 5 figures

R2 v1 2026-06-24T03:55:11.625Z