A multi-objective architecture reconstruction approach

aut.embargoNoen_NZ
aut.thirdpc.containsNoen_NZ
aut.thirdpc.permissionNoen_NZ
aut.thirdpc.removedNoen_NZ
dc.contributor.advisorConnor, Andy
dc.contributor.advisorMacDonell, Stephen
dc.contributor.authorSchmidt, Frederik
dc.date.accessioned2014-12-16T21:17:44Z
dc.date.available2014-12-16T21:17:44Z
dc.date.copyright2014
dc.date.created2014
dc.date.issued2014
dc.date.updated2014-12-16T03:21:35Z
dc.description.abstractDesign erosion is a persistent problem within the software engineering discipline. Software designs tend to deteriorate over time regardless of the ambitions of the development stakeholders involved. The preservation and restoration of the software design and architecture are often hampered by rapid increases in size and complexity, changing requirements and insufficient understanding of the aspired architectural design. Technical debt accumulates due to neglected refactoring and maintenance activities. A comprehensive redesign and redevelopment is often inevitable if the deterioration is not confined at an early stage. A variety of architecture management, reverse engineering and refactoring approaches are available which can prevent or overcome this cycle of architecture deterioration. Architecture management approaches help to monitor the architecture and identify emerging violations. Reverse engineering approaches help to analyse and understand the current structure of the system, and refactoring techniques can be used to restructure the system. However, the subsequent implementation of architecture management approaches into a legacy system is a complex and time consuming endeavour which requires thorough reverse engineering, manual analysis and refactoring to re-establish a well-structured and violation-free architectural design. Hence, such approaches are typically only able to deliver partial solutions to the problems of architecture erosion, confinement of deterioration or to the challenge of architecture reconstruction. The objective of the research presented in this thesis is to evaluate whether a Search Based Software Engineering (SBSE) approach can offer valuable support and solutions within these problem domains. The present research provides a framework to recover high-level architecture designs of software systems by structuring low-level artefacts into high-level architecture artefact configurations. The framework is implemented within a toolset to demonstrate its feasibility and to enable a thorough evaluation of the framework. The prototype features the flexible combination and configuration of SBSE techniques with established architecture metrics and design goals to discover feasible high-level architectural designs. A variety of analysis and visualisation techniques are implemented to effectively evaluate the quality of the identified solutions. The output of this process is an architecture design classification that can be integrated seamlessly into the development process to identify emerging design deteriorations. An important by-product of the evaluation of this research is a multi-objective evaluation artefact that enables the statistical analysis of multi-objective solution sets based on the computation of optimal Pareto-Front performance metrics. The evaluation framework enables the statistical analysis of performance snapshots by supporting the agglomeration and slicing of solution sets based on user configurations. It has been found in this research that the application of multi-objective optimisation techniques is a feasible approach to discover high-level software architecture configurations that feature software quality attributes that would be acceptable in practise. The inclusion of conceptual target architecture models in combination with software architecture conformance metrics enables the identification of modular software architecture configurations that align with desired high-level architecture designs. The performance of different Multi-Objective Evolutionary Algorithm (MOEA) implementations and MOEA tunings across different architecture reconstruction scenarios and software systems has been evaluated in this thesis. It has been found that the application of MOEA concepts such as genetic algorithms, scatter search, decomposition based search, differential evolution and particle swarm optimisation are feasible in the targeted application domain. The most prominent finding is that relaxed forms of Pareto-Dominance in combination with particle swarm optimisation search are powerful in finding promising architecture configurations in settings that feature many objectives.en_NZ
dc.identifier.urihttps://hdl.handle.net/10292/8234
dc.language.isoenen_NZ
dc.publisherAuckland University of Technology
dc.rights.accessrightsOpenAccess
dc.subjectSBSEen_NZ
dc.subjectMulti objective optimisationen_NZ
dc.subjectSoftware architectureen_NZ
dc.subjectSearch based software engineeringen_NZ
dc.subjectRefactoringen_NZ
dc.titleA multi-objective architecture reconstruction approachen_NZ
dc.typeThesis
thesis.degree.discipline
thesis.degree.grantorAuckland University of Technology
thesis.degree.levelDoctoral Theses
thesis.degree.nameDoctor of Philosophyen_NZ
Files
Original bundle
Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
SchmidtF.pdf
Size:
5 MB
Format:
Adobe Portable Document Format
Description:
Whole thesis
License bundle
Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
license.txt
Size:
889 B
Format:
Item-specific license agreed upon to submission
Description:
Collections