Detection of God Class Smells in PHP Systems Using Object-Oriented Metrics
Unknown authors
Sep 2026· Journal of Information Technology and Computer Science· 0 citations
TL;DR
The study demonstrates that metric-based detection can effectively identify maintainability problems in PHP applications and provides a foundation for future PHP-specific threshold development.
Abstract
Software maintainability becomes difficult when object-oriented systems contain God Class code smells, where a single class handles excessive responsibilities and controls large portions of system behavior. Most existing God Class detection approaches use metric thresholds developed for statically typed languages such as Java, which may not accurately represent the architectural characteristics of dynamically typed PHP systems. This problem can reduce software maintainability, increase system complexity, and complicate future development and testing activities. This study applies a quantitative empirical research approach to evaluate metric-based God Class detection in PHP systems. Twelve open-source PHP projects containing 7,866 classes were collected from GitHub and analyzed using the PDepend static analysis tool. The extracted object-oriented metrics included Weighted Methods per Class (WMC), Number of Public Methods (NPM), Depth of Inheritance Tree (DIT), and Lines of Code (LOC). A class was classified as a God Class when at least three out of four threshold values were exceeded. The detection results were validated using statistical analysis, K-Means clustering, machine learning consistency validation, PHPMD comparison, and expert manual validation. The results identified 421 God Classes and showed that WMC, NPM, and LOC are strong indicators of God Class behavior in PHP systems, while DIT has lower influence due to framework-based inheritance structures. The study demonstrates that metric-based detection can effectively identify maintainability problems in PHP applications and provides a foundation for future PHP-specific threshold development.
This publication proposes a definition and a classification of agile software development approaches and analyses ten software development methods that can be characterized as being "agile" against the defined criterion.
P. Abrahamsson, O. Salo, Jussi Ronkainen et al.· arXiv.org· 727 citations· ⚡54
The study shows that agile practices improve both informal and formal communication, but indicates that, in larger development situations involving multiple external stakeholders, a mismatch of adequate communication mechanisms can sometimes even hinder the communication.
M. Pikkarainen, Jukka Haikara, O. Salo et al.· Empirical Software Engineeri...· 401 citations· ⚡48
The results indicate that software engineering work practices are chosen opportunistically, adapted and configured to provide value under the constrains imposed by the startup context.
Nicolò Paternoster, Carmine Giardino, M. Unterkalmsteiner et al.· Information and Software Tec...· 394 citations· ⚡54
The results show that the embedded industry has been able to apply agile methods in its development processes and that the appreciation of the agile methods and their individual practices appears to increase once adopted and applied in practice.
O. Salo, P. Abrahamsson· IET Software· 238 citations· ⚡9
Consequences of happiness and unhappiness that are beneficial and detrimental for developers' mental well-being, the software development process, and the produced artifacts are found.
D. Graziotin, Fabian Fagerholm, Xiaofeng Wang et al.· Journal of Systems and Softw...· 236 citations· ⚡13
The Mobile-D approach is briefly outlined here and the experiences gained from four case studies are discussed, which helped develop an agile development approach for mobile application development.
P. Abrahamsson, Antti Hanhineva, H. Hulkko et al.· Conference on Object-Oriente...· 225 citations· ⚡18
AI is making software generation faster, but speed does not remove the need for expertise. As more work is delegated to AI, tacit knowledge may become one of the most important human advantages in software engineering. The post Beyond Prompt Engineering: The Role of Tacit Knowledge in Software Engineering appeared first on GPT-Lab.
A path, a fence, a knot. MindTopo sets a new benchmark for testing how AI understands topological relationships and highlights new opportunities to strengthen spatial reasoning and planning. The post MindTopo reveals VLMs’ spatial reasoning abilities appeared first on Microsoft Research.
We use cookies to run the site and, with your consent, for analytics and to show ads.
See our Cookie Policy.