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 条
  • [41] Centralized, distributed responsibility, and decoupled object-oriented software designs
    Broadwater, RP
    Dilek, M
    Thompson, J
    2001 POWER ENGINEERING SOCIETY SUMMER MEETING, VOLS 1-3, CONFERENCE PROCEEDINGS, 2001, : 1025 - 1028
  • [42] Concern-based Refactorings Supported by Class Models to Reengineer Object-Oriented Software into Aspect-Oriented Ones
    Parreira Junior, Paulo Afonso
    Viana, Matheus Carvalho
    Durelli, Rafael Serapilha
    de Camargo, Valter Vieira
    Xavier Costa, Heitor Augustus
    Dellosso Penteado, Rosangela Aparecida
    ICEIS: PROCEEDINGS OF THE 15TH INTERNATIONAL CONFERENCE ON ENTERPRISE INFORMATION SYSTEMS - VOL 2, 2013, : 46 - 57
  • [43] The design of an object-oriented user interface for the object-oriented database
    Liu, XD
    Li, LZ
    Wang, XF
    OBJECT-ORIENTED TECHNOLOGY, 1997, : 150 - 155
  • [44] OBJECT-ORIENTED REQUIREMENTS TO OBJECT-ORIENTED DESIGN - AN EASY TRANSITION
    DAVIS, AM
    JOURNAL OF SYSTEMS AND SOFTWARE, 1995, 30 (1-2) : 151 - 159
  • [45] Object of object-oriented authoring
    CD-ROM Prof, 9 (46):
  • [46] The object of object-oriented authoring
    Kozel, K
    CD-ROM PROFESSIONAL, 1996, 9 (09): : 46 - &
  • [47] Matrix-based approach to measure coupling in object-oriented designs
    Yacoub, Sherif M.
    Ammar, Hany H.
    Robinson, Tom
    JOOP - Journal of Object-Oriented Programming, 2000, 13 (07): : 8 - 19
  • [48] A distributed object-oriented database for storing and managing collaborative architectural designs
    Marir, F
    Jackson, MJ
    Aouad, G
    NOVEL DESIGN AND INFORMATION TECHNOLOGY APPLICATIONS FOR CIVIL AND STRUCTURAL ENGINEERING, 1999, : 127 - 134
  • [49] Replicated case studies for investigating quality factors in object-oriented designs
    Briand L.C.
    Wüst J.
    Lounis H.
    Empirical Software Engineering, 2001, 6 (01) : 11 - 58
  • [50] Assessing The Impact of Refactoring on Security-Critical Object-Oriented Designs
    Alshammari, Bandar
    Fidge, Colin
    Corney, Diane
    17TH ASIA PACIFIC SOFTWARE ENGINEERING CONFERENCE (APSEC 2010), 2010, : 186 - 195