Experimental investigations of the utility of detailed flowcharts in programming
Communications of the ACM
The Elements of Programming Style
The Elements of Programming Style
Problems with software complexity measurement
CSC '85 Proceedings of the 1985 ACM thirteenth annual conference on Computer Science
Studying programmer behavior experimentally: the problems of proper methodology
Communications of the ACM
ACM SIGCSE Bulletin
IEEE Transactions on Software Engineering
Methods for improving controlled experimentation in software engineering
ICSE '81 Proceedings of the 5th international conference on Software engineering
Two experiments on a program complexity perception by programmers
ACM SIGPLAN Notices
A theory of small program complexity
ACM SIGPLAN Notices
CASCON '93 Proceedings of the 1993 conference of the Centre for Advanced Studies on Collaborative research: software engineering - Volume 1
GRASP: an interactive environment for software development and maintenance
ACM SIGMIS Database - Proceedings of a conference on Application Development Systems, Santa Clara, California, March 10-11, 1980
Teaching students to build well formed object-oriented methods through refactoring
Proceedings of the 38th SIGCSE technical symposium on Computer science education
A Systematic Review of Theory Use in Software Engineering Experiments
IEEE Transactions on Software Engineering
Towards a framework for software navigation techniques
Proceedings of the 2008 international workshop on Cooperative and human aspects of software engineering
On the complexity of measuring software complexity
AFIPS '81 Proceedings of the May 4-7, 1981, national computer conference
AFIPS '82 Proceedings of the June 7-10, 1982, national computer conference
How to compare program comprehension in FOSD empirically: an experience report
FOSD '09 Proceedings of the First International Workshop on Feature-Oriented Software Development
Impact of the visitor pattern on program comprehension and maintenance
ESEM '09 Proceedings of the 2009 3rd International Symposium on Empirical Software Engineering and Measurement
Categorization of concerns: a categorical program comprehension model
Proceedings of the 3rd ACM SIGPLAN workshop on Evaluation and usability of programming languages and tools
Toward measuring program comprehension with functional magnetic resonance imaging
Proceedings of the ACM SIGSOFT 20th International Symposium on the Foundations of Software Engineering
Program comprehension in preprocessor-based software
SAFECOMP'12 Proceedings of the 2012 international conference on Computer Safety, Reliability, and Security
An ontology toolkit for problem domain concept location in program comprehension
Proceedings of the 2013 International Conference on Software Engineering
Do background colors improve program comprehension in the #ifdef hell?
Empirical Software Engineering
Degree-of-knowledge: Modeling a developer's knowledge of code
ACM Transactions on Software Engineering and Methodology (TOSEM)
Taupe: Visualizing and analyzing eye-tracking data
Science of Computer Programming
Hi-index | 0.02 |
A theory is presented of how a programmer goes about understanding a program. The theory is based on a representation of knowledge about programs as a succession of knowledge domains which bridge between the problem domain and the executing program. A hypothesis and verify process is used by programmers to reconstruct these domains when they seek to understand a program. The theory is useful in several ways in software engineering: It makes accurate predictions about the effectiveness of documentation; it can be used to systematically evaluate and critique other claims about documentation, and it may even be a useful guideline to a programmer in actually constructing documentation.