学位论文详细信息
Handling High-Level Model Changes Using Search Based Software Engineering
Software Engineering;Model Merging;Model-Driven Engineering;Multi-Objective Optimization;Refactoring;Defect Detection;Information Systems Engineering;Information Systems Engineering, College of Engineering and Computer Science
Mansoor, UsmanZhu, Qiang ;
University of Michigan
关键词: Software Engineering;    Model Merging;    Model-Driven Engineering;    Multi-Objective Optimization;    Refactoring;    Defect Detection;    Information Systems Engineering;    Information Systems Engineering, College of Engineering and Computer Science;   
Others  :  https://deepblue.lib.umich.edu/bitstream/handle/2027.42/136077/Usman%20Mansoor%20Final.pdf?sequence=1&isAllowed=y
瑞士|英语
来源: The Illinois Digital Environment for Access to Learning and Scholarship
PDF
【 摘 要 】

Model-Driven Engineering (MDE) considers models as first-class artifacts during the softwarelifecycle. The number of available tools, techniques, and approaches for MDE is increasing as its use gains traction in driving quality, and controlling cost in evolution of large software systems.Software models, defined as code abstractions, are iteratively refined, restructured, and evolved.This is due to many reasons such as fixing defects in design, reflecting changes in requirements, and modifying a design to enhance existing features.In this work, we focus on four main problems related to the evolution of software models: 1) the detection of applied model changes, 2) merging parallel evolved models, 3) detection of design defects in merged model, and 4) the recommendation of new changes to fix defects in software models.Regarding the first contribution, a-posteriori multi-objective change detection approach has been proposed for evolved models. The changes are expressed in terms of atomic and compositerefactoring operations. The majority of existing approaches detects atomic changes but do not adequately address composite changes which mask atomic operations in intermediate models.For the second contribution, several approaches exist to construct a merged model byincorporating all non-conflicting operations of evolved models. Conflicts arise when theapplication of one operation disables the applicability of another one. The essence of the problem is to identify and prioritize conflicting operations based on importance and context – a gap inexisting approaches. This work proposes a multi-objective formulation of model merging thataims to maximize the number of successfully applied merged operations.For the third and fourth contributions, the majority of existing works focuses on refactoring atsource code level, and does not exploit the benefits of software design optimization at modellevel. However, refactoring at model level is inherently more challenging due to difficulty inassessing the potential impact on structural and behavioral features of the software system. This requires analysis of class and activity diagrams to appraise the overall system quality, feasibility, and inter-diagram consistency. This work focuses on designing, implementing, and evaluating a multi-objective refactoring framework for detection and fixing of design defects in softwaremodels.

【 预 览 】
附件列表
Files Size Format View
Handling High-Level Model Changes Using Search Based Software Engineering 3774KB PDF download
  文献评价指标  
  下载次数:17次 浏览次数:45次