Abstract
This paper explores how computer programmers extract meaning from the computer program texts that they read. This issue is examined from the perspective that program reading is governed by a number of economic choices, since resources, particularly cognitive resources, are severely constrained. These economic choices are informed by the reader’s existing belief set, which includes beliefs pertaining to the overlapping and enclosing social groups to which the program reader, the original programmer, and the program’s users belong. Membership within these social groups, which may be as specific as the set of programmers working within a particular organization or as general as the members of a particular nation or cultural group, implies a set of shared knowledge that characterizes membership in the social group. This shared knowledge includes both linguistic and non-linguistic components and is what ultimately provides the interpretative context in which meaning is constructed. This account is distinguished from previous theories of computer program comprehension by its emphasis on the social and economic perspective, and by its recognition of the similarities between computer program understanding and natural language understanding.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
James Allen. Natural language understanding. Benjamin Cummings, 2nd edition, 1995.
Victor Basili and Barry Perricone. Software errors and complexity: An empirical investigation. Communications of the Association of Computing Machinery, 27(1):42–52, 1984.
Kent Beck. Extreme programming explained. Addison Wesley, 2000.
Ruven Brooks. Towards a theory of comprehension of computer programs. International Journal of Man-Machine Studies, 18:543–554, 1983.
Christopher Cherniak. Minimal rationality. MIT Press, 1986.
Aaron Cicourel. Cognitive sociology: Language and meaning in social interaction. Penguin Education, 1973.
T. De Mauro. Ludwig Wittgenstein: His place in the development of semantics. Reidel, D., 1967.
D. Friedman, M. Wand, and C. Haynes. Essentials of programming languages. McGraw Hill, 1992.
E. Gamma, R. Helm, R. Johnson, and J. Vlissides. Design patterns: Elements of reusable object-oriented software. Addison-Wesley, 1994.
H. P. Grice. Logic and conversation. In P. Cole and J. Morgan, editors, Syntax and Semantics, volume 3. Speech Acts, pages 41–58. Academic Press, 1975.
R. Jeffrey. The logic of decision. McGraw-Hill, 1965.
J. Koenemann and S. Robertson. Expert problem solving strategies for program comprehension. In ACM Human Factors in Computing Systems’ 91, pages 125–130, 1991.
D. Littman, J. Pinto, S. Letovsky, and E. Soloway. Mental models and software maintenance. In Soloway and Iyengar, editors, Empirical studies of programmers. Ablex publishing corporation, 1986.
D. Musser and A. Saini. STL tutorial and reference guide. Addison-Wesley, 1996.
N. Pennington. Comprehension strategies in programming. In Olson, Sheppard, and Soloway, editors, Empirical studies of programmers, second workshop. Ablex publishing corporation, 1987.
Teresa Shaft and Iris Vessey. The relevance of application domain knowledge: The case of computer program comprehension. Information systems research, 6(3):286–299, September 1995.
H. Simon. Models of bounded rationality. MIT Press, 1958.
E. Soloway, B. Adelson, and K. Ehrlich. Knowledge and processes in the comprehension of computer programs. In Chi, Glaser, and Farr, editors, The nature of expertise. Erlbaum, 1988.
G. Springer and D. Friedman. Scheme and the art of programming. McGraw Hill, 1989.
A. vonMayrhauser and A. Vans. Program comprehension during software maintenance and evolution. Computer, pages 44–55, August 1995.
Laurie Williams and Robert Kessler. The effects of “pair-pressure” and “pair-learning” on software engineering education. In Proceedings of the 13th Conference on Software Engineering Education and Training, pages 59–65, 2000.
Steve Woods and Qiang Yang. The program understanding problem: Analysis and a heuristic approach. In Proceedings of the 18th International Conference on Software Engineering (ICSE-96), pages 6–15, Berlin, Germany, 1996.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2001 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Tenenberg, J. (2001). On the Meaning of Computer Programs. In: Beynon, M., Nehaniv, C.L., Dautenhahn, K. (eds) Cognitive Technology: Instruments of Mind. CT 2001. Lecture Notes in Computer Science(), vol 2117. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-44617-6_18
Download citation
DOI: https://doi.org/10.1007/3-540-44617-6_18
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-42406-2
Online ISBN: 978-3-540-44617-0
eBook Packages: Springer Book Archive