Use this URL to cite or link to this record in EThOS:
Title: A Multiple Level Detection Approach for design patterns recovery from object-oriented programs
Author: Al-Obeidallah, Mohammad
ISNI:       0000 0004 7427 0847
Awarding Body: University of Brighton
Current Institution: University of Brighton
Date of Award: 2018
Availability of Full Text:
Access from EThOS:
Access from Institution:
Design patterns have a key role in software development process. They describe both structure and the behavior of classes and their relationships. Maintainers can benefit from knowing the design choices made during the implementation. This thesis presents a Multiple Level Detection Approach (MLDA) to recover design pattern instances from the Java source code. MLDA is able to recover design pattern instances based on a generated class-level representation of an investigated system. Specifically, MLDA presents what is the so-called Structural Search Model (SSM) which incrementally builds the structure of each design pattern based on the generated source code model. Moreover, MLDA uses a rule-based approach to match the method signatures of the candidate design instances to that of the subject system. As the experiment results illustrate, MLDA is able to recover 23 design patterns with a reasonable detection accuracy. Furthermore, this thesis presents a metrics-based approach to address the impact of design pattern instances on software understandability and maintainability. This approach classifies system classes into two groups: pattern classes and non-pattern classes. The experimental results show that pattern classes have better inheritance and size metrics than do nonpattern classes. Unfortunately, no safe conclusion can be drawn regarding the impact of design patterns on software understandability and maintainability, since non-pattern classes have better coupling and cohesion metrics than do pattern classes.
Supervisor: Not available Sponsor: Not available
Qualification Name: Thesis (Ph.D.) Qualification Level: Doctoral
EThOS ID:  DOI: Not available