Please use this identifier to cite or link to this item: https://www.um.edu.mt/library/oar/handle/123456789/95300
Title: Investigating the application of search-based software engineering in object-oriented design optimisation
Authors: Vassallo, Clyde (2014)
Keywords: Software engineering
Computer algorithms
Object-oriented methods (Computer science)
Issue Date: 2014
Citation: Vassallo, C. (20104). Investigating the application of search-based software engineering in object-oriented design optimisation (Bachelor's dissertation).
Abstract: As outlined by various studies, the quality of software design is of empirical importance in the software development industry in order to produce quality software. During this stage developers are faced with a non-exhaustive search space of possible designs, preventing them from manually exploring all options. The scope of this dissertation is to investigate different search-based approaches to optimising object-oriented designs. In order to apply search-based techniques, a reformulation of the object-oriented design problem into a search problem is required. Starting from an initial design made by the designer, search-algorithms are used to automate the optimisation of design towards the criteria of coupling and cohesion, being identified as useful indicators of object-oriented design quality. By designing a general search-based software engineering (SBSE) experimental framework and applying it to the problem at hand, the success of various approaches in optimising the design of a real-world case study is evaluated. The results obtained from the experiments conducted conclude that search algorithms with random refactorings tend to have a detrimental effect on the design of real world systems. Considering the competent programmer hypothesis, in general, randomly moving methods between classes has a high a probability of worsening the structural integrity of designs. After incrementally devising functions to quantify the quality of designs, the study concludes that a pareto optimal approach to optimisation has a more desirable effect since it refrains from improving an objective at the expense of worsening the other. Another advantage identified of this approach is that the search returns a set of optimised designs to the designer, each with a different balance of coupling and cohesion. Depending on the particular environment in which the system is being developed, the importance of each property may vary. The flexibility of such an approach, delegates responsibility of the design decision to the designer who has a more holistic knowledge of the solution being optimised.
Description: B.Sc. IT (Hons)(Melit.)
URI: https://www.um.edu.mt/library/oar/handle/123456789/95300
Appears in Collections:Dissertations - FacICT - 2014
Dissertations - FacICTCS - 2010-2015

Files in This Item:
File Description SizeFormat 
BSC(HONS)ICT_Vassallo_Clyde_2014.PDF
  Restricted Access
4.08 MBAdobe PDFView/Open Request a copy


Items in OAR@UM are protected by copyright, with all rights reserved, unless otherwise indicated.