Skip to main content

Interactive Explanation of Software Systems

  • Chapter
Knowledge-Based Software Engineering

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 chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 109.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

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

    Article  MathSciNet  Google Scholar 

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

    Article  Google Scholar 

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

    Google Scholar 

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

    Google Scholar 

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

    Google Scholar 

  • 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.

    Article  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 manual: Is less really more? Int. J Man-Machine Studies, 39:729–752.

    Article  Google Scholar 

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

    Google Scholar 

  • 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.

    Google Scholar 

  • Selfridge, PG. 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.

    Google Scholar 

  • 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).

    Google Scholar 

  • 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

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 1997 Kluwer Academic Publishers

About this chapter

Cite this chapter

Johnson, W.L., Erdem, A. (1997). Interactive Explanation of Software Systems. In: Setliff, D., Reubenstein, H. (eds) Knowledge-Based Software Engineering. Springer, Boston, MA. https://doi.org/10.1007/978-0-585-34714-1_4

Download citation

  • DOI: https://doi.org/10.1007/978-0-585-34714-1_4

  • Publisher Name: Springer, Boston, MA

  • Print ISBN: 978-0-7923-9789-2

  • Online ISBN: 978-0-585-34714-1

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics