Identifying Software Decompositions by Applying Transaction Clustering on Source Code

  • Authors:
  • Renuka Sindhgatta;Krishnakumar Pooloth

  • Affiliations:
  • Infosys Technologies;Infosys Technologies

  • Venue:
  • COMPSAC '07 Proceedings of the 31st Annual International Computer Software and Applications Conference - Volume 01
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

Abstract

Majority of the software clustering algorithms use structural dependencies to decompose large software systems. While these techniques have merit, they do not always match the decompositions generated by experts who often group software entities based on their purpose. This paper presents an approach to identifying decompositions of a software system, based on the joint participation of software entities in realizing the functionality of the system. Software transactions representing units of functionality are extracted from the source code. Transactions are clustered based on the commonality of software entities used in the transactions. Our approach also assesses the use of check-in data from configuration management system for software clustering where software entities that are modified or updated together form a software transaction. We introduce CoST, a clustering tool that uses Transaction Clustering to identify software decompositions. We apply CoST to three large software systems. The results indicate that this approach produces groupings that come close to decompositions prepared by experts.