Cargando…
Reverse engineering approach for improving the quality of mobile applications
BACKGROUND: Portable-devices applications (Android applications) are becoming complex software systems that must be developed quickly and continuously evolved to fit new user requirements and execution contexts. Applications must be produced rapidly and advance persistently in order to fit new clien...
Autores principales: | , , , |
---|---|
Formato: | Online Artículo Texto |
Lenguaje: | English |
Publicado: |
PeerJ Inc.
2019
|
Materias: | |
Acceso en línea: | https://www.ncbi.nlm.nih.gov/pmc/articles/PMC7924421/ https://www.ncbi.nlm.nih.gov/pubmed/33816865 http://dx.doi.org/10.7717/peerj-cs.212 |
_version_ | 1783659085865943040 |
---|---|
author | Elsayed, Eman K. ElDahshan, Kamal A. El-Sharawy, Enas E. Ghannam, Naglaa E. |
author_facet | Elsayed, Eman K. ElDahshan, Kamal A. El-Sharawy, Enas E. Ghannam, Naglaa E. |
author_sort | Elsayed, Eman K. |
collection | PubMed |
description | BACKGROUND: Portable-devices applications (Android applications) are becoming complex software systems that must be developed quickly and continuously evolved to fit new user requirements and execution contexts. Applications must be produced rapidly and advance persistently in order to fit new client requirements and execution settings. However, catering to these imperatives may bring about poor outline decisions on design choices, known as anti-patterns, which may possibly corrupt programming quality and execution. Thus, the automatic detection of anti-patterns is a vital process that facilitates both maintenance and evolution tasks. Additionally, it guides developers to refactor their applications and consequently enhance their quality. METHODS: We proposed a general method to detect mobile applications’ anti-patterns that can detect both semantic and structural design anti-patterns. The proposed method is via reverse-engineering and ontology by using a UML modeling environment, an OWL ontology-based platform and ontology-driven conceptual modeling. We present and test a new method that generates the OWL ontology of mobile applications and analyzes the relationships among object-oriented anti-patterns and offer methods to resolve the anti-patterns by detecting and treating 15 different design’s semantic and structural anti-patterns that occurred in analyzing of 29 mobile applications. We choose 29 mobile applications randomly. Selecting a browser is not a criterion in this method because the proposed method is applied on a design level. We demonstrate a semantic integration method to reduce the incidence of anti-patterns using the ontology merging on mobile applications. RESULTS: The proposed method detected 15 semantic and structural design anti-patterns which have appeared 1,262 times in a random sample of 29 mobile applications. The proposed method introduced a new classification of the anti-patterns divided into four groups. “The anti-patterns in the class group” is the most group that has the maximum occurrences of anti-patterns and “The anti-patterns in the operation group” is the smallest one that has the minimum occurrences of the anti-patterns which are detected by the proposed method. The results also showed the correlation between the selected tools which we used as Modelio, the Protégé platform, and the OLED editor of the OntoUML. The results showed that there was a high positive relation between Modelio and Protégé which implies that the combination between both increases the accuracy level of the detection of anti-patterns. In the evaluation and analyzing the suitable integration method, we applied the different methods on homogeneous mobile applications and found that using ontology increased the detection percentage approximately by 11.3% in addition to guaranteed consistency. |
format | Online Article Text |
id | pubmed-7924421 |
institution | National Center for Biotechnology Information |
language | English |
publishDate | 2019 |
publisher | PeerJ Inc. |
record_format | MEDLINE/PubMed |
spelling | pubmed-79244212021-04-02 Reverse engineering approach for improving the quality of mobile applications Elsayed, Eman K. ElDahshan, Kamal A. El-Sharawy, Enas E. Ghannam, Naglaa E. PeerJ Comput Sci Software Engineering BACKGROUND: Portable-devices applications (Android applications) are becoming complex software systems that must be developed quickly and continuously evolved to fit new user requirements and execution contexts. Applications must be produced rapidly and advance persistently in order to fit new client requirements and execution settings. However, catering to these imperatives may bring about poor outline decisions on design choices, known as anti-patterns, which may possibly corrupt programming quality and execution. Thus, the automatic detection of anti-patterns is a vital process that facilitates both maintenance and evolution tasks. Additionally, it guides developers to refactor their applications and consequently enhance their quality. METHODS: We proposed a general method to detect mobile applications’ anti-patterns that can detect both semantic and structural design anti-patterns. The proposed method is via reverse-engineering and ontology by using a UML modeling environment, an OWL ontology-based platform and ontology-driven conceptual modeling. We present and test a new method that generates the OWL ontology of mobile applications and analyzes the relationships among object-oriented anti-patterns and offer methods to resolve the anti-patterns by detecting and treating 15 different design’s semantic and structural anti-patterns that occurred in analyzing of 29 mobile applications. We choose 29 mobile applications randomly. Selecting a browser is not a criterion in this method because the proposed method is applied on a design level. We demonstrate a semantic integration method to reduce the incidence of anti-patterns using the ontology merging on mobile applications. RESULTS: The proposed method detected 15 semantic and structural design anti-patterns which have appeared 1,262 times in a random sample of 29 mobile applications. The proposed method introduced a new classification of the anti-patterns divided into four groups. “The anti-patterns in the class group” is the most group that has the maximum occurrences of anti-patterns and “The anti-patterns in the operation group” is the smallest one that has the minimum occurrences of the anti-patterns which are detected by the proposed method. The results also showed the correlation between the selected tools which we used as Modelio, the Protégé platform, and the OLED editor of the OntoUML. The results showed that there was a high positive relation between Modelio and Protégé which implies that the combination between both increases the accuracy level of the detection of anti-patterns. In the evaluation and analyzing the suitable integration method, we applied the different methods on homogeneous mobile applications and found that using ontology increased the detection percentage approximately by 11.3% in addition to guaranteed consistency. PeerJ Inc. 2019-08-19 /pmc/articles/PMC7924421/ /pubmed/33816865 http://dx.doi.org/10.7717/peerj-cs.212 Text en © 2019 Elsayed et al. https://creativecommons.org/licenses/by/4.0/ This is an open access article distributed under the terms of the Creative Commons Attribution License (https://creativecommons.org/licenses/by/4.0/) , which permits unrestricted use, distribution, reproduction and adaptation in any medium and for any purpose provided that it is properly attributed. For attribution, the original author(s), title, publication source (PeerJ Computer Science) and either DOI or URL of the article must be cited. |
spellingShingle | Software Engineering Elsayed, Eman K. ElDahshan, Kamal A. El-Sharawy, Enas E. Ghannam, Naglaa E. Reverse engineering approach for improving the quality of mobile applications |
title | Reverse engineering approach for improving the quality of mobile applications |
title_full | Reverse engineering approach for improving the quality of mobile applications |
title_fullStr | Reverse engineering approach for improving the quality of mobile applications |
title_full_unstemmed | Reverse engineering approach for improving the quality of mobile applications |
title_short | Reverse engineering approach for improving the quality of mobile applications |
title_sort | reverse engineering approach for improving the quality of mobile applications |
topic | Software Engineering |
url | https://www.ncbi.nlm.nih.gov/pmc/articles/PMC7924421/ https://www.ncbi.nlm.nih.gov/pubmed/33816865 http://dx.doi.org/10.7717/peerj-cs.212 |
work_keys_str_mv | AT elsayedemank reverseengineeringapproachforimprovingthequalityofmobileapplications AT eldahshankamala reverseengineeringapproachforimprovingthequalityofmobileapplications AT elsharawyenase reverseengineeringapproachforimprovingthequalityofmobileapplications AT ghannamnaglaae reverseengineeringapproachforimprovingthequalityofmobileapplications |