Final Year Project Proposals from Michael English:
Proposer ID: MEn
Title: [MEn01] Analysing the package structure of Software Systems programmed in Java
The architectural structure of software systems can be reflected in their package structure when they are implemented. However, over time this structure can deteriorate and the original structure is lost. This project aims to study how the package structure of Java software systems changes during the lifetime of a software system and aims to investigate if an analysis of the package structure can inform with respect to the architectural structure of a system.
Proposer ID: MEn
Title: [MEn04] Comparison of the Use of Programming Languages
Object-Oriented programming, C++, C#, Java, Software metrics, Understand for C++/Java Project Description: There is widespread discussion of which programming languages are considered the ‘best’. The aim of this project is to take a number of projects developed in C++, C# and Java and compare the quality of the projects. How the quality of the projects is measured is open to discussion but will probably involve the use of some software metrics. ‘Understand’ is a useful source-code analysis tool that can be used in this project.
Proposer ID: MEn
Title: [MEn03] Eclipse Plug-in for Software Metrics
Metrics are widely used to assess the quality of software and to build prediction models of external quality characteristics of software. However such models tend to be ‘black boxes’ that do not provide insight/understanding of the software itself. By providing visualisations of software metrics to software developers, the developers can quickly identify hotspots in the code and thus focus their attention on certain parts and help their understanding. The aim of this project is to provide such a visualisation tool.
Proposer ID: MEn
Title: [MEn02] Eclipse Plug-in for the Visualisation of Software Change
Many successful software projects endure continuing change as they adapt to new requirements or fix bugs in the system. It is useful for software developers to be aware of the parts of the system that are most change prone. This can help with cost and resource estimations and with guiding code refactoring. Existing tools provide visualisations of the number of changes at a particular point in time. However, these tools do not show how the location of changes, fluctuates over time. The aim of this project is to address this gap in software visualisation over time.
Proposer ID: MEn
Title: [MEn05] Prediction Model for Software Change
Prediction models are widely used for software estimation. Such models use statistical, AI and other approaches. The aim of this project is to use one of these approaches to validate a set of software metrics for software change. The metrics can be easily extracted from the code using the Understand suite of source-code analysis tools.
Proposer ID: MEn
Title: [MEn06] Prediction Model for Software Faults
Prediction models are widely used for software estimation. Such models use statistical, AI and other approaches. The aim of this project is to use one of these approaches to validate a set of software metrics for software faults. In other words, the metrics are examined to determine if they are useful to determine where faults occur in the system. The metrics can be easily extracted from the code using the Understand suite of source-code analysis tools.


