Zusammenfassung
Programmverstehen ist der Prozeß des Wissenserwerbs über ein Computerprogramm. Es ist die Voraussetzung für Fehlersuche, Erweiterung, Wiederverwendung und Dokumentation. Eine Reihe von Ansätzen versucht, das Programmverstehen maschinell zu unterstützen. Die gegenwärtigen Ansätze werden in diesem Artikel klassifiziert in grundlegende und wissensbasierte Analysen. Grundlegende Analysen verfugen über kein Wissen über die Anwendung und allgemeine Programmierung; sie basieren lediglich auf Programmiersprachensyntax und -Semantik. Grundlegende Analysen lassen sich weiter gliedern in grundlegende statische und grundlegende dynamische Analysen, abhängig davon, ob sie zur Übersetzungsszeit oder zur Laufzeit vorgenommen werden. Wissensbasierte Analysen verfügen über Anwendungswissen und allgemeines Programmierwissen. Wissensbasierte Analysen lassen sich unterscheiden in Parsing-Ansätze, falls sie sich ausschließlich auf formale und strukturelle Programmeigenschaften stützen, und informelles Schließen, falls sie darüber hinaus auch informelle Information in Betracht ziehen. Der Artikel gibt Beispiele zu den verschiedenen Analyseformen.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
Literatur
Adam, A; Laurent, J. : LAURA, a system to debug student programs. In: Artificial Intelligence, 15:75 122, 1980.
Biggerstaff, Ted: The Concept Assignment Problem in Program Un derstanding. In: Proc. of the 15th ICSE, S. 482–488, April 1993.
Boehm, Barry W.: Software Engineering Economics, Prentice Hall, 1981.
Brook, Ruven: Towards a Theory of the Cognitive Processes in Computer Programming. In: International Journal of Man-Machine Studies, Vol. 9, No. 6, S. 737–742, 1977.
Brook, Ruven: Towards a Theory of the Comprehension of Computer Programs. In: International Journal of Man-Machine Studies, Vol. 18, S. 543–554, 1983.
Chikofsky, E.J.; Cross, James H.: Reverse engineering and design recovery: A taxonomy. In: IEEE Software, S. 13–17, January 1990.
Fjeldstad, R.K.; Hamlen, W.T.: Application Program Maintenance Study: Report to Our Respondents. In: Proceedings GUIDE 48, Philadelphia, PA, April 1983.
Hartman, J. : Automatic control understanding for natural programs. Technical Report AI 91–161, Univ. of Texas at Austin, 1991.
Kamkar, M.; Krajina, P.: Dynamic Slicing of Distributed Systems. In: Proceedings of ICSM’95, S. 222–229, Opio/Nice, October 1995.
Letovsky, S.: Plan analysis of programs. Research Report 662, Yale University, December 1988.
Lientz, B., Swanson, E., Tompkins, G.E.: Characteristics of Application Software Maintenance. In: Communications of the ACM, 21(6), June 1978.
von Mayrhauser, Anneliese; Vans, A. Marie: Program Comprehension During Software Maintenance and Evolution. In: IEEE Computer, S. 44–55, August 1995.
Rich, Charles; Wills, Linda Mary: Recognizing a programs design: Agraph-parsing approach. In: IEEE Software, 1990, January, S. 82–89.
Rich, Charles; Waters, R.C.: The Programmer’s Apprentice. Addison-Wesley, Reading, Massachusetts, 1990.
Rugaber, Spencer: Program Comprehension. Georgia Institute of Technology, April 1995.
Soloway, E; Ehrlich, K.: Empirical Studies of Programming Knowledge. In: IEEE Trans, on SE, 1984, Sept. S. 595–609.
Stasko, John T.: TANGO: A Framework and System for Algorithm Animation. In: IEEE Computer, Vol. 23, No. 9, S. 27–39, September 1990.
Storey, Margaret-Anne D., Müller Hausi A.: Manipulating and Documenting Software Structures Using SHriMP Views. In: Proc. of ICSM, October 1995.
Weiser, Mark: Program Slicing. In: Proceedings of the 5th ICSE, March 1981.
Wills, Linda Mary: Automated Program Recognition by Graph Parsing. Technical Report 1358, July 1992, Massachusetts Institute of Technology — Artificial Intelligence Laboratory.
Editor information
Rights and permissions
Copyright information
© 1996 Springer Fachmedien Wiesbaden
About this chapter
Cite this chapter
Koschke, R., Plödereder, E. (1996). Ansätze des Programmverstehens. In: Lehner, F. (eds) Softwarewartung und Reengineering. Information Engineering und IV-Controlling. Deutscher Universitätsverlag, Wiesbaden. https://doi.org/10.1007/978-3-663-08951-3_11
Download citation
DOI: https://doi.org/10.1007/978-3-663-08951-3_11
Publisher Name: Deutscher Universitätsverlag, Wiesbaden
Print ISBN: 978-3-8244-6294-0
Online ISBN: 978-3-663-08951-3
eBook Packages: Springer Book Archive