Show simple item record

Handling High-Level Model Changes Using Search Based Software Engineering

dc.contributor.authorMansoor, Usman
dc.contributor.advisorKessentini, Marouane
dc.date.accessioned2017-02-09T04:41:01Z
dc.date.availableNO_RESTRICTIONen_US
dc.date.available2017-02-09T04:41:01Z
dc.date.issued2017-04-30
dc.date.submitted2017-01-10
dc.identifier.urihttps://hdl.handle.net/2027.42/136077
dc.description.abstractModel-Driven Engineering (MDE) considers models as first-class artifacts during the software lifecycle. 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 composite refactoring 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 by incorporating all non-conflicting operations of evolved models. Conflicts arise when the application 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 in existing approaches. This work proposes a multi-objective formulation of model merging that aims to maximize the number of successfully applied merged operations. For the third and fourth contributions, the majority of existing works focuses on refactoring at source code level, and does not exploit the benefits of software design optimization at model level. However, refactoring at model level is inherently more challenging due to difficulty in assessing 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 software models.en_US
dc.language.isoen_USen_US
dc.subjectSoftware Engineeringen_US
dc.subjectModel Mergingen_US
dc.subjectModel-Driven Engineeringen_US
dc.subjectMulti-Objective Optimizationen_US
dc.subjectRefactoringen_US
dc.subjectDefect Detectionen_US
dc.subject.otherInformation Systems Engineeringen_US
dc.titleHandling High-Level Model Changes Using Search Based Software Engineeringen_US
dc.typeThesisen_US
dc.description.thesisdegreenamePhDen_US
dc.description.thesisdegreedisciplineInformation Systems Engineering, College of Engineering and Computer Scienceen_US
dc.description.thesisdegreegrantorUniversity of Michigan-Dearbornen_US
dc.contributor.committeememberGrosky, William
dc.contributor.committeememberKridli, Ghassan
dc.contributor.committeememberMaxim, Bruce
dc.contributor.committeememberZhu, Qiang
dc.identifier.uniqname04247289en_US
dc.description.bitstreamurlhttp://deepblue.lib.umich.edu/bitstream/2027.42/136077/1/Usman Mansoor Final.pdf
dc.identifier.orcid0000-0002-0133-4868en_US
dc.description.filedescriptionDescription of Usman Mansoor Final.pdf : Dissertation
dc.identifier.name-orcidMansoor, Usman; 0000-0002-0133-4868en_US
dc.owningcollnameDissertations and Theses (Ph.D. and Master's)


Files in this item

Show simple item record

Remediation of Harmful Language

The University of Michigan Library aims to describe library materials in a way that respects the people and communities who create, use, and are represented in our collections. Report harmful or offensive language in catalog records, finding aids, or elsewhere in our collections anonymously through our metadata feedback form. More information at Remediation of Harmful Language.

Accessibility

If you are unable to use this file in its current format, please select the Contact Us link and we can modify it to make it more accessible to you.