Abstract
The growing popularity of enterprise technologies for decentralized systems leads to commonalities in using components. This direction, however, opens new challenges to code clone detection. Approaches can no longer look at the low-level code but must deal with the higher-level component semantics. Yet, not many works addressed this trend. One of the quality issues that can be identified in large systems is duplicated behavior with different syntactic structures. It is crucial to detect these issues for enterprises where software’s codebase(s) grows and evolves, and maintenance costs rise significantly. This issue is referred to as a semantic clone. The detection of semantic clones requires semantic information about the given program. Unfortunately, while many code clone detection techniques are proposed, there is a lack of solutions targeted explicitly toward enterprise systems and even fewer solutions dedicated to semantic clones. To reason about semantic clones, we consider different pairs of component call-graphs in the system. Since different component types are common in enterprise systems, we can ensure that only relevant fragments are matched, using targeted enterprise metadata. When applied to an established system benchmark, our method indicates high accuracy in detecting semantic clones. We also assessed different system versions to elaborate on the method’s applicability to decentralized system evolution.
| Original language | English (US) |
|---|---|
| Article number | 470 |
| Journal | SN Computer Science |
| Volume | 4 |
| Issue number | 5 |
| DOIs | |
| State | Published - Sep 2023 |
| Externally published | Yes |
Keywords
- Cloud Systems
- Code Clone
- Code Quality
- Enterprise Technology
- Microservices
- Semantic Clone
- Static Analysis
- System Evolution
ASJC Scopus subject areas
- General Computer Science
- Computer Science Applications
- Computer Networks and Communications
- Computer Graphics and Computer-Aided Design
- Computational Theory and Mathematics
- Artificial Intelligence
Fingerprint
Dive into the research topics of 'Detecting Semantic Clones in Microservices Using Components'. Together they form a unique fingerprint.Cite this
- APA
- Standard
- Harvard
- Vancouver
- Author
- BIBTEX
- RIS