PROUST: an automatic debugger for PASCAL programs
BYTE - Lecture notes in computer science Vol. 174
System Structure Analysis: Clustering with Data Bindings
IEEE Transactions on Software Engineering - Annals of discrete mathematics, 24
The C Information Abstraction System
IEEE Transactions on Software Engineering
KIDS: A Semiautomatic Program Development System
IEEE Transactions on Software Engineering
Program indentation and comprehensibility
Communications of the ACM
Program development by stepwise refinement
Communications of the ACM
The effect of modularization and comments on program comprehension
ICSE '81 Proceedings of the 5th international conference on Software engineering
FAST: A second generation program analysis system
ICSE '78 Proceedings of the 3rd international conference on Software engineering
Implementing relational views of programs
SDE 1 Proceedings of the first ACM SIGSOFT/SIGPLAN software engineering symposium on Practical software development environments
Psychological complexity of computer programs: an experimental methodology
ACM SIGPLAN Notices
A software reverse engineering experience
CASCON '91 Proceedings of the 1991 conference of the Centre for Advanced Studies on Collaborative research
A reverse engineering environment based on spatial and visual software interconnection models
SDE 5 Proceedings of the fifth ACM SIGSOFT symposium on Software development environments
Modeling and querying software repositories
CASCON '94 Proceedings of the 1994 conference of the Centre for Advanced Studies on Collaborative research
A software reverse engineering experience
CASCON '91 Proceedings of the 1991 conference of the Centre for Advanced Studies on Collaborative research
Experiences in program understanding
CASCON '92 Proceedings of the 1992 conference of the Centre for Advanced Studies on Collaborative research - Volume 1
Management decision support through reverse engineering technology
CASCON '92 Proceedings of the 1992 conference of the Centre for Advanced Studies on Collaborative research - Volume 1
Documenting-in-the-large vs. documenting-in-the-small
CASCON '93 Proceedings of the 1993 conference of the Centre for Advanced Studies on Collaborative research: distributed computing - Volume 2
Through a mirror darkly: How programmers understand legacy code
Information-Knowledge-Systems Management
A software reverse engineering experience
CASCON First Decade High Impact Papers
Hi-index | 0.00 |
Understanding programs written by others is a difficult task. Most maintenance tasks in software require an understanding of the source code as a first step. Unfortunately, in most cases, the source code of a program is the only reliable documentation of its behavior. As a result, maintainers have to rely heavily on code browsing to acquire the necessary information. This paper surveys the various theories that have been proposed to explain the process of understanding, considers the different techniques used by the tools that are employed, and discusses their relative merits and demerits.