Interactive Explanation of Software Systems

This paper describes an effort to provide automated support for the interactive inquiry and explanation process that is at the heart of software understanding. A hypermedia tool called I-Doc allows software engineers to post queries about a software system, and generates focused explanations in response. These explanations are task oriented, i.e., they are sensitive to the software engineering task being performed by the user that led to the query. Task orientation leads to more effective explanations, and is particularly helpful for understanding large software systems. Empirical studies of inquiry episodes were conducted in order to investigate this claim: the kinds of questions users ask, their relation to the user's task and level of expertise. The I-Doc tool is being developed to embody these principles, employing knowledge-based techniques. The presentation mechanism employs World Wide Web (WWW) technology, making it suitable for widespread use.

[1]  C. Cook,et al.  Management and Organizational Behavior , 1994 .

[2]  James D. Herbsleb,et al.  Preserving knowledge in design projects: what designers need to know , 1993, INTERCHI.

[3]  Ruven E. Brooks,et al.  Towards a Theory of the Comprehension of Computer Programs , 1983, Int. J. Man Mach. Stud..

[4]  Johanna D. Moore Participating in explanatory dialogues , 1994 .

[5]  James H. Cross,et al.  Using generalized markup and SGML for reverse engineering graphical representations of software , 1995, Proceedings of 2nd Working Conference on Reverse Engineering.

[6]  Patricia Wright,et al.  Issues of Content and Presentation in Document Design , 1988 .

[7]  Larry Wall,et al.  Programming Perl , 1991 .

[8]  Ard W. Lazonder,et al.  The Minimal Manual: Is Less Really More? , 1993, Int. J. Man Mach. Stud..

[9]  Arun Lakhotia,et al.  Understanding someone else's code: Analysis of experiences , 1993, J. Syst. Softw..

[10]  J. R. Miller,et al.  Justified advice: a semi-naturalistic study of advisory strategies , 1988, CHI '88.

[11]  Thomas A. Corbi,et al.  Program Understanding: Challenge for the 1990s , 1989, IBM Syst. J..

[12]  Martin S. Feather,et al.  Representation and Presentation of Requirements Knowledge , 1992, IEEE Trans. Software Eng..

[13]  Dennis Wixon,et al.  Book review: PRINCIPLES AND GUIDELINES IN SOFTWARE USER INTERFACE DESIGN by Deborah J . Mayhew (Prentice Hall, 1992) , 1993, SGCH.

[14]  Dennis E. Egan,et al.  Individual Differences In Human-Computer Interaction , 1988 .

[15]  Vaclav Rajlich,et al.  Layered explanations of software: a methodology for program comprehension , 1994, Proceedings 1994 IEEE 3rd Workshop on Program Comprehension- WPC '94.

[16]  Elliot Soloway,et al.  Designing documentation to compensate for delocalized plans , 1988, CACM.