Geoffrey Hecht, Romain Rouvoy, Naouel Moha, L. Duchien
{"title":"Detecting Antipatterns in Android Apps","authors":"Geoffrey Hecht, Romain Rouvoy, Naouel Moha, L. Duchien","doi":"10.1109/MOBILESOFT.2015.38","DOIUrl":null,"url":null,"abstract":"Mobile apps are becoming complex software systems that must be developed quickly and evolve continuously to fit new user requirements and execution contexts. However, addressing these constraints may result in poor design choices, known as antipatterns, which may incidentally degrade software quality and performance. Thus, the automatic detection of antipatterns is an important activity that eases both maintenance and evolution tasks. Moreover, it guides developers to refactor their applications and thus, to improve their quality. While antipatterns are well-known in object-oriented applications, their study in mobile applications is still in their infancy. In this paper, we propose a tooled approach, called Paprika, to analyze Android applications and to detect object-oriented and Android-specific antipatterns from binaries of mobile apps. We validate the effectiveness of our approach on a set of popular mobile apps downloaded from the Google Play Store.","PeriodicalId":131706,"journal":{"name":"2015 2nd ACM International Conference on Mobile Software Engineering and Systems","volume":"120 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2015-05-16","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"58","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2015 2nd ACM International Conference on Mobile Software Engineering and Systems","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/MOBILESOFT.2015.38","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 58
Abstract
Mobile apps are becoming complex software systems that must be developed quickly and evolve continuously to fit new user requirements and execution contexts. However, addressing these constraints may result in poor design choices, known as antipatterns, which may incidentally degrade software quality and performance. Thus, the automatic detection of antipatterns is an important activity that eases both maintenance and evolution tasks. Moreover, it guides developers to refactor their applications and thus, to improve their quality. While antipatterns are well-known in object-oriented applications, their study in mobile applications is still in their infancy. In this paper, we propose a tooled approach, called Paprika, to analyze Android applications and to detect object-oriented and Android-specific antipatterns from binaries of mobile apps. We validate the effectiveness of our approach on a set of popular mobile apps downloaded from the Google Play Store.
移动应用程序正在成为复杂的软件系统,必须快速开发并不断发展,以适应新的用户需求和执行环境。然而,处理这些约束可能会导致糟糕的设计选择,即反模式,这可能会顺便降低软件质量和性能。因此,反模式的自动检测是一项重要的活动,可以简化维护和演化任务。此外,它还指导开发人员重构他们的应用程序,从而提高应用程序的质量。虽然反模式在面向对象应用程序中是众所周知的,但它们在移动应用程序中的研究仍处于起步阶段。在本文中,我们提出了一种名为Paprika的工具方法,用于分析Android应用程序,并从移动应用程序的二进制文件中检测面向对象和特定于Android的反模式。我们通过从Google Play Store下载的一系列流行手机应用验证了我们方法的有效性。