Functional Decomposition as an Anomaly in Object-Oriented Software Design - K. Sidhu, Brahmaleen (International Journal of Computer Sciences and Engineering, 2024)
Software must evolve continuously and accept the changes imposed by the environment in order to stay relevant. As the software undergoes updates, the quality of its design degrades. Poor design further deteriorates the quality of software. In the traditional software development processes, quality is often measured at code level using metrics-based approaches. However, quality assessment at model level has various advantages over code level. UML models provide a higher level of abstraction allowing isolation of the core design problem from irrelevant coincidental problems, which typically interfere at code level. Problems uncovered at the design level can be improved directly in the model. Early quality assessment reduces maintenance costs and manages requirement volatility. This paper presents a design flaw detection approach based on machine learning for UML models of object-oriented software. It advances the proposition of a concise quality assurance procedure wherein the root cause of design defects is identified instead of a localized flaw detection and correction approach. The notion of functional decomposition is advanced as an anomalous design tendency as object-oriented software architecture based on functional decomposition compromises on major quality goals like comprehensibility, changeability and semantic consistency. A semi-supervised machine learning technique is used in an unsupervised mode to detect functional decomposition as an anomaly. The precision and recall of the proposed approach were found to be 0.8 each.