Enabling Decision and Objective Space Exploration for Interactive Multi-Objective Refactoring

被引:8
作者
Rebai, Soumaya [1 ]
Alizadeh, Vahid [1 ]
Kessentini, Marouane [1 ]
Fehri, Houcem [1 ]
Kazman, Rick [2 ,3 ]
机构
[1] Univ Michigan, Dept Comp & Informat Sci, Dearborn, MI 48128 USA
[2] Univ Hawaii, Honolulu, HI 96822 USA
[3] Carnegie Mellon Univ, Software Engn Inst, Pittsburgh, PA 15213 USA
关键词
Tools; Clustering algorithms; Measurement; Search problems; Manuals; Software; Space exploration; Search based software engineering; refactoring; multi-objective search; clustering; SOFTWARE; MODEL; CODE; OPTIMIZATION; ATTRIBUTES; EFFICIENCY;
D O I
10.1109/TSE.2020.3024814
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Due to the conflicting nature of quality measures, there are always multiple refactoring options to fix quality issues. Thus, interaction with developers is critical to inject their preferences. While several interactive techniques have been proposed, developers still need to examine large numbers of possible refactorings, which makes the interaction time-consuming. Furthermore, existing interactive tools are limited to the "objective space" to show developers the impacts of refactorings on quality attributes. However, the "decision space" is also important since developers may want to focus on specific code locations. In this paper, we propose an interactive approach that enables developers to pinpoint their preference simultaneously in the objective (quality metrics) and decision (code location) spaces. Developers may be interested in looking at refactoring strategies that can improve a specific quality attribute, such as extendibility (objective space), but such strategies may be related to different code locations (decision space). A plethora of solutions is generated at first using multi-objective search that tries to find the possible trade-offs between quality objectives. Then, an unsupervised learning algorithm clusters the trade-off solutions based on their quality metrics, and another clustering algorithm is applied within each cluster of the objective space to identify solutions related to different code locations. The objective and decision spaces can now be explored more efficiently by the developer, who can give feedback on a smaller number of solutions. This feedback is then used to generate constraints for the optimization process, to focus on the developer's regions of interest in both the decision and objective spaces. A manual validation of selected refactoring solutions by developers confirms that our approach outperforms state of the art refactoring techniques.
引用
收藏
页码:1560 / 1578
页数:19
相关论文
共 63 条
[1]   An Interactive and Dynamic Search-Based Approach to Software Refactoring Recommendations [J].
Alizadeh, Vahid ;
Kessentini, Marouane ;
Mkaouer, Mohamed Wiem ;
Ocinneide, Mel ;
Ouni, Ali ;
Cai, Yuanfang .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2020, 46 (09) :932-961
[2]  
Alizadeh V, 2018, IEEE INT CONF AUTOM, P464, DOI [10.1145/3238147.3238217, 10.114513238147.3238217]
[3]  
Amal B, 2014, LECT NOTES COMPUT SC, V8636, P31
[4]  
[Anonymous], 2015, 7 INT WORKSH MAN TEC
[5]  
[Anonymous], 2020, PROPOSED REFACTORING
[6]  
[Anonymous], 2010, DEVELOPER COEFFICIEN
[7]   A hierarchical model for object-oriented design quality assessment [J].
Bansiya, J ;
Davis, CG .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2002, 28 (01) :4-17
[8]   Scaling step-wise refinement [J].
Batory, D ;
Sarvela, JN ;
Rauschmayer, A .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2004, 30 (06) :355-371
[9]  
Bavota G, 2012, PROC INT CONF SOFTW, P1419, DOI 10.1109/ICSE.2012.6227233
[10]  
Briand L. C., 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002), P345, DOI 10.1109/ICSE.1999.841025