COSPEX: A Program Comprehension Tool for Novice Programmers

07/06/2021
by   Ashutosh Rajput, et al.
0

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.

READ FULL TEXT
research
09/05/2020

A Large Scale Empirical Study of the Impact of Spaghetti Code and Blob Anti-patterns on Program Comprehension

Context: Several studies investigated the impact of anti-patterns (i.e.,...
research
08/10/2018

Recording Concerns in Source Code Using Annotations

A concern can be characterized as a developer's intent behind a piece of...
research
08/12/2023

Smart Knowledge Transfer using Google-like Search

To address the issue of rising software maintenance cost due to program ...
research
01/28/2021

Eye: Program Visualizer for CS2

In recent years, programming has witnessed a shift towards using standar...
research
02/26/2021

Neural Code Summarization

Code summarization is the task of generating readable summaries that are...
research
08/13/2018

Automated Refactoring: Can They Pass The Turing Test?

Refactoring is a maintenance activity that aims to improve design qualit...
research
04/18/2023

Developers' Visuo-spatial Mental Model and Program Comprehension

Previous works from research and industry have proposed a spatial repres...

Please sign up or login with your details

Forgot password? Click here to reset