View Proposal
-
Proposer
-
Thomas Basuki
-
Title
-
Detection and Visualisation of Structural Pattern in Java Programs by Using Graph Isomorphism
-
Goal
-
Building a Java program with the functionality of (1) detecting structural patterns represented as class diagrams in a set of Java programs, and (2) visualising the patterns in the Java programs as class diagrams
-
Description
- Design patterns have been used for many years in object-oriented software development. Its use is then extended to represent many other patterns such as interaction patterns and security patterns. Design patterns are often described in diagrams such as UML diagrams. In general, design patterns can be divided into structural and behavioural design patterns.
In our previous project, we have developed software that detects the occurrence of a structural design pattern in a set of Java programs. The software accepts a design pattern represented in a UML class diagram, which is stored in an XML file. The algorithm we chose extracts graph structures from both the class diagram and the program and compare them based on cosine similarity. This technique is very efficient in detecting the pattern but not very accurate. In this project, we propose to use graph isomorphism to detect the occurrence of a structural design pattern in the Java programs. We also plan to extend the software with a capability to visualise the patterns found in the programs.
- Resources
-
-
Background
-
-
Url
-
-
Difficulty Level
-
Moderate
-
Ethical Approval
-
InterfaceOnly
-
Number Of Students
-
1
-
Supervisor
-
Thomas Basuki
-
Keywords
-
structural design pattern, java, graph isomorphism
-
Degrees
-
Bachelor of Science in Computing Science