2 research outputs found
Integrating Runtime Values with Source Code to Facilitate Program Comprehension
An inherently abstract nature of source code makes programs difficult to
understand. In our research, we designed three techniques utilizing concrete
values of variables and other expressions during program execution.
RuntimeSearch is a debugger extension searching for a given string in all
expressions at runtime. DynamiDoc generates documentation sentences containing
examples of arguments, return values and state changes. RuntimeSamp augments
source code lines in the IDE (integrated development environment) with sample
variable values. In this post-doctoral article, we briefly describe these three
approaches and related motivational studies, surveys and evaluations. We also
reflect on the PhD study, providing advice for current students. Finally,
short-term and long-term future work is described
COSPEX: A Program Comprehension Tool for Novice Programmers
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.Comment: 5 pages, 5 figure