Hi Marat,
There are a number of studies in program comprehension, debugging and code generation that have looked at programmer's mental representations and in particular how these representations are organised. Please look at my DPhil thesis for pointers on this:


http://www.cogs.susx.ac.uk/users/juanr/index.html

Or you can look at a summarised version in:

Romero,P (2001). Focal structures and information types in Prolog. International Journal of Human Computer Studies. 54. p. 211-236.

Although this is for Prolog, there are a number of links to studies for other languages.

If you are looking for studies specifically on Java, Susan Wiedenbeck has looked at program comprehension for this language:

Wiedenbeck, S., & Ramalingam, V. (1999). Novice comprehension of small programs written in the procedural and object-oriented styles. International Journal of Human Computer Studies, 51, 71–87.

Wiedenbeck, S., Ramalingam, V., Sarasamma, S., & Corritore, C. L. (1999). A comparison of the comprehension of object-oriented and procedural programs by novice programmers. Interacting with Computers, 11, 255–282.

Regards,

Pablo.

On 13 Feb 2004, at 08:37, Marat Boshernisan wrote:

I am looking for insight on how programmers perceive organizational structure of computer programs.

For instance, do programmers recognize Java programs as consisting of packages, which are composed of classes, which, in turn, consist of method and field declarations? If so, what are the natural "atomic units" of such a hierarchization? Clearly, programmers do no go as far as viewing program tokens as consisting of individual characters, though I am sure there are situations in which humans perceive individual words as constructed from smaller units. (Note that I am interested in the *perceived* structure, as opposed to the structure defined by a formal programming language grammar.)

While there may be little (none?) prior work in this domain pertaining to programmers, I have a feeling that there should be some existing psychology research that can be applied in this context. Perhaps there's even a formalizm for describing hierarchival composition of categories? (Something akin to formal grammars?)

Understanding programmer's perception of program structure is central to my Ph.D. research and unless I can find existing studies, I will run user experiments to fill in this gap. However, at the very least, I am hoping to find a starting point for devising such a study.

Naturally, I tried looking on various search engines, but I am affrain I do not know appropriate terminology. So even pointers in that direction will be greately appreciated.

Thank you!

Marat Boshernitsan.
Ph.D. Candidate
Computer Science Division, EECS
University of California at Berkeley


---------------------------------------------------------------------- PPIG Discuss List ([EMAIL PROTECTED]) Discuss admin: http://limitlessmail.net/mailman/listinfo/discuss Announce admin: http://limitlessmail.net/mailman/listinfo/announce PPIG Discuss archive: http://www.mail-archive.com/discuss%40ppig.org/

Pablo Romero
Human Centred Technology Group
Informatics Department
Sussex University
BN1 9QH


---------------------------------------------------------------------- PPIG Discuss List ([EMAIL PROTECTED]) Discuss admin: http://limitlessmail.net/mailman/listinfo/discuss Announce admin: http://limitlessmail.net/mailman/listinfo/announce PPIG Discuss archive: http://www.mail-archive.com/discuss%40ppig.org/

Reply via email to