Reverse engineering approach for improving the quality of mobile applications
- Published
- Accepted
- Subject Areas
- Software Engineering
- Keywords
- Mobile Applications, Reverse Engineering, UML, OntoUML, Anti-patterns, Ontology engineering
- Copyright
- © 2019 Elsayed et al.
- Licence
- This is an open access article distributed under the terms of the Creative Commons Attribution License, 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 Preprints) and either DOI or URL of the article must be cited.
- Cite this article
- 2019. Reverse engineering approach for improving the quality of mobile applications. PeerJ Preprints 7:e27633v1 https://doi.org/10.7287/peerj.preprints.27633v1
Abstract
Background: Portable applications (Android applications) are becoming increasingly complicated by mind-boggling programming frameworks. 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 propose a reverse-engineering approach to analyze Android applications and detect the anti-patterns from mobile apps. We validate the effectiveness of our approach on a set of popular mobile apps such as YouTube, Whats App, Play Store and Twitter. The result of our approach produced an Android app with fewer anti-patterns, leading the way for perfect long-time apps and ensuring that these applications are purely valid.
Results: The proposed method is a general detection method. It detected a set of semantic and structural design anti-patterns which have appeared 1262 times in mobile apps. The results showed that there was a correlation between the anti-patterns detected by an ontology editor and OntoUML editor. The results also showed that using ontology increases the detection percentage approximately 11.3%, guarantees consistency and decreases accuracy of anti-patterns in the new ontology.
Author Comment
This is a submission to PeerJ Computer Science for review.
Supplemental Information
The statistical file for doing One-Way ANOVA
The numbers from 1 to 29 present the mobile apps. From 1 to 5 in the second column present the anti-patterns group in each app with order (Attributes anti-patterns, Namespace anti-Patterns, Operation anti-patterns, Association anti-patterns, and Class anti-patterns). This table is for doing the one-way ANOVA test using SPSS.