A Formal Approach to Checking Consistency in Software Refactoring

被引:4
作者
Hong Anh Le [1 ]
Thi-Huong Dao [2 ]
Ninh-Thuan Truong [2 ]
机构
[1] Hanoi Univ Min & Geol, Hanoi, Vietnam
[2] Univ Engn & Technol, VNU, Hanoi, Vietnam
关键词
Refactoring; Design patterns; Consistency; Formal approach;
D O I
10.1007/s11036-017-0807-z
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
In software development, refactoring is a process that improves the system internal structure without altering its external behavior. Applying design patterns, which are common reusable solutions of several kinds of problems is widely adopted. This technique, however, raises a challenging issue that after applying design patterns the software system may not preserve some certain behavioral properties. This paper proposes a new approach to checking consistency between original software system and its evolution at both design and implementation phases. First, we formalize elements of software designs and programs. Methods, based on these formalizations, are proposed for verifying the design and implementation of the system. Finally, the paper presents a case study of Adaptive Road Traffic Control system to illustrate the proposed approach in detail.
引用
收藏
页码:356 / 366
页数:11
相关论文
共 50 条
  • [21] An Interactive and Dynamic Search-Based Approach to Software Refactoring Recommendations
    Alizadeh, Vahid
    Kessentini, Marouane
    Mkaouer, Mohamed Wiem
    Ocinneide, Mel
    Ouni, Ali
    Cai, Yuanfang
    IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2020, 46 (09) : 932 - 961
  • [22] Understanding the complexity of refactoring in software systems: a tool-based approach
    Advani, Deepak
    Hassoun, Youssef
    Counsell, Steve
    INTERNATIONAL JOURNAL OF GENERAL SYSTEMS, 2006, 35 (03) : 329 - 346
  • [23] A fuzzy genetic automatic refactoring approach to improve software maintainability and flexibility
    Saheb Nasagh, Raana
    Shahidi, Mahnoosh
    Ashtiani, Mehrdad
    SOFT COMPUTING, 2021, 25 (06) : 4295 - 4325
  • [24] A game of refactoring. Studying the impact of gamification in software refactoring
    Elezi, Leonard
    Sali, Sara
    Demeyer, Serge
    Murgia, Alessandro
    Perez, Javier
    PROCEEDINGS OF THE XP2016 SCIENTIFIC WORKSHOPS, 2016,
  • [25] Software Refactoring for System Modernization
    Santos, Bruno M.
    Garcia-Rodriguez de Guzman, Ignacio
    de Camargo, Valter V.
    Piattini, Mario
    Ebert, Christof
    IEEE SOFTWARE, 2018, 35 (06) : 62 - 67
  • [26] Effective Software Refactoring Process
    Kaya, Mehmet
    Conley, Shannon
    Othman, Zhala S.
    Varol, Asaf
    2018 6TH INTERNATIONAL SYMPOSIUM ON DIGITAL FORENSIC AND SECURITY (ISDFS), 2018, : 197 - 202
  • [27] Formal Foundations for Analyzing and Refactoring Delta-Oriented Model-Based Software Product Lines
    Pietsch, Christopher
    Kelter, Udo
    Kehrer, Timo
    Seidl, Christoph
    SPLC'19: PROCEEDINGS OF THE 23RD INTERNATIONAL SYSTEMS AND SOFTWARE PRODUCT LINE CONFERENCE, VOL A, 2020, : 207 - 217
  • [28] An Approach to Analyzing Execution Preservation in Java']Java Program Refactoring
    Thi-Huong Dao
    Hong Anh Le
    Ninh Thuan Truong
    CONTEXT-AWARE SYSTEMS AND APPLICATIONS (ICCASA 2016), 2017, 193 : 101 - 110
  • [29] A probabilistic-based approach for automatic identification and refactoring of software code smells
    Saheb-Nassagh, Raana
    Ashtiani, Mehrdad
    Minaei-Bidgoli, Behrouz
    APPLIED SOFT COMPUTING, 2022, 130
  • [30] A systematic approach for software refactoring based on class and method level for AI application
    Panigrahi R.
    Kuanar S.K.
    Kumar L.
    Padhy N.
    International Journal of Powertrains, 2021, 10 (02) : 143 - 174