scholarly journals Reverse engineering approach for improving the quality of mobile applications

2019 ◽  
Vol 5 ◽  
pp. e212
Author(s):  
Eman K. Elsayed ◽  
Kamal A. ElDahshan ◽  
Enas E. El-Sharawy ◽  
Naglaa E. Ghannam

BackgroundPortable-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.MethodsWe 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.ResultsThe 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.

2019 ◽  
Author(s):  
Eman K. Elsayed ◽  
Kamal A. ElDahshan ◽  
Enas E. El-Sharawy ◽  
Naglaa E. Ghannam

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.


2019 ◽  
Author(s):  
Eman K. Elsayed ◽  
Kamal A. ElDahshan ◽  
Enas E. El-Sharawy ◽  
Naglaa E. Ghannam

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.


2021 ◽  
Vol 20 ◽  
pp. 15-24
Author(s):  
Taha Ahmadi ◽  
Hernández Cristian ◽  
Cubillos Neil

This article presents a review of the most relevant manual techniques and technologies developed from the field of artificial vision aimed at identifying biomechanical alterations. The purpose is to describe the most important aspects of each technology, focused on the description of each of its stages and experimental results, which suggest the integration of mobile devices with artificial vision techniques, in addition to the different computer programs used for such end. Finally, the results showed that the identification of the crook index for alterations in posture turns out to be a technique currently used by most specialists. The great challenge is to develop portable devices through mobile applications that allow the detection of the corvo index and the barometric analysis, as well as for other types of applications that depend on visual analysis by experts.


2015 ◽  
pp. 1966-1987
Author(s):  
Ricardo Perez-Castillo ◽  
Mario Piattini

Open source software systems have poor or inexistent documentation and contributors are often scattered or missing. The reuse-based composition and maintenance of open source software systems therefore implies that program comprehension becomes a critical activity if all the embedded behavior is to be preserved. Program comprehension has traditionally been addressed by reverse engineering techniques which retrieve system design models such as class diagrams. These abstract representations provide a key artifact during migration or evolution. However, this method may retrieve large complex class diagrams which do not ensure a suitable program comprehension. This chapter attempts to improve program comprehension by providing a model-driven reverse engineering technique with which to obtain business processes models that can be used in combination with system design models such as class diagrams. The advantage of this approach is that business processes provide a simple system viewpoint at a higher abstraction level and filter out particular technical details related to source code. The technique is fully developed and tool-supported within an R&D project about global software development in which collaborate two universities and five companies. The automation of the approach facilitates its validation and transference through an industrial case study involving two open source systems.


Author(s):  
K. Velmurugan ◽  
M.A. Maluk Mohamed

One of the vital reasons for reverse engineering legacy software systems is to make it inter-operable. Moreover, technological advancements and changes in usability also motivate reverse engineering to exploit new features and incorporate them in legacy software systems. In this context, Web services are emerging and evolving as solutions for software systems for business applications in terms of facilitating interactions between business to business and business to customers. Web services are gaining significance due to inherent features like interoperability, simple implementation, and exploiting the boom in Internet infrastructure. Thus, this work proposes a framework based strategy using .net for effortless migration from legacy software systems to Web services. Further, this work also proposes that software metrics observed during the process of reverse engineering facilitate design of Web services from legacy systems.


Author(s):  
Kirill Zhigalov ◽  
Viacheslav Ivanov

2001 ◽  
Vol 31 (4) ◽  
pp. 371-394 ◽  
Author(s):  
Tarja Systä ◽  
Kai Koskimies ◽  
Hausi Müller

2002 ◽  
Vol 11 (03n04) ◽  
pp. 231-244 ◽  
Author(s):  
FEDERICO BERGENTI ◽  
AGOSTINO POGGI

Ubiquity is one of the most important keyword of the next generation software systems. We want our systems to follow users wherever they go, and we want our systems to extend their reach to the telephony world and to its base of several hundred million users. The ever-increasing diffusion of handy appliances, e.g. palmtops and cellular phones, is familiarizing people with the use of computers for their everyday job and, more impressively, for their everyday life. This suggests that the market of software systems for mobile applications will increase dramatically in the near future.


Author(s):  
Ahmad Abdul Qadir Alrababah

<span>This manuscript discusses the visualization methods of software systems architecture with composition of reverse engineering tools and restoration of software systems architecture. The visualization methods and analysis of dependencies in software packages are written in Java</span><em><span lang="AR-SA" dir="RTL">.</span></em><span> To use this performance graph</span><em></em><span>it needs to describe the relationships between classes inside the analyzed packages and between classes of different packages. In the manuscript also described the possibility of tools to provide the infrastructure for subsequent detection and error correction design in software systems and its refactoring.</span>


Sign in / Sign up

Export Citation Format

Share Document