|dc.description.abstract||Current software engineering topics such as clone detection and service selection need to
improve the capability of detection process and selection process. The clone detection is the
process of finding duplicated code through the system for several purposes such as removal
of repeated portions as maintenance part of legacy system. Service selection is the process of
finding the appropriate web service which meets the consumer’s request. Both problems can
be converted into a matching problem.
Matching process forms an essential part of software engineering activities. In this
research, a well-known mathematical algorithm Stable Marriage Problem (SMP) and its
variations are investigated to fulfil the purposes of matching processes in software engineering
area. We aim to provide a competitive matching algorithm that can help to detect cloned
software accurately and ensure high scalability, precision and recall. We also aim to apply
matching algorithm on incoming request and service profile to deal with the web service as
a clever independent object so that we can allow the services to accept or decline requests
(equal opportunity) rather than the current state of service selection (search-based), in which
service lacks of interacting as an independent candidate.
In order to meet the above aims, the traditional SMP algorithm has been extended to
achieve the cardinality of many-to-many. This adaptation is achieved by defining the selective
strategy which is the main engine of the new adaptations. Two adaptations, Dual-Proposed
and Dual-Multi-Allocation, have been proposed to both service selection and clone detection
process. The proposed approach (SMP-based) shows very competitive results compare
to existing software clone approaches, especially in identifying type 3 (copy with further
modifications such update, add and delete statements) of cloned software. It performs the
detection process with a relatively high precision and recall compare to the CloneDR tool
and shows good scalability on a middle sized program. For service selection, the proposed
approach has several advantages such as service protection and service quality. The services
gain equal opportunity against the incoming requests. Therefore, the intelligent service
interaction is achieved, and both stability and satisfaction of the candidates are ensured.
This dissertation contributes to several contributions firstly, the new extended SMP algorithm
by introducing selective strategy to accommodate many-to-many matching problems,
to improve overall features. Secondly, a new SMP-based clone detection approach to detect
cloned software accurately and ensures high precision and recall. Ultimately, a new SMPbased
service selection approach allows equal opportunity between services and requests.
This led to improve service protection and service quality.
Case studies are carried out for experiments with the proposed approach, which show
that the new adaptations can be applied effectively to clone detection and service selection
processes with several features (e.g. accuracy). It can be concluded that the match based
approach is feasible and promising in software engineering domain.||en