Using Structural and Semantic Information to Identify Software Components

Cezar Sas, Andrea Capiluppi

Research output: Chapter in Book/Report/Conference proceedingConference contributionAcademicpeer-review

1 Citation (Scopus)
144 Downloads (Pure)

Abstract

Component Based Software Engineering (CBSE) seeks to promote the reuse of software by using existing software modules into the development process. However, the availability of such a reusable component is not immediate and is costly and time consuming. As an alternative, the extraction from preexisting OO software can be considered.In this work, we evaluate two community detection algorithms for the task of software components identification. Considering 'components' as 'communities', the aim is to evaluate how independent, yet cohesive, the components are when extracted by structurally informed algorithms.We analyze 412 Java systems and evaluate the cohesion of the extracted communities using four document representation techniques. The evaluation aims to find which algorithm extracts the most semantically cohesive, yet separated communities.The results show a good performance in both algorithms, however, each has its own strengths. Leiden extracts less cohesive, but better separated, and better clustered components that depend more on similar ones. Infomap, on the other side, creates more cohesive, slightly overlapping clusters that are less likely to depend on other semantically similar components.

Original languageEnglish
Title of host publicationProceedings - 2021 IEEE International Conference on Software Analysis, Evolution and Reengineering, SANER 2021
PublisherInstitute of Electrical and Electronics Engineers Inc.
Pages546-550
Number of pages5
ISBN (Electronic)9781728196305
DOIs
Publication statusPublished - 11-Mar-2021
Event28th IEEE International Conference on Software Analysis, Evolution and Reengineering, SANER 2021 - Virtual, Honolulu, United States
Duration: 9-Mar-202112-Mar-2021

Publication series

NameProceedings - 2021 IEEE International Conference on Software Analysis, Evolution and Reengineering, SANER 2021

Conference

Conference28th IEEE International Conference on Software Analysis, Evolution and Reengineering, SANER 2021
Country/TerritoryUnited States
CityVirtual, Honolulu
Period09/03/202112/03/2021

Keywords

  • Community Detection
  • Components Identification
  • Components Semantic Analysis

Fingerprint

Dive into the research topics of 'Using Structural and Semantic Information to Identify Software Components'. Together they form a unique fingerprint.

Cite this