Show simple item record

A Multi-Level Framework for the Detection, Prioritization and Testing of Software Design Defects

dc.contributor.authorSahin, Dilan
dc.contributor.advisorKessentini, Marouane
dc.date.accessioned2017-02-09T04:17:35Z
dc.date.availableNO_RESTRICTIONen_US
dc.date.available2017-02-09T04:17:35Z
dc.date.issued2016-12-17
dc.date.submitted2016-10-11
dc.identifier.urihttps://hdl.handle.net/2027.42/136075
dc.description.abstractLarge-scale software systems exhibit high complexity and become difficult to maintain. In fact, it has been reported that software cost dedicated to maintenance and evolution activities is more than 80% of the total software costs. In particular, object-oriented software systems need to follow some traditional design principles such as data abstraction, encapsulation, and modularity. However, some of these non-functional requirements can be violated by developers for many reasons such as inexperience with object-oriented design principles, deadline stress. This high cost of maintenance activities could potentially be greatly reduced by providing automatic or semi-automatic solutions to increase system‟s comprehensibility, adaptability and extensibility to avoid bad-practices. The detection of refactoring opportunities focuses on the detection of bad smells, also called antipatterns, which have been recognized as the design situations that may cause software failures indirectly. The correction of one bad smell may influence other bad smells. Thus, the order of fixing bad smells is important to reduce the effort and maximize the refactoring benefits. However, very few studies addressed the problem of finding the optimal sequence in which the refactoring opportunities, such as bad smells, should be ordered. Few other studies tried to prioritize refactoring opportunities based on the types of bad smells to determine their severity. However, the correction of severe bad smells may require a high effort which should be optimized and the relationships between the different bad smells are not considered during the prioritization process. The main goal of this research is to help software engineers to refactor large-scale systems with a minimum effort and few interactions including the detection, management and testing of refactoring opportunities. We report the results of an empirical study with an implementation of our bi-level approach. The obtained results provide evidence to support the claim that our proposal is more efficient, on average, than existing techniques based on a benchmark of 9 open source systems and 1 industrial project. We have also evaluated the relevance and usefulness of the proposed bi-level framework for software engineers to improve the quality of their systems and support the detection of transformation errors by generating efficient test cases.en_US
dc.language.isoen_USen_US
dc.subjectSearch-based Software Engineeringen_US
dc.subjectModel-Driven Engineeringen_US
dc.subjectRefactoringen_US
dc.subjectBi-level Optimizationen_US
dc.subject.otherInformation Systems Engineeringen_US
dc.titleA Multi-Level Framework for the Detection, Prioritization and Testing of Software Design Defectsen_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.committeememberJia, Bochen
dc.contributor.committeememberMaxim, Bruce
dc.identifier.uniqname88972662en_US
dc.description.bitstreamurlhttp://deepblue.lib.umich.edu/bitstream/2027.42/136075/1/Dilan_Sahin_Final Dissertation.pdf
dc.identifier.orcid0000-0003-0246-7213en_US
dc.description.filedescriptionDescription of Dilan_Sahin_Final Dissertation.pdf : Dissertation
dc.identifier.name-orcidSahin, Dilan; 0000-0003-0246-7213en_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 its collections in a way that respects the people and communities who create, use, and are represented in them. We encourage you to Contact Us anonymously if you encounter harmful or problematic language in catalog records or finding aids. More information about our policies and practices is available 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.