Evolving object-oriented designs with refactorings

被引:52
|
作者
Tokuda L. [1 ]
Batory D. [1 ]
机构
[1] Department of Computer Sciences, University of Texas, Austin, TX
关键词
Hot spot driven approach - Object oriented design patterns - Program transformations - Refactoring tools;
D O I
10.1023/A:1008715808855
中图分类号
学科分类号
摘要
Refactorings are behavior-preserving program transformations that automate design evolution in object-oriented application. Three kinds of design evolution are: schema transformation, design pattern microarchitectures, and the hot-spot-driven-approach. This research shows that all three are automatable with refactorings. A comprehensive list of refactorings for design evolution is provided and an analysis of supported scheme transformations, design patterns, and hot-spot meta patterns is presented. Further, we evaluate whether refactoring technology can be transferred to the mainstream by restructuring non-trivial C++ applications. The applications that we examine were evolved manually by software engineers. We show that an equivalent evolution could be reproduced significantly faster and cheaper by applying a handful of general-purpose refactorings. In one application, over 14K lines of code were transformed automatically that otherwise would have been coded by hand. Our experiments identify benefits, limitations, and topics of further research related to the transfer of refactoring technology to a production environment.
引用
收藏
页码:89 / 120
页数:31
相关论文
共 50 条
  • [1] A model for the application of object-oriented refactorings
    Gayed, G
    Deugo, D
    7TH WORLD MULTICONFERENCE ON SYSTEMICS, CYBERNETICS AND INFORMATICS, VOL VI, PROCEEDINGS: INFORMATION SYSTEMS, TECHNOLOGIES AND APPLICATIONS: I, 2003, : 45 - 51
  • [2] Controlling the Attack Surface of Object-Oriented Refactorings
    Ruland, Sebastian
    Kulcsar, Geza
    Leblebici, Erhan
    Peldszus, Sven
    Lochau, Malte
    FUNDAMENTAL APPROACHES TO SOFTWARE ENGINEERING (FASE 2018), 2018, 10802 : 38 - 55
  • [3] Effective software merging in the presence of object-oriented refactorings
    Dig, Danny
    Manzoor, Kashif
    Johnson, Ralph
    Nguyen, Tien N.
    IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2008, 34 (03) : 321 - 335
  • [4] ANALYSIS OF OBJECT-ORIENTED DESIGNS
    BELKOUCHE, B
    CHAVARRO, M
    JOURNAL OF OBJECT-ORIENTED PROGRAMMING, 1995, 7 (09): : 30 - 42
  • [5] Analysis of object-oriented designs
    Tulane Univ, New Orleans, United States
    J Object Oriented Program, 9 (30-42):
  • [6] Identification and application of Extract Class refactorings in object-oriented systems
    Fokaefs, Marios
    Tsantalis, Nikolaos
    Stroulia, Eleni
    Chatzigeorgiou, Alexander
    JOURNAL OF SYSTEMS AND SOFTWARE, 2012, 85 (10) : 2241 - 2260
  • [7] Verification of object-oriented simulation designs
    Metz, ML
    Jordan, J
    WSC'01: PROCEEDINGS OF THE 2001 WINTER SIMULATION CONFERENCE, VOLS 1 AND 2, 2001, : 600 - 603
  • [8] A relational model for object-oriented designs
    He, JF
    Liu, ZM
    Li, XS
    Qin, SC
    PROGRAMMING LANGUAGES AND SYSTEMS, PROCEEDINGS, 2004, 3302 : 415 - 436
  • [9] A framework for distributing object-oriented designs
    Karim El Guemhioui
    International Journal on Software Tools for Technology Transfer, 2003, 4 (3) : 381 - 396
  • [10] Structuring and Analysis of Object-Oriented Designs
    Gursaran
    Kumar, S.
    Satsangi, P. S.
    Computer Science and Informatics, 1995, 25 (03):