Inference of object-oriented design patterns

被引:21
|
作者
Tonella, P [1 ]
Antoniol, G
机构
[1] IRST, ITC, I-38050 Trento, Italy
[2] Univ Sannio, Fac Engn, I-82100 Benevento, Italy
关键词
code analysis; concept analysis; reverse engineering; software architecture; design patterns;
D O I
10.1002/smr.235
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
When designing a new application, experienced software engineers usually adopt solutions that have proven successful in previous projects. Such reuse of code organizations is seldom made explicit. Nevertheless, it represents important information, which can be extremely valuable in the maintenance phase by documenting the design choices underlying the implementation. In addition it can be reused whenever a similar problem is encountered. In this paper an approach for the inference of recurrent design patterns directly from the code is proposed. No assumption is made on the availability of any pattern library, and the concept analysis algorithm-adapted for this purpose-is able to infer the presence of class groups which instantiate a common, repeated pattern. In fact, concept analysis provides sets of objects sharing attributes, which-in the case of object-oriented design patterns-become class members or inter-class relations. The approach was applied to three C++ applications for which the structural relations among classes led to the extraction of a set of design patterns, which could be enriched with non-structural information about class members and method invocations. The resulting patterns could be interpreted as meaningful organizations aimed at solving general problems which have several instances in the applications analyzed. Copyright (C) 2001 John Wiley & Sons, Ltd.
引用
收藏
页码:309 / 330
页数:22
相关论文
共 50 条
  • [21] Evaluation of object-oriented design patterns in game development
    Ampatzoglou, Apostolos
    Chatzigeorgiou, Alexander
    [J]. INFORMATION AND SOFTWARE TECHNOLOGY, 2007, 49 (05) : 445 - 454
  • [22] A clustering approach for the identification of object-oriented design patterns
    Shawky, DM
    Abd-El-Hafiz, SK
    El-Sedeek, AL
    [J]. ICEEC'04: 2004 INTERNATIONAL CONFERENCE ON ELECTRICAL, ELECTRONIC AND COMPUTER ENGINEERING, PROCEEDINGS, 2004, : 295 - 298
  • [23] Object-oriented design
    Holland, IM
    Lieberherr, KJ
    [J]. ACM COMPUTING SURVEYS, 1996, 28 (01) : 273 - 275
  • [25] OBJECT-ORIENTED DESIGN
    CUSACK, EL
    CLOUGH, C
    RICHARDS, K
    [J]. BRITISH TELECOMMUNICATIONS ENGINEERING, 1990, 9 : 71 - 77
  • [26] Region inference for an object-oriented language
    Chin, WN
    Craciun, F
    Qin, SC
    Rinard, M
    [J]. ACM SIGPLAN NOTICES, 2004, 39 (06) : 243 - 254
  • [27] AN OBJECT-ORIENTED INFERENCE ENGINE FOR PROLOG
    LANOVAZ, D
    SZAFRON, D
    [J]. JOURNAL OF SYSTEMS AND SOFTWARE, 1992, 19 (01) : 13 - 25
  • [28] Region inference for an object-oriented language
    Chin, Wei-Ngan
    Craciun, Florin
    Qin, Shengchao
    Rinard, Martin
    [J]. ACM SIGPLAN Not., 1600, 6 (243-254):
  • [29] The design of an object-oriented user interface for the object-oriented database
    Liu, XD
    Li, LZ
    Wang, XF
    [J]. OBJECT-ORIENTED TECHNOLOGY, 1997, : 150 - 155
  • [30] OBJECT-ORIENTED REQUIREMENTS TO OBJECT-ORIENTED DESIGN - AN EASY TRANSITION
    DAVIS, AM
    [J]. JOURNAL OF SYSTEMS AND SOFTWARE, 1995, 30 (1-2) : 151 - 159