By Topic

Clustering software systems to identify subsystem structures using knowledgebase

Sign In

Cookies must be enabled to login.After enabling cookies , please use refresh or reload or ctrl+f5 on the browser for the login options.

Formats Non-Member Member
$31 $13
Learn how you can qualify for the best price for this item!
Become an IEEE Member or Subscribe to
IEEE Xplore for exclusive pricing!
close button

puzzle piece

IEEE membership options for an individual and IEEE Xplore subscriptions for an organization offer the most affordable access to essential journal articles, conference papers, standards, eBooks, and eLearning courses.

Learn more about:

IEEE membership

IEEE Xplore subscriptions

3 Author(s)
Adnan, M.N. ; CSE Dept., Univ. of Liberal Arts Bangladesh (ULAB), Dhaka, Bangladesh ; Islam, M.R. ; Hossain, S.

The structure of a software system deteriorates as a result of continuous maintenance activity. For the purpose of software reengineering or reverse engineering, software engineers often get the original source code as the most updated source of information due to lack of current documentation and limited or nonexistent availability of the original designers. The application of clustering techniques to software systems aiming to discover feature-oriented and meaningful subsystems can help software engineers involved in software reengineering or reverse engineering to understand high-level features provided by those subsystems. Continuous research is going on in the recent years - addressing different issues in the software clustering problem. Our software clustering approach introduces the use of Knowledgebase, which leads to considerable improvement than the existing approaches. Similarity measurement is the key to perform successful clustering. Similarity measurement in the existing approaches has a common drawback that they do not incorporate the diversity of software systems. Our approach uses Knowledgebase which acts as a repository of information about the internal structure of the generic types of the software systems to provide guidelines on similarity measurement criteria and their respective weightages. The final clustering is done by populating automatically generated subsystems along with the known subsystems (provided by Knowledgebase). In our research, we have developed a tool named “ULAB Cluster 1.0” which implements our new clustering approach. This clustering tool has been evaluated by using a benchmark named “MoJo distance” for different well-known software systems. The experimental results show that our approach generates more appropriate subsystems than the other existing clustering approaches and outperforms others in different dimensions of software clustering quality.

Published in:

Software Engineering (MySEC), 2011 5th Malaysian Conference in

Date of Conference:

13-14 Dec. 2011