DocumentCode
2370292
Title
Design recovery by automated search for structural design patterns in object-oriented software
Author
Krämer, Christian ; Prechelt, Lutz
Author_Institution
Software Eng. Dept., Computec GmbH, Karlsruhe, Germany
fYear
1996
fDate
11-10 Nov. 1996
Firstpage
208
Lastpage
215
Abstract
The object-oriented design community has recently begun to collect so-called design patterns: cliches plus hints to their recommended use in software construction. The structural design patterns Adapter, Bridge, Composite, Decorator, and Proxy represent packaged problem/context/solution/properties descriptions to common problems in object-oriented design. Localizing instances of these patterns in existing software produced without explicit use of patterns can improve the maintainability of software. In the authors´ approach, called the Pat system, design information is extracted directly from C++ header files and stored in a repository. The patterns are expressed as PROLOG rules and the design information is translated into facts. A single PROLOG query is then used to search for all patterns. They examined four applications, including the popular class libraries zApp and LEDA, with Pat. With some restrictions all pattern instances are found; the precision is about 40 percent. Since manual filtering of the output is relatively easy, they consider Pat a useful tool for discovering or recovering design information.
Keywords
object-oriented programming; Adapter; Bridge; C++ header files; Composite; Decorator; LEDA class library; PROLOG query; PROLOG rules; Pat system; Proxy; automated structural design pattern search; design information; design information discovery; design information recovery; design recovery; facts; manual output filtering; object-oriented software; pattern instances; software construction; software maintainability; zApp class library; Bridges; Computer aided software engineering; Context; Microarchitecture; Packaging; Reverse engineering; Software engineering; Software maintenance; Software tools; Terminology;
fLanguage
English
Publisher
ieee
Conference_Titel
Reverse Engineering, 1996., Proceedings of the Third Working Conference on
Conference_Location
Monterey, CA, USA
Print_ISBN
0-8186-7674-4
Type
conf
DOI
10.1109/WCRE.1996.558905
Filename
558905
Link To Document