SEApr 9, 2012

A Semantic-Based Approach for Detecting and Decomposing God Classes

arXiv:1204.1967v14 citations
Originality Incremental advance
AI Analysis

This addresses the issue of maintaining software systems for developers by improving cohesion through automated detection and decomposition of God classes, though it appears incremental as it builds on existing work by incorporating method interactions.

The paper tackles the problem of detecting and decomposing God classes in object-oriented software by proposing a novel approach that uses method semantics and interactions, achieving promising results in an evaluation with JMeter v2.5.1.

Cohesion is a core design quality that has a great impact on posterior development and maintenance. By the nature of software, the cohesion of a system is diminished as the system evolves. God classes are code defects resulting from software evolution, having heterogeneous responsibilities highly coupled with other classes and often large in size, which makes it difficult to maintain the system. The existing work on identifying and decomposing God classes heavily relies on internal class information to identify God classes and responsibilities. However, in object-oriented systems, responsibilities should be analyzed with respect to not only internal class information, but also method interactions. In this paper, we present a novel approach for detecting God classes and decomposing their responsibilities based on the semantics of methods and method interactions. We evaluate the approach using JMeter v2.5.1 and the results are promising.

Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes