Software refactoring at the package level using clustering techniques

Handle URI:
http://hdl.handle.net/10754/594111
Title:
Software refactoring at the package level using clustering techniques
Authors:
Alkhalid, A.; Alshayeb, M.; Mahmoud, S. A.
Abstract:
Enhancing, modifying or adapting the software to new requirements increases the internal software complexity. Software with high level of internal complexity is difficult to maintain. Software refactoring reduces software complexity and hence decreases the maintenance effort. However, software refactoring becomes quite challenging task as the software evolves. The authors use clustering as a pattern recognition technique to assist in software refactoring activities at the package level. The approach presents a computer aided support for identifying ill-structured packages and provides suggestions for software designer to balance between intra-package cohesion and inter-package coupling. A comparative study is conducted applying three different clustering techniques on different software systems. In addition, the application of refactoring at the package level using an adaptive k-nearest neighbour (A-KNN) algorithm is introduced. The authors compared A-KNN technique with the other clustering techniques (viz. single linkage algorithm, complete linkage algorithm and weighted pair-group method using arithmetic averages). The new technique shows competitive performance with lower computational complexity. © 2011 The Institution of Engineering and Technology.
KAUST Department:
Computer, Electrical and Mathematical Sciences and Engineering (CEMSE) Division
Citation:
OCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html> <head> <title>Current Links for doi: 10.1049/iet-sen.2010.0070</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" rev="stylesheet" type="text/css" href="/docs/iPage/css/iet_body.css"> </head> <body bgcolor="#FFFFFF"> <table width="57%"> <tr> <td><a href="http://www.theiet.org"><img src="/docs/iPage/images/iet.gif" alt="Institution of Engineering and Technology" border="0" align="left"></a></td></tr> <tr> <td><br/></td> </tr> <tr> <td>The IET is a world leading professional organisation sharing and advancing knowledge to promote science, engineering and technology across the world. <br> <hr> </td> </tr> </table> <table width="57%"> <tr> <td><tr><td><b>Software refactoring at the package level using clustering techniques</b></td></tr><tr><td>Alkhalid,A. et al.</td></tr><tr><td><i>IET Software</i>(2011),5(3):274</td></tr><tr><td><a href='http://dx.doi.org/10.1049/iet-sen.2010.0070'>http://dx.doi.org/10.1049/iet-sen.2010.0070</td></tr></td> <tr> <tr><td><hr></td></tr> </table> <table width="57%"> <tr> <td colspan="2"> This article is available from multiple sources. <b>Please click on the logo</b> of the service to which you have a subscription, or click any logo to obtain pay-per-view access.<br><br></td> </tr> <tr> <td width="35%"><a href="http://digital-library.theiet.org/content/journals/10.1049/iet-sen.2010.0070"><img src="/docs/iPage/images/idl.gif" border="0" alt="IET Digital Library on Scitation"></a></td> <td width="65%"><br>&nbsp;&nbsp;Access the IET Digital Library<br><br></td> </tr> <tr> <td><br/><br/></td> </tr> <tr> <td><a href="http://ieeexplore.ieee.org/lpdocs/epic03/wrapper.htm?arnumber=5871781"><img src="/docs/iPage/images/iel.gif" border="0" alt="IEL on IEEE Xplore"></a></td> <td><br>&nbsp;&nbsp;Access the IEL (IEEE/IET Electronic Library) on IEEE Xplore&#174;</a><br><br></td></td> </tr> </table> </body></html>
Publisher:
Institution of Engineering and Technology (IET)
Journal:
IET Software
Issue Date:
2011
DOI:
10.1049/iet-sen.2010.0070
Type:
Article
ISSN:
1751-8806
Sponsors:
The authors acknowledge the support of King Fahd University of Petroleum and Minerals in the development of this work. We also thank Dr. Sajjad Mahmoud and Mr. Irfan Ahmed for providing their expert evaluation of the approach.
Appears in Collections:
Articles; Computer, Electrical and Mathematical Sciences and Engineering (CEMSE) Division

Full metadata record

DC FieldValue Language
dc.contributor.authorAlkhalid, A.en
dc.contributor.authorAlshayeb, M.en
dc.contributor.authorMahmoud, S. A.en
dc.date.accessioned2016-01-19T13:21:53Zen
dc.date.available2016-01-19T13:21:53Zen
dc.date.issued2011en
dc.identifier.citationOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html> <head> <title>Current Links for doi: 10.1049/iet-sen.2010.0070</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" rev="stylesheet" type="text/css" href="/docs/iPage/css/iet_body.css"> </head> <body bgcolor="#FFFFFF"> <table width="57%"> <tr> <td><a href="http://www.theiet.org"><img src="/docs/iPage/images/iet.gif" alt="Institution of Engineering and Technology" border="0" align="left"></a></td></tr> <tr> <td><br/></td> </tr> <tr> <td>The IET is a world leading professional organisation sharing and advancing knowledge to promote science, engineering and technology across the world. <br> <hr> </td> </tr> </table> <table width="57%"> <tr> <td><tr><td><b>Software refactoring at the package level using clustering techniques</b></td></tr><tr><td>Alkhalid,A. et al.</td></tr><tr><td><i>IET Software</i>(2011),5(3):274</td></tr><tr><td><a href='http://dx.doi.org/10.1049/iet-sen.2010.0070'>http://dx.doi.org/10.1049/iet-sen.2010.0070</td></tr></td> <tr> <tr><td><hr></td></tr> </table> <table width="57%"> <tr> <td colspan="2"> This article is available from multiple sources. <b>Please click on the logo</b> of the service to which you have a subscription, or click any logo to obtain pay-per-view access.<br><br></td> </tr> <tr> <td width="35%"><a href="http://digital-library.theiet.org/content/journals/10.1049/iet-sen.2010.0070"><img src="/docs/iPage/images/idl.gif" border="0" alt="IET Digital Library on Scitation"></a></td> <td width="65%"><br>&nbsp;&nbsp;Access the IET Digital Library<br><br></td> </tr> <tr> <td><br/><br/></td> </tr> <tr> <td><a href="http://ieeexplore.ieee.org/lpdocs/epic03/wrapper.htm?arnumber=5871781"><img src="/docs/iPage/images/iel.gif" border="0" alt="IEL on IEEE Xplore"></a></td> <td><br>&nbsp;&nbsp;Access the IEL (IEEE/IET Electronic Library) on IEEE Xplore&#174;</a><br><br></td></td> </tr> </table> </body></html>en
dc.identifier.issn1751-8806en
dc.identifier.doi10.1049/iet-sen.2010.0070en
dc.identifier.urihttp://hdl.handle.net/10754/594111en
dc.description.abstractEnhancing, modifying or adapting the software to new requirements increases the internal software complexity. Software with high level of internal complexity is difficult to maintain. Software refactoring reduces software complexity and hence decreases the maintenance effort. However, software refactoring becomes quite challenging task as the software evolves. The authors use clustering as a pattern recognition technique to assist in software refactoring activities at the package level. The approach presents a computer aided support for identifying ill-structured packages and provides suggestions for software designer to balance between intra-package cohesion and inter-package coupling. A comparative study is conducted applying three different clustering techniques on different software systems. In addition, the application of refactoring at the package level using an adaptive k-nearest neighbour (A-KNN) algorithm is introduced. The authors compared A-KNN technique with the other clustering techniques (viz. single linkage algorithm, complete linkage algorithm and weighted pair-group method using arithmetic averages). The new technique shows competitive performance with lower computational complexity. © 2011 The Institution of Engineering and Technology.en
dc.description.sponsorshipThe authors acknowledge the support of King Fahd University of Petroleum and Minerals in the development of this work. We also thank Dr. Sajjad Mahmoud and Mr. Irfan Ahmed for providing their expert evaluation of the approach.en
dc.publisherInstitution of Engineering and Technology (IET)en
dc.titleSoftware refactoring at the package level using clustering techniquesen
dc.typeArticleen
dc.contributor.departmentComputer, Electrical and Mathematical Sciences and Engineering (CEMSE) Divisionen
dc.identifier.journalIET Softwareen
dc.contributor.institutionInformation and Computer Science Department, King Fahd University of Petroleum and Minerals, Dhahran 31261, Saudi Arabiaen
kaust.authorAlkhalid, Abdulazizen
All Items in KAUST are protected by copyright, with all rights reserved, unless otherwise indicated.