Using Structural and Semantic Information to Identify Software Components

02/09/2021
by   Cezar Sas, et al.
0

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 pre-existing 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.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
10/06/2022

LazyFox: Fast and parallelized overlapping community detection in large graphs

The detection of communities in graph datasets provides insight about a ...
research
03/21/2017

Developpement de Methodes Automatiques pour la Reutilisation des Composants Logiciels

The large amount of information and the increasing complexity of applica...
research
03/16/2018

Identifying Components from Object-Oriented APIs Based on Dynamic Analysis

The reuse at the component level is generally more effective than the on...
research
08/10/2023

Using Machine Learning To Identify Software Weaknesses From Software Requirement Specifications

Secure software engineering is crucial but can be time-consuming; theref...
research
08/31/2023

Reducing Errors in Excel Models with Component-Based Software Engineering

Model errors are pervasive and can be catastrophic. We can reduce model ...
research
10/24/2018

Communities as Well Separated Subgraphs With Cohesive Cores: Identification of Core-Periphery Structures in Link Communities

Communities in networks are commonly considered as highly cohesive subgr...

Please sign up or login with your details

Forgot password? Click here to reset