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