• 文献检索
  • 文档翻译
  • 深度研究
  • 学术资讯
  • Suppr Zotero 插件Zotero 插件
  • 邀请有礼
  • 套餐&价格
  • 历史记录
应用&插件
Suppr Zotero 插件Zotero 插件浏览器插件Mac 客户端Windows 客户端微信小程序
定价
高级版会员购买积分包购买API积分包
服务
文献检索文档翻译深度研究API 文档MCP 服务
关于我们
关于 Suppr公司介绍联系我们用户协议隐私条款
关注我们

Suppr 超能文献

核心技术专利:CN118964589B侵权必究
粤ICP备2023148730 号-1Suppr @ 2026

文献检索

告别复杂PubMed语法,用中文像聊天一样搜索,搜遍4000万医学文献。AI智能推荐,让科研检索更轻松。

立即免费搜索

文件翻译

保留排版,准确专业,支持PDF/Word/PPT等文件格式,支持 12+语言互译。

免费翻译文档

深度研究

AI帮你快速写综述,25分钟生成高质量综述,智能提取关键信息,辅助科研写作。

立即免费体验

用于提高移动应用程序质量的逆向工程方法。

Reverse engineering approach for improving the quality of mobile applications.

作者信息

Elsayed Eman K, ElDahshan Kamal A, El-Sharawy Enas E, Ghannam Naglaa E

机构信息

Department of Mathematical and Computer Science, Faculty of Science, Al-Azhar University, (Girls Branch), Cairo, Egypt.

Department of Mathematical and Computer Science, Faculty of Science, Al-Azhar University, Cairo, Egypt.

出版信息

PeerJ Comput Sci. 2019 Aug 19;5:e212. doi: 10.7717/peerj-cs.212. eCollection 2019.

DOI:10.7717/peerj-cs.212
PMID:33816865
原文链接:https://pmc.ncbi.nlm.nih.gov/articles/PMC7924421/
Abstract

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.

摘要

背景

便携式设备应用程序(安卓应用程序)正成为复杂的软件系统,必须快速开发并持续演进,以适应新的用户需求和执行环境。应用程序必须快速生成并持续推进,以适应新的客户需求和执行设置。然而,迎合这些要求可能会在设计选择上做出糟糕的决策,即所谓的反模式,这可能会损害编程质量和执行效果。因此,自动检测反模式是一个至关重要的过程,有助于维护和演进任务。此外,它还能指导开发者重构他们的应用程序,从而提高其质量。

方法

我们提出了一种通用方法来检测移动应用程序的反模式,该方法可以检测语义和结构设计反模式。所提出的方法是通过逆向工程和本体,使用统一建模语言(UML)建模环境、基于网络本体语言(OWL)的平台和本体驱动的概念建模。我们展示并测试了一种新方法,该方法生成移动应用程序的OWL本体,分析面向对象反模式之间的关系,并提供通过检测和处理在分析29个移动应用程序时出现的15种不同设计的语义和结构反模式来解决反模式的方法。我们随机选择了29个移动应用程序。在这种方法中,选择浏览器不是一个标准,因为所提出的方法是在设计层面上应用的。我们展示了一种语义集成方法,通过在移动应用程序上进行本体合并来减少反模式的发生率。

结果

所提出的方法检测到15种语义和结构设计反模式,这些反模式在29个移动应用程序的随机样本中出现了1262次。所提出的方法引入了一种新的反模式分类,分为四组。“类组中的反模式”是反模式出现次数最多的组,“操作组中的反模式”是所提出的方法检测到的反模式出现次数最少的组。结果还显示了我们用作Modelio、Protégé平台和OntoUML的OLED编辑器的所选工具之间的相关性。结果表明,Modelio和Protégé之间存在高度正相关,这意味着两者的结合提高了反模式检测的准确性水平。在评估和分析合适的集成方法时,我们在同类移动应用程序上应用了不同的方法,发现使用本体除了保证一致性外,还将检测百分比提高了约11.3%。

https://cdn.ncbi.nlm.nih.gov/pmc/blobs/0942/7924421/24d339a325e3/peerj-cs-05-212-g011.jpg
https://cdn.ncbi.nlm.nih.gov/pmc/blobs/0942/7924421/45dd00058437/peerj-cs-05-212-g001.jpg
https://cdn.ncbi.nlm.nih.gov/pmc/blobs/0942/7924421/cb9a0c454401/peerj-cs-05-212-g002.jpg
https://cdn.ncbi.nlm.nih.gov/pmc/blobs/0942/7924421/c35dac86b7eb/peerj-cs-05-212-g003.jpg
https://cdn.ncbi.nlm.nih.gov/pmc/blobs/0942/7924421/c4ca60171e90/peerj-cs-05-212-g004.jpg
https://cdn.ncbi.nlm.nih.gov/pmc/blobs/0942/7924421/1d958c7c10ff/peerj-cs-05-212-g005.jpg
https://cdn.ncbi.nlm.nih.gov/pmc/blobs/0942/7924421/d5189e5b0e62/peerj-cs-05-212-g006.jpg
https://cdn.ncbi.nlm.nih.gov/pmc/blobs/0942/7924421/0a8b8be51e8a/peerj-cs-05-212-g007.jpg
https://cdn.ncbi.nlm.nih.gov/pmc/blobs/0942/7924421/38258e88623e/peerj-cs-05-212-g008.jpg
https://cdn.ncbi.nlm.nih.gov/pmc/blobs/0942/7924421/7a66f9358d33/peerj-cs-05-212-g009.jpg
https://cdn.ncbi.nlm.nih.gov/pmc/blobs/0942/7924421/e989b351bda7/peerj-cs-05-212-g010.jpg
https://cdn.ncbi.nlm.nih.gov/pmc/blobs/0942/7924421/24d339a325e3/peerj-cs-05-212-g011.jpg
https://cdn.ncbi.nlm.nih.gov/pmc/blobs/0942/7924421/45dd00058437/peerj-cs-05-212-g001.jpg
https://cdn.ncbi.nlm.nih.gov/pmc/blobs/0942/7924421/cb9a0c454401/peerj-cs-05-212-g002.jpg
https://cdn.ncbi.nlm.nih.gov/pmc/blobs/0942/7924421/c35dac86b7eb/peerj-cs-05-212-g003.jpg
https://cdn.ncbi.nlm.nih.gov/pmc/blobs/0942/7924421/c4ca60171e90/peerj-cs-05-212-g004.jpg
https://cdn.ncbi.nlm.nih.gov/pmc/blobs/0942/7924421/1d958c7c10ff/peerj-cs-05-212-g005.jpg
https://cdn.ncbi.nlm.nih.gov/pmc/blobs/0942/7924421/d5189e5b0e62/peerj-cs-05-212-g006.jpg
https://cdn.ncbi.nlm.nih.gov/pmc/blobs/0942/7924421/0a8b8be51e8a/peerj-cs-05-212-g007.jpg
https://cdn.ncbi.nlm.nih.gov/pmc/blobs/0942/7924421/38258e88623e/peerj-cs-05-212-g008.jpg
https://cdn.ncbi.nlm.nih.gov/pmc/blobs/0942/7924421/7a66f9358d33/peerj-cs-05-212-g009.jpg
https://cdn.ncbi.nlm.nih.gov/pmc/blobs/0942/7924421/e989b351bda7/peerj-cs-05-212-g010.jpg
https://cdn.ncbi.nlm.nih.gov/pmc/blobs/0942/7924421/24d339a325e3/peerj-cs-05-212-g011.jpg

相似文献

1
Reverse engineering approach for improving the quality of mobile applications.用于提高移动应用程序质量的逆向工程方法。
PeerJ Comput Sci. 2019 Aug 19;5:e212. doi: 10.7717/peerj-cs.212. eCollection 2019.
2
Experience Sampling and Programmed Intervention Method and System for Planning, Authoring, and Deploying Mobile Health Interventions: Design and Case Reports.体验采样和编程干预方法和系统,用于规划、创作和部署移动健康干预措施:设计和案例报告。
J Med Internet Res. 2021 Jul 12;23(7):e24278. doi: 10.2196/24278.
3
From frames to OWL2: Converting the Foundational Model of Anatomy.从框架到OWL2:转换解剖学基础模型
Artif Intell Med. 2016 May;69:12-21. doi: 10.1016/j.artmed.2016.04.003. Epub 2016 Apr 27.
4
OntoCheck: verifying ontology naming conventions and metadata completeness in Protégé 4.OntoCheck:在Protégé 4中验证本体命名规范和元数据完整性
J Biomed Semantics. 2012 Sep 21;3 Suppl 2(Suppl 2):S4. doi: 10.1186/2041-1480-3-S2-S4.
5
Owlready: Ontology-oriented programming in Python with automatic classification and high level constructs for biomedical ontologies.Owlready:用于生物医学本体的面向本体的Python编程,具备自动分类和高级构造。
Artif Intell Med. 2017 Jul;80:11-28. doi: 10.1016/j.artmed.2017.07.002. Epub 2017 Aug 14.
6
A Developer-Oriented Framework for Assessing Power Consumption in Mobile Applications: Android Energy Smells Case Study.一种面向开发者的移动应用功耗评估框架:安卓能量嗅探案例研究
Sensors (Basel). 2024 Oct 7;24(19):6469. doi: 10.3390/s24196469.
7
An Automatic User Activity Analysis Method for Discovering Latent Requirements: Usability Issue Detection on Mobile Applications.一种自动用户活动分析方法,用于发现潜在需求:移动应用程序中的可用性问题检测。
Sensors (Basel). 2018 Sep 5;18(9):2963. doi: 10.3390/s18092963.
8
An Automatic Ontology-Based Approach to Support Logical Representation of Observable and Measurable Data for Healthy Lifestyle Management: Proof-of-Concept Study.一种基于本体的自动方法,用于支持健康生活方式管理中可观察和可测量数据的逻辑表示:概念验证研究。
J Med Internet Res. 2021 Apr 9;23(4):e24656. doi: 10.2196/24656.
9
The Foundational Model of Anatomy in OWL 2 and its use.OWL 2 中的解剖学基础模型及其应用。
Artif Intell Med. 2013 Feb;57(2):119-32. doi: 10.1016/j.artmed.2012.11.002. Epub 2012 Dec 28.
10
HealMA: a model-driven framework for automatic generation of IoT-based Android health monitoring applications.HealMA:一个用于自动生成基于物联网的安卓健康监测应用程序的模型驱动框架。
Autom Softw Eng. 2022;29(2):56. doi: 10.1007/s10515-022-00363-9. Epub 2022 Sep 27.

引用本文的文献

1
Identification of mobile development issues using semantic topic modeling of Stack Overflow posts.使用Stack Overflow帖子的语义主题建模识别移动开发问题。
PeerJ Comput Sci. 2023 Oct 24;9:e1658. doi: 10.7717/peerj-cs.1658. eCollection 2023.

本文引用的文献

1
Towards ontology-based decision support systems for complex ultrasound diagnosis in obstetrics and gynecology.面向基于本体的妇产科复杂超声诊断决策支持系统
J Gynecol Obstet Hum Reprod. 2017 May;46(5):423-429. doi: 10.1016/j.jogoh.2017.03.004. Epub 2017 Mar 31.