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 条
[31]   A systematic approach for software refactoring based on class and method level for AI application [J].
Panigrahi R. ;
Kuanar S.K. ;
Kumar L. ;
Padhy N. .
International Journal of Powertrains, 2021, 10 (02) :143-174
[32]   The Refactoring Plan Configuration. A Formal Model [J].
Chisalita-Cretu, Camelia .
PROCEEDINGS OF THE 5TH INTERNATIONAL CONFERENCE ON VIRTUAL LEARNING, ICVL 2010, 2010, :418-424
[33]   Consistency Checking in Requirements Analysis [J].
Bendik, Jaroslav .
PROCEEDINGS OF THE 26TH ACM SIGSOFT INTERNATIONAL SYMPOSIUM ON SOFTWARE TESTING AND ANALYSIS (ISSTA'17), 2017, :408-411
[34]   On the Complexity of Checking Transactional Consistency [J].
Biswas, Ranadeep ;
Enea, Constantin .
PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2019, 3 (OOPSLA)
[35]   RefBot: Intelligent Software Refactoring Bot [J].
Alizadeh, Valid ;
Ouali, Mohamed Amine ;
Kessentini, Marouane ;
Chater, Meriem .
34TH IEEE/ACM INTERNATIONAL CONFERENCE ON AUTOMATED SOFTWARE ENGINEERING (ASE 2019), 2019, :835-846
[36]   A Set of Well-Formedness Rules to Checking the Consistency of the Software Processes Based on SPEM 2.0 [J].
Pereira, Eliana B. ;
Bastos, Ricardo M. ;
Oliveira, Toacy C. ;
Mora, Michael C. .
ENTERPRISE INFORMATION SYSTEMS, ICEIS 2011, 2012, 102 :284-299
[37]   Refactoring at the Core of Agile Software Development [J].
Yoder, Joseph W. .
AOSD 2011 PROCEEDINGS AND COMPANION MATERIAL, 2011, :51-52
[38]   An Investigation of Entropy and Refactoring in Software Evolution [J].
Keenan, Daniel ;
Greer, Des ;
Cutting, David .
PRODUCT-FOCUSED SOFTWARE PROCESS IMPROVEMENT, PROFES 2022, 2022, 13709 :282-297
[39]   A Refactoring Approach to Parallelism [J].
Dig, Danny .
IEEE SOFTWARE, 2011, 28 (01) :17-22
[40]   A genetic algorithm-based approach for automated refactoring of component-based software [J].
Kebir, Salim ;
Borne, Isabelle ;
Meslati, Djamel .
INFORMATION AND SOFTWARE TECHNOLOGY, 2017, 88 :17-36