CS 6/79995 ST: Program
Comprehension & the Psychology of Programming
Mental Models:
1. [Soloway'84] (Hard copy)
2. [Pennington'87] (Hard copy)
3. [Von Mayrhauser'95] (pdf)
4. [Von Mayrhauser'97]
5. [Vessey'83]
6. [Fix'93]
7. [Koenemann'91]
8. [Biggerstaff'93a]
9. [Biggerstaff'93b]
10.
[Woods'96]
Program
Understanding:
11.
[Reynolds'92]
12.
[O'Brien'01]
13.
[Fry'97]
14.
[Hatton'98]
15.
[Ko'03]
16.
[Corritore'00]
17.
[Eisenbarth'01]
18.
[Rajlich'02]
19.
[Rugaber'96]
20.
[Fisher'06]
Understanding
Design
21.
[Andriyevska'05]
22.
[Yusuf'07]
23.
[GuehŽnŽuc'06]
24.
[Sun'05]
25.
[Bednarik'06]
26.
[Kuzniarz'04]
27.
[Uwano'06]
28.
[Jakobsen'06]
29.
[Hendrix'02]
30.
[Ball'96]
Understanding
& Visualization
31.
[Little'07]
32.
[Dragan'06]
33.
[Ko'06]
34.
[Myers'06]
35.
[Wu'04]
36.
[Orso'03]
37.
[Moreta'07]
38.
[Holten'07]
39.
[Kagdi'07]
40.
[Wettel'07]
Other
papers of interest:
41.
[Wiedenbeck'91]
42.
[Brooks'83] (Hard copy)
43.
[Letovsky'86a]
44.
[Letovsky'86b]
45.
[Littman'86]
[Andriyevska'05]
Andriyevska, O., Dragan, N., Simoes, B., and Maletic, J. I., (2005),
"Evaluating UML Class Diagram Layout based on Architectural
Importance", in Proceedings of 3rd IEEE International Workshop on
Visualizing Software for Understanding and Analysis (VISSOFT'05), Budapest,
Hungary, September 25th, pp. 14-19.
[Ball'96] Ball, T. and Eick, S., (1996), "Software Visualization
in the Large", Computer, vol. 29, no. 4, April, pp. 33-43.
[Bednarik'06] Bednarik, R. and Tukiainen, M., (2006),
"An Eye-Tracking Methodology for Characterizing Program Comprehension
Processes", in Proceedings of 2006 symposium on Eye tracking research
& applications (ETRA), San Diego, California, pp. 125-132.
[Biggerstaff'93a] Biggerstaff, T. J., Mitbander, B. G.,
and Webster, D., (1993a), "The concept assignment problem in program
understanding", in Proceedings of International Conference on Software
Engineering (ICSE'93), Baltimore, Maryland, pp. 482 - 498.
[Biggerstaff'93b] Biggerstaff, T. J., Mitbander, B. G.,
and Webster, D., (1993b), "Program Understanding and the Concept
Assignment Problem", in Proceedings of Working Conference on Reverse
Engineering, Baltimore, Maryland, May.
[Brooks'83] Brooks, R., (1983), "Towards a
Theory of the Comprehension of Computer Programs", International
Journal of Man-Machine Studies, vol. 18, no. 6, pp. 543-554.
[Corritore'00] Corritore, C. and Wiedenbeck, S.,
(2000), "Direction and Scope of Comprehension-Related Activities by Procedural
and Object-Oriented Programmers: An Empirical Study", in Proceedings of
8th International Workshop on Program Comprehension (IWPC'00), Limerick,
Ireland, 10 - 11 June.
[Dragan'06] Dragan, N., Collard, M. L., and
Maletic, J. I., (2006), "Reverse Engineering Method Stereotypes", in
Proceedings of IEEE 22nd International Conference on Software Maintenance
(ICSM'06), Philadelphia, Pennsylvania USA, September 25-27, pp. 24-34.
[Eisenbarth'01] Eisenbarth, T., Koschke, R., and Simon,
D., (2001), "Aiding Program Comprehension by Static and Dynamic Feature
Analysis", in Proceedings of International Conference on Software
Maintenance (ICSM01), Florence, Italy, November 7-9, pp. 602-611.
[Fisher'06] Fisher, M., Cox, A., and Zhao, L.,
(2006), "Using Sex Differences to Link Spatial Cognition and Program
Comprehension", in Proceedings of 22nd IEEE International Conference on
Software Maintenance (ICSM'06), Philadelphia, PA, Sept., pp. 289-298.
[Fix'93] Fix, V., Wiedenbeck, S., and Scholtz, J., (1993),
"Mental representations of programs by novices and experts", in
Proceedings of Conference on Human Factors and Computing Systems (INTERCHI'93),
Amsterdam The Netherlands, April 24-29, pp. 74-79.
[Fry'97] Fry, C., (1997), "Programming on an Already Full
Brain", CACM,
vol. 40, no. 4, April, pp. 55-64.
[GuehŽnŽuc'06] GuehŽnŽuc, Y.-G., (2006), "Taupe:
Towards Understanding Program Comprehension", in Proceedings of The
Conference of the Center for Advanced Studies on Collaborative Research
(CASCON'06), Toronto, Canada, Oct. 16-19, pp. 1-13.
[Hatton'98] Hatton, L., (1998), "Does OO Sync
with How We Think?" IEEE Software, vol. 15, no. 3, May/June, pp. 46-54.
[Hendrix'02] Hendrix, D., II, J. H. C., and
Maghsoodloo, S., (2002), "The Effectiveness of Control Structure Diagrams
in Source Code Comprehension Activities ", IEEE Transactions on
Software Engineering,
vol. 28, no. 5, May, pp. 463-477.
[Holten'07] Holten, D., Cornelissen, B., and Wijk,
J. J. v., (2007), "Trace Visualization Using Hierarchical Edge Bundles and
Massive Sequence Views", in Proceedings of 4th IEEE International Workshop
on Visualizing Software for Understanding and Analysis (VISSOFT 2007), Banff
Canada, June 25-26, pp. 47-54.
[Jakobsen'06] Jakobsen, M. R. and Hornbľk, K.,
(2006), "Evaluating a fisheye view of source code", in Proceedings of
Conference on Human Factors in Computing Systems (CHI), Montreal, Quebec,
Canada, pp. 377-386.
[Kagdi'07] Kagdi, H. and Maletic, J. I., (2007), "Onion Graphs for
Focus+Context Views of UML Class Diagrams", in Proceedings of 4th IEEE
International Workshop on Visualizing Software for Understanding and Analysis
(VISSOFT 2007), Banff Canada, June 25-26, pp. 80-87.
[Ko'03] Ko, A. J. and Uttl, B., (2003), "Individual Differences
in Program Comprehension Strategies in Unfamiliar Programming Systems", in
Proceedings of 11th IEEE International Workshop on Program Comprehension
(IWPC'03) Portland, OR.
[Ko'06] Ko, A. J. and Myers, B. A., (2006), "Barista: An
Implementation Framework for Enabling New Tools, Interaction Techniques and
Views in Code Editors", in Proceedings of Conference on Human Factors in
Computing Systems (CHI'06), MontrŽal, QuŽbec, Canada, April 22 - 27, pp. 387 -
396.
[Koenemann'91] Koenemann, J. and Robertson, S.,
(1991), "Expert Problem Solving Strategies for Problem
Comprehension", in Proceedings of Conference on Human Factors and
Computing Systems (CHI'91), New Orleans, LA, April 27 - May 2, pp. 125-130.
[Kuzniarz'04] Kuzniarz, L., Staron, M., and Wohlin,
C., (2004), "An Empirical Study on Using Stereotypes to Improve
Understanding of UML Models", in Proceedings of 12th International
Workshop on Program Comprehension (IWPC) pp. 14.
[Letovsky'86a] Letovsky, S., (1986a), "Cognitive
Processes in Program Comprehension", in Empirical Studies of Programmers, Albex, pp. 58-79.
[Letovsky'86b] Letovsky, S. and Soloway, E., (1986b),
"Delocalized Plans and Program Comprehension", IEEE Software, vol. 19, no. 3, May, pp. 41 - 48.
[Little'07] Little, G. and Miller, R. C., (2007),
"Keyword programming in java", in Proceedings of 22nd IEEE/ACM
international Conference on Automated Software Engineering (ASE'07), Atlanta,
Georgia, USA, November 5-9, pp. 84-93.
[Littman'86] Littman, D. C., Pinto, J., Letovsky,
S., and Soloway, E., (1986), "Mental Models and Software Maintenance",
in Empirical Studies of Programmers, Albex, pp. 80 - 98.
[Moreta'07] Moreta, S. and Telea, A., (2007),
"Visualizing Dynamic Memory Allocations", in Proceedings of 4th IEEE
International Workshop on Visualizing Software for Understanding and Analysis
(VISSOFT 2007), Banff Canada, June 25-26, pp. 31-38.
[Myers'06] Myers, B., Weitzman, D. A., Ko, A. J., and Chau, D. H.,
(2006), "Answering Why and Why Not Questions in User Interfaces", in
Proceedings of Conference on Human Factors in Computing Systems (CHI'06), MontrŽal,
QuŽbec, Canada, April 22-27, pp. 397-406.
[O'Brien'01] O'Brien, M. P. and Buckley, J., (2001),
"Inference-Based and Expectation-Based Processing in Program
Comprehension", in Proceedings of International Conference on Program Comprehension
(ICPC'01), Toronto, Canada, June, pp. 71-78.
[Orso'03] Orso, A., Jones, J., and Harrold, M. J., (2003),
"Visualization of program-execution data for deployed software ", in
Proceedings of ACM symposium on Software Visualization (SoftVis'03), San Diego,
CA, June 11-13, pp. 57-76.
[Pennington'87] Pennington, N., (1987), "Stimulus
Structures and Mental Representations in Expert Comprehension of Computer
Programs", Cognitive Psychology, vol. 19, pp. 295-341.
[Rajlich'02] Rajlich, V. and Wilde, N., (2002),
"The Role of Concepts in Program Comprehension", in Proceedings of
International Workshop on Program Comprehension (IWPC 2002), Paris, France,
June 27 - 29, pp. 271-278.
[Reynolds'92] Reynolds, R. G., Maletic, J. I., and
Porvin, S., (1992), "Stepwise Refinement and Problem Solving", IEEE
Software, vol. 9,
no. 5, Sept., pp. 79-88.
[Rugaber'96] Rugaber, S., Stirewalt, K., and Wills,
L., (1996), "Understanding interleaving code", Journal of
Automated Software Engineering, vol. 3, no. 1, pp. 47-76.
[Soloway'84] Soloway, E. and Ehrlich, K., (1984),
"Empirical Studies of Programming Knowledge", IEEE Transactions on
Software Engineering,
vol. 10, no. 5, September, pp. 595-609.
[Sun'05] Sun, D. and Wong, K., (2005), "On Evaluating the Layout
of UML Class Diagrams for Program Comprehension", in Proceedings of 13th
IEEE International Workshop on Program Comprehension, St. Louis, Missouri, USA,
pp. 317-328.
[Uwano'06] Uwano, H., Nakamura, M., Monden, A., and Matsumoto, K.,
(2006), "Analyzing individual performance of source code review using
reviewers' eye movement", in Proceedings of 2006 symposium on Eye tracking
research & applications (ETRA), San Diego, California, pp. 133-140.
[Vessey'83] Vessey, I., (1983), "Expertise in
Debugging Computer Programs", International Journal of Man-Machine
Studies, vol. 18,
pp. 459-494.
[Von Mayrhauser'95] Von Mayrhauser, A. and Vans, A. M.,
(1995), "Program Comprehension During Software Maintenance and
Evolution", Computer, vol. 28, no. 8, pp. 44-55.
[Von Mayrhauser'97] Von Mayrhauser, A. and Vans, A. M.,
(1997), "Program understanding behavior during debugging of large scale
software", in Proceedings of Seventh workshop on Empirical studies of
programmers, pp. 157–179.
[Wettel'07] Wettel, R. and Lanza, M., (2007),
"Visualizing Software Systems as Cities", in Proceedings of 4th IEEE
International Workshop on Visualizing Software for Understanding and Analysis
(VISSOFT 2007), Banff Canada, June 25-26, pp. 92-99.
[Wiedenbeck'91] Wiedenbeck, S., (1991), "The
Initial Stage of Program Comprehension", International Journal of
Man-Machine Studies,
vol. 35, no. 4, pp. 517 - 540.
[Woods'96] Woods, S. and Yang, Q., (1996), "The Program
Understanding Problem: Analysis and A Heuristic Approach", in Proceedings
of ICSE, pp. 6-15.
[Wu'04] Wu, X., Murray, A., Storey, M.-A., and Lintern, R., (2004),
"A Reverse Engineering Approach to Support Software Maintenance: Version
Control Knowledge Extraction", in Proceedings of 11th Working Conference
on Reverse Engineering (WCRE'04), Delft, The Netherlands, Nov. 8-12, pp. 90-99.
[Yusuf'07] Yusuf, S., Kagdi, H., and Maletic, J. I., (2007),
"Assessing the Comprehension of UML Diagrams via Eye Tracking", in
Proceedings of 15th IEEE International Conference on Program Comprehension
(ICPC'07), Banff, Canada, June 26-29, pp. 113-122.
Updated: 3/28/08