Skip to main content
Log in

Interactive Explanation of Software Systems

  • Published:
Automated Software Engineering Aims and scope Submit manuscript

Abstract

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  • Brooks, R. 1983. Towards a theory of the comprehension of computer programs. International Journal of Man-Machine Studies, 18:543-554.

    Google Scholar 

  • Corbi, T.A. 1990. Program understanding: Challenge for the 1990s. IBM Systems Journal, 28(2):294-306.

    Google Scholar 

  • Herbsleb, J.D. and Kuwana, E. 1993. Preserving knowledge in design projects: What designers need to know. In INTERCHI'93.

  • Hill, W.C. and Miller, J.R. 1988. Justified advice: A semi-naturalistic study of advisory strategies. In CHI'88. ACM.

  • Hunsaker, P.L., Coffey, R.E., and Cook, C.W. 1994. Management and Organizational Behavior. Austen Press.

  • Johnson, W.L., Feather, M.S., and Harris, D.R. 1992. Representation and presentation of requirements knowledge. IEEE Trans. on Software Engineering, 18(10):853-869.

    Google Scholar 

  • Lakhotia, A. 1993. Understanding someone else's code: Analysis of experiences. Journal of Systems Software, 2:93-100.

    Google Scholar 

  • Lazonder, A.W. and van der Meij, J. 1993. The minimal: Is less really more? Int. J Man-Machine Studies, 39:729-752.

    Google Scholar 

  • Mayhew, D. 1992. Principles & Guidelines in Software User Interface Design. Prentice Hall.

  • McKeown, K.R. and Elhadad, M. 1991. A Contrastive Evaluation of Functional Unification Grammar for Surface Language Generation: A Case Study in the Choice of Connectives, Kluwer Academic Publishers, Norwell, MA, pp. 351-392.

    Google Scholar 

  • Moore, J.D. 1995. Participating in Explanatory Dialogues. MIT Press, Cambridge, MA.

    Google Scholar 

  • Rajlich, V., Doran, J., and Gudla, R.T.S. 1994. Layered explanation of software: A methodology for program comprehension. In Proceedings of the Workshop on Program Comprehension.

  • Selfridge, P.G. 1990. Integrating code knowledge with a software information system. In Proceedings of the 5th Annual Knowledge-Based Software Assistant Conference, Syracuse, NY, pp. 183-195.

  • Soloway, E., Pinto, J., Letovsky, S.I., Littman, D., and Lampert, R. 1988. Designing documentation to compensate for delocalized plans. Communications of the ACM, 31(11).

  • Wall, L. and Schwartz, R.L. 1991. Programming perl. O'Reilly & Associates, Sebastopol, CA.

    Google Scholar 

  • Wright, P. 1988. Issue of content and presentation in document design. In M. Helander, editor, Handbook of Human-Computer Interaction, Elsevier Science Publishers B.V. (North Holland), Chap. 28, pp. 629-652.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Johnson, W.L., Erdem, A. Interactive Explanation of Software Systems. Automated Software Engineering 4, 53–75 (1997). https://doi.org/10.1023/A:1008655629091

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1023/A:1008655629091

Navigation