Multi-view refactoring of class and activity diagrams using a multi-objective evolutionary algorithm

被引:40
作者
Mansoor, Usman [1 ]
Kessentini, Marouane [1 ]
Wimmer, Manuel [2 ]
Deb, Kalyanmoy [3 ]
机构
[1] Univ Michigan, Dearborn, MI 48128 USA
[2] Vienna Univ Technol, Vienna, Austria
[3] Michigan State Univ, E Lansing, MI 48824 USA
关键词
Search-based software engineering; Software maintenance; Multi-objective optimization; MODEL; TRANSFORMATIONS;
D O I
10.1007/s11219-015-9284-4
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
To improve the quality of software systems, one of the widely used techniques is refactoring defined as the process of improving the design of an existing system by changing its internal structure without altering the external behavior. The majority of existing refactoring work focuses mainly on the source code level. The suggestion of refactorings at the model level is more challenging due to the difficulty to evaluate: (a) the impact of the suggested refactorings applied to a diagram on other related diagrams to improve the overall system quality, (b) their feasibility, and (c) interdiagram consistency. We propose, in this paper, a novel framework that enables software designers to apply refactoring at the model level. To this end, we used a multi-objective evolutionary algorithm to find a trade-off between improving the quality of class and activity diagrams. The proposed multi-objective approach provides a multi-view for software designers to evaluate the impact of suggested refactorings applied to class diagrams on related activity diagrams in order to evaluate the overall quality, and check their feasibility and behavior preservation. The statistical evaluation performed on models extracted from four open-source systems confirms the efficiency of our approach.
引用
收藏
页码:473 / 501
页数:29
相关论文
共 48 条
[1]  
[Anonymous], CEUR WORKSHOP
[2]  
Arcelli D, 2012, P 8 INT ACM SIGSOFT, P33, DOI 10.1145/2304696.2304704
[3]   A tool environment for quality assurance based on the Eclipse Modeling Framework [J].
Arendt, Thorsten ;
Taentzer, Gabriele .
AUTOMATED SOFTWARE ENGINEERING, 2013, 20 (02) :141-184
[4]   A hierarchical model for object-oriented design quality assessment [J].
Bansiya, J ;
Davis, CG .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2002, 28 (01) :4-17
[5]  
Biermann E, 2006, LECT NOTES COMPUT SC, V4199, P425
[6]  
BOCK C, 2003, J OBJECT TECHNOLOGY, V2, P41
[7]  
Boger M., 2002, Objects, components, architectures, services, and applications for a networked world, P366
[8]  
Bottoni P, 2003, LECT NOTES COMPUT SC, V3062, P220
[9]  
Cardoso J., 2006, BPM WORKSH
[10]  
Cicchetti A, 2009, LECT NOTES COMPUT SC, V5563, P35, DOI 10.1007/978-3-642-02408-5_4