Abstract:
Program comprehension is an important yet difficult activity in a software development process. One of the main causes of the difficulty is its cognitive overhead for maintaining the mental models, which consist of roles of program elements and relationships between them. Though researchers have been working on tools to help maintaining the mental models, existing tools have high adoption barrier and support only a few programming languages, which hinders wide-range of programmers from using the program comprehension tools. We propose CodeMap, a graphical note-taking tool for offloading the mental models onto a visual representation. We designed CodeMap by considering familiarity and availability for practitioners. Our tool allows programmers to extract interested information into a graphical note with a few keyboard/mouse operations, and support many programming languages by using the language server protocol. In this paper, we present the design and implementation of CodeMap, and discuss possible features that could be useful for program comprehension.
Reference:
CodeMap: a Graphical Note-Taking Tool Cooperating with an Integrated Development Environment (Rikito Taniguchi and Hidehiko Masuhara), In Proceedings of the 8th Programming Experience Workshop (PX/22), Association for Computing Machinery, 2022.
Bibtex Entry:
@inproceedings{taniguchi2022px,
author = {Rikito Taniguchi and Hidehiko Masuhara},
title = {{CodeMap}: a Graphical Note-Taking Tool Cooperating with an Integrated Development Environment},
booktitle = {Proceedings of the 8th Programming Experience Workshop (PX/22)},
year = 2022,
month = mar,
abstract = {Program comprehension is an important yet difficult activity in a software development process. One of the main causes of the difficulty is its cognitive overhead for maintaining the mental models, which consist of roles of program elements and relationships between them. Though researchers have been working on tools to help maintaining the mental models, existing tools have high adoption barrier and support only a few programming languages, which hinders wide-range of programmers from using the program comprehension tools. We propose CodeMap, a graphical note-taking tool for offloading the mental models onto a visual representation. We designed CodeMap by considering familiarity and availability for practitioners. Our tool allows programmers to extract interested information into a graphical note with a few keyboard/mouse operations, and support many programming languages by using the language server protocol. In this paper, we present the design and implementation of CodeMap, and discuss possible features that could be useful for program comprehension.},
url = {https://2022.programming-conference.org/details/px-2022-papers/5/CodeMap-a-Graphical-Note-Taking-Tool-Cooperating-with-an-Integrated-Development-Envi},
isbn = {9781450396561},
publisher = {Association for Computing Machinery},
address = {New York, NY, USA},
doi = {10.1145/3532512.3535225},
pages = {54--59},
numpages = {6},
keywords = {program comprehension, code navigation, software engineering},
location = {Porto, Portugal},
series = {Programming '22 Companion},
pdf = {px2022.pdf}
}