Projects - Dissertation
Automated Bug-Fixing of Website Layouts
Original idea and supervised by Phil McMinn.
Abstract:
The world wide web is becoming an increasingly large part of people’s lives and they are accessing it in increasingly diverse ways; through mobile phones, tablets, laptops and desktop PCs with various different browsers. It is therefore difficult for developers to account for these differences when designing a website. This project aims to produce a system which allows them to write a specification for a website, which should be able to fix problems quickly and easily, using search-based techniques, enabling them to spend more time on the content of the website, instead of the minor details of layout bugs.
The Solution:
The program was written in Java, using the internal API from the Galen Framework, which allows for the checking of webpages against an easily readable specification. The program then uses its own internal representation of the webpage and stylesheet to trial different CSS changes, producing a 'patch' of the most successful ones (that fix errors detected by Galen).
A slightly modified version is available on my GitHub page. The modifications add the dependencies through Maven, so it is easier to download and run the program from the source code.