An empirical catalog of code smells for the presentation layer of Android apps

被引:0
作者
Suelen Goularte Carvalho
Maurício Aniche
Júlio Veríssimo
Rafael S. Durelli
Marco Aurélio Gerosa
机构
[1] University of São Paulo,
[2] Delft University of Technology,undefined
[3] Federal University of Lavras,undefined
[4] Northern Arizona University,undefined
来源
Empirical Software Engineering | 2019年 / 24卷
关键词
Android mobile applications; Code smells; Empirical software engineering; Software maintenance and evolution;
D O I
暂无
中图分类号
学科分类号
摘要
Software developers, including those of the Android mobile platform, constantly seek to improve their applications’ maintainability and evolvability. Code smells are commonly used for this purpose, as they indicate symptoms of design problems. However, although the literature presents a variety of code smells, such as God Class and Long Method, characteristics that are specific to the underlying technologies are not taken into account. The presentation layer of an Android app, for example, implements specific architectural decisions from the Android platform itself (such as the use of Activities, Fragments, and Listeners) as well as deal with and integrate different types of resources (such as layouts and images). Through a three-step study involving 246 Android developers, we investigated code smells that developers perceive for this part of Android apps. We devised 20 specific code smells and collected the developers’ perceptions of their frequency and importance. We also implemented a tool that identifies the proposed code smells and studied their prevalence in 619 open-source Android apps. Our findings suggest that: 1) developers perceive smells specific to the presentation layer of Android apps; 2) developers consider these smells to be of high importance and frequency; and 3) the proposed smells occur in real-world Android apps. Our domain-specific smells can be leveraged by developers, researchers, and tool developers for searching potentially problematic pieces of code.
引用
收藏
页码:3546 / 3586
页数:40
相关论文
共 31 条
  • [1] Aniche M(2017)Code smells for model-view-controller architectures Empir Softw Eng 9 1-37
  • [2] Bavota G(2012)Removing energy code smells with reengineering services GI-Jahrestagung 208 441-455
  • [3] Treude C(2012)An exploratory study of the impact of antipatterns on class change-and fault-proneness Empirical Softw Engg 17 243-275
  • [4] Gerosa MA(2007)An empirical study of the bad smells and class error probability in the post-release object-oriented system evolution J Syst Softw 80 1120-1128
  • [5] van Deursen A(2010)Decor: A method for the specification and detection of code and design smells IEEE Trans Softw Eng 36 20-36
  • [6] Gottschalk M(2017)How developers micro-optimize android apps J Syst Softw 130 1-23
  • [7] Josefiok M(2011)Using grounded theory to study the experience of software development Empir Softw Eng 16 487-513
  • [8] Jelschen J(2018)What’s in a github star? understanding repository starring practices in a social coding platform J Syst Softw 146 112-129
  • [9] Winter A(2017)How developers perceive smells in source code: A replicated study Inf Softw Technol 92 223-235
  • [10] Khomh F(undefined)undefined undefined undefined undefined-undefined