An ontology-based approach to reduce the negative impact of code smells in software development projects

The quality of software systems may be seriously impacted by specific types of source code anomalies. For example, poor programming practices result in Code Smells (CSs), which are a specific type of source code anomalies. They lead to architectural problems that consequently impact some significant...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Veröffentlicht in:IEEE access 2023-01, Vol.11, p.1-1
Hauptverfasser: Castellano, Ivian L., Castro, Gilberto F., Silega, Nemury, Kamal, Tahir, Al-Gaashani, Mehdhar S. A. M.
Format: Artikel
Sprache:eng
Schlagworte:
Online-Zugang:Volltext
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
Beschreibung
Zusammenfassung:The quality of software systems may be seriously impacted by specific types of source code anomalies. For example, poor programming practices result in Code Smells (CSs), which are a specific type of source code anomalies. They lead to architectural problems that consequently impact some significant software quality attributes, such as maintainability, portability, and reuse. To reduce the risk of introducing CSs and alleviate their consequences, the knowledge and skills of developers and architects is essential. On the other hand, ontologies, which are an artificial intelligence technique, have been used as solution to deal with different software engineering challenges. Hence, the aim of this paper is to describe an ontological approach to representing and analyzing code smells. Since ontologies are a formal language based on description logics, this approach may contribute to formally analyzing the information about code smells, for example, to detect inconsistencies or infer new knowledge with the support of a reasoner. In addition, this proposal may support the training of software developers by providing the most relevant information on code smells. This ontology can also be a means of representing the knowledge on CSs from different sources (documents in natural language, relational databases, HTML documents, etc.). Therefore, it could be a valuable knowledge base to support the struggle of software developers and architects either to avoid CSs or to detect and remove them. The ontology was developed following a sound methodology. The well-known tool Protégé was used to manage the ontology and it was validated by using different techniques. An experiment was conducted to demonstrate the applicability of the ontology and evaluate its impact on speeding up the analysis of CSs.
ISSN:2169-3536
2169-3536
DOI:10.1109/ACCESS.2023.3300575