Object-oriented design patterns recovery

被引:52
|
作者
Antoniol, G [1 ]
Casazza, G
Di Penta, M
Fiutem, R
机构
[1] Univ Sannio, Fac Engn, I-82100 Benevento, Italy
[2] Univ Naples Federico II, DIS, I-80125 Naples, Italy
[3] Sodalia SpA, I-38100 Trento, Italy
关键词
OO design pattern recovery; OO redocumentation; software metrics; traceability;
D O I
10.1016/S0164-1212(01)00061-9
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Object-Oriented (OO) design patterns are an emergent technology: they are reusable micro-architectures, high-level building blocks. A system which has been designed using well-known, documented and accepted design patterns is also likely to exhibit good properties such as modularity, separation of concerns and maintainability. While for forward engineering the benefits of using design patterns are clear, using reverse engineering technologies to discover instances of patterns in a software artifact (e.g., design or code) may help in several key areas, among which are program understanding, design-to-code traceability and quality assessment. This paper describes a conservative approach and experimental results, based on a multi-stage reduction strategy using OO software metrics and structural properties to extract structural design patterns from OO design or C++ code. To assess the effectiveness of the pattern recovery approach, a process and a portable tool suite written in Java, remotely accessible by means of any WEB browser, has been developed. The developed system and experimental results on 8 industrial software (design and code) and 200,000 lines of public domain C++ code are presented. (C) 2001 Elsevier Science Inc. All rights reserved.
引用
收藏
页码:181 / 196
页数:16
相关论文
共 50 条
  • [1] Design recovery by automated search for structural design patterns in object-oriented software
    Kramer, C
    Prechelt, L
    PROCEEDINGS OF THE THIRD WORKING CONFERENCE ON REVERSE ENGINEERING, 1996, : 208 - 215
  • [2] Inference of object-oriented design patterns
    Tonella, P
    Antoniol, G
    JOURNAL OF SOFTWARE MAINTENANCE AND EVOLUTION-RESEARCH AND PRACTICE, 2001, 13 (05): : 309 - 330
  • [3] Design patterns in object-oriented frameworks
    Srinivasan, S
    COMPUTER, 1999, 32 (02) : 24 - +
  • [4] Object-Oriented Design Patterns for Detailed Design
    Al-Ahmad, W.
    JOURNAL OF OBJECT TECHNOLOGY, 2006, 5 (02): : 155 - 169
  • [5] Mapping procedural patterns to object-oriented design patterns
    Lano K.
    Malik N.
    Automated Software Engineering, 1999, 6 (3) : 265 - 289
  • [6] Design pattern recovery in object-oriented software
    Antoniol, G
    Fiutem, R
    Cristoforetti, L
    6TH INTERNATIONAL WORKSHOP ON PROGRAM COMPREHENSION (IWPC 98) - PROCEEDINGS, 1998, : 153 - 160
  • [7] Object-oriented design of RTI using design patterns
    Lee, TD
    Jin, JH
    Jeong, CS
    OBJECT-ORIENTED INFORMATION SYSTEMS, 2003, 2817 : 329 - 333
  • [8] Design patterns for an Object-Oriented computational chemistry
    Bersini, H
    ADVANCES IN ARTIFICIAL LIFE, PROCEEDINGS, 1999, 1674 : 389 - 398
  • [9] Efficient object-oriented software with design patterns
    Friedrich, M
    Papajewski, H
    Schröder-Preikschat, W
    Spinczyk, O
    Spinczyk, U
    GENERATIVE AND COMPONENT-BASED SOFTWARE ENGINEERING, PROCEEDINGS, 2000, 1799 : 79 - 90
  • [10] Implementing design patterns with object-oriented rules
    Weiss, GM
    Ros, JP
    JOURNAL OF OBJECT-ORIENTED PROGRAMMING, 1998, 11 (07): : 25 - +