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

被引:0
作者
Usman Mansoor
Marouane Kessentini
Manuel Wimmer
Kalyanmoy Deb
机构
[1] University of Michigan,
[2] Vienna University of Technology,undefined
[3] Michigan State University,undefined
来源
Software Quality Journal | 2017年 / 25卷
关键词
Search-based software engineering; Software maintenance; Multi-objective optimization;
D O I
暂无
中图分类号
学科分类号
摘要
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
页数:28
相关论文
共 41 条
  • [1] Arendt T(2013)A tool environment for quality assurance based on the Eclipse modeling framework Automated Software Engineering 20 141-184
  • [2] Taentzer G(2002)A hierarchical model for object-oriented design quality assessment IEEE Transactions on Software Engineering 28 4-17
  • [3] Bansiya J(2003)UML 2 activity and action models, Part 2: Actions Journal of Object Technology 2 41-56
  • [4] Davis CG(2002)A fast and elitist multiobjective genetic algorithm: NSGA-II IEEE Transactions on Evolutionary Computation 6 182-197
  • [5] Bock Conrad(2003)A metamodeling approach to pattern-based model refactoring IEEE Software 20 52-58
  • [6] Deb K(1998)Inconsistency management for multiple-view software development environments IEEE Transactions on Software Engineering 24 960-981
  • [7] Pratap A(2007)Update transformations in the small with the Epsilon wizard language JOT 6 53-69
  • [8] Agarwal S(2008)Refactoring OCL annotated UML class diagrams Software and Systems Modeling 7 25-47
  • [9] Meyarivan T(2007)Analyzing refactoring dependencies using graph transformation Journal on Software and Systems Modeling 6 269-139
  • [10] France RB(2004)A survey of software refactoring IEEE Transactions on Software Engineering 30 126-158