DOI QR코드

DOI QR Code

Prioritization-Based Model for Effective Adoption of Mobile Refactoring Techniques

  • Received : 2021.12.05
  • Published : 2021.12.30

Abstract

The paper introduces a model for evaluating and prioritizing mobile quality attributes and refactoring techniques through the examination of their effectiveness during the mobile application development process. The astonishing evolution of software and hardware has increased the demand for techniques and best practices to overcome the many challenges related to mobile devices, such as those concerning device storage, network bandwidth, and energy consumption. A number of studies have investigated the influence of refactoring, leading to the enhancement of mobile applications and the overcoming of code issues as well as hardware issues. Furthermore, rapid and continuous mobile developments make it necessary for teams to apply effective techniques to produce reliable mobile applications and reduce time to market. Thus, we investigated the influence of various refactoring techniques on mobile applications to understand their effectiveness in terms of quality attributes. First, we extracted the most important mobile refactoring techniques and a set of quality attributes from the literature. Then, mobile application developers from nine mobile application teams were recruited to evaluate and prioritize these quality attributes and refactoring techniques for their projects. A prioritization-based model is examined that integrates the lightweight multi-criteria decision making method, called the best-worst method, with the process of refactoring within mobile applications. The results prove the applicability and suitability of adopting the model for the mobile development process in order to expedite application production while using well-defined procedures to select the best refactoring techniques. Finally, a variety of quality attributes are shown to be influenced by the adoption of various refactoring techniques.

Keywords

References

  1. W. F. Opdyke, "Refactoring: A program restructuring aid in designing object-oriented application frameworks," Ph.D. dissertation, PhD thesis, University of Illinois at Urbana-Champaign, 1992.
  2. M. Fowler, "Refactoring: improving the design of existing code". Addison-Wesley Professional, 2018.
  3. T. Mens and T. Tourwe , "A survey of software refactoring," IEEE Transactions on software engineering, vol. 30, no. 2, pp. 126-139, 2004. https://doi.org/10.1109/TSE.2004.1265817
  4. K. Stroggylos and D. Spinellis, "Refactoring-does it improve software quality?" in Fifth International Workshop on Software Quality (WoSQ'07: ICSE Workshops 2007). IEEE, 2007, pp. 10-10.
  5. C. Abid, V. Alizadeh, M. Kessentini, T. d. N. Ferreira, and D. Dig, "30 years of software refactoring research: a systematic literature review," arXiv preprint arXiv:2007.02194, 2020.
  6. K. O. Elish and M. Alshayeb, "A classification of refactoring methods based on software quality attributes," Arabian Journal for Science and Engineering, vol. 36, no. 7, pp. 1253-1267, 2011. https://doi.org/10.1007/s13369-011-0117-x
  7. H. Omotunde, R. Ibrahim, M. Ahmed, R. Olanrewaju, N. Ibrahim, and H. Shah, "A framework to reduce redundancy in android test suite using refactoring," Indian Journal of Science and Technology, vol. 9, no. 46, pp. 1-7, 2016.
  8. L. Cruz and R. Abreu, "Using automatic refactoring to improve energy efficiency of android apps," arXiv preprint arXiv:1803.05889, 2018.
  9. R. Wongpiang and P. Muenchaisri, "Selecting sequence of refactoring techniques usage for code changing using greedy algorithm," in 2013 IEEE 4th International Conference on Electronics Information and Emergency Communication. IEEE, 2013, pp. 160-164.
  10. L. Zhao and J. H. Hayes, "Rank-based refactoring decision support: two studies," Innovations in Systems and Software Engineering, vol. 7, no. 3, p. 171, 2011. https://doi.org/10.1007/s11334-011-0154-3
  11. F. Palomba, D. Di Nucci, A. Panichella, A. Zaidman, and A. De Lucia, "On the impact of code smells on the energy consumption of mobile applications," Information and Software Technology, vol. 105, pp. 43- 55, 2019. https://doi.org/10.1016/j.infsof.2018.08.004
  12. M.LinaresVasquez, S.Klock, C.McMillan, A.Sabane, D.Poshyvanyk, and Y.G. Gueheneuc, "Domain matters: bringing further evidence of the relationships among antipatterns, application domains, and quality-related metrics in java mobile apps," in Proceedings of the 22nd International Conference on Program Comprehension, 2014, pp. 232- 243.
  13. G. Hecht, "An approach to detect android antipatterns," in 2015 IEEE/ACM 37th IEEE International Conference on Software Engineering, vol. 2. IEEE, 2015, pp. 766-768.
  14. R. Morales, R. Saborido, F. Khomh, F. Chicano, and G. Antoniol, "Earmo: An energy-aware refactoring approach for mobile apps," IEEE Transactions on Software Engineering, vol. 44, no. 12, pp. 1176-1206, 2017. https://doi.org/10.1109/TSE.2017.2757486
  15. J. Oliveira, M. Viggiato, M. F. Santos, E. Figueiredo, and H. Marques- Neto, "An empirical study on the impact of android code smells on resource usage." in SEKE, 2018, pp. 314-313.
  16. G. Buyukozkan, "Determining the mobile commerce user requirements using an analytic approach," Computer Standards & Interfaces, vol. 31, no. 1, pp. 144-152, 2009. https://doi.org/10.1016/j.csi.2007.11.006
  17. S. Nikou, J. Mezei, and H. Bouwman, "Analytic hierarchy process (ahp) approach for selecting mobile service category (consumers' preferences)," in 2011 10th International Conference on Mobile Business. IEEE, 2011, pp. 119-128.
  18. S. Nikou and J. Mezei, "Evaluation of mobile services and substantial adoption factors with analytic hierarchy process (ahp)," Telecommunications Policy, vol. 37, no. 10, pp. 915-929, 2013. https://doi.org/10.1016/j.telpol.2012.09.007
  19. O. Yildirim and S. Peker, "Prioritizing use cases for development of mobile apps using ahp: A case study in to-do list apps," in International Conference on Mobile Web and Intelligent Information Systems. Springer, 2019, pp. 308-315.
  20. A. Aljuhani and A. Alhubaishy, "Incorporating a decision support approach within the agile mobile application development process," in 2020 3rd International Conference on Computer Applications & Information Security (ICCAIS). IEEE, 2020, pp. 1-6.
  21. J. Rezaei, "Best-worst multi-criteria decision-making method: Some properties and a linear model," Omega, vol. 64, pp. 126-130, 2016. https://doi.org/10.1016/j.omega.2015.12.001
  22. J. Rezaei, "Best-worst multi-criteria decision-making method," Omega, vol. 53, pp. 49-57, 2015. https://doi.org/10.1016/j.omega.2014.11.009
  23. J. Rezaei, "Bwm solvers. solver linear bwm." [Online]. Available: https://bestworstmethod.com/software/
  24. M. Mohammadi and J. Rezaei, "Bayesian best-worst method: A probabilistic group decision making model," Omega, vol. 96, p. 102075, 2020. https://doi.org/10.1016/j.omega.2019.06.001
  25. T. L. Saaty, "How to make a decision: the analytic hierarchy process," European journal of operational research, vol. 48, no. 1, pp. 9-26, 1990. https://doi.org/10.1016/0377-2217(90)90057-I
  26. X. Mi, M. Tang, H. Liao, W. Shen, and B. Lev, "The state-of-the-art survey on integrations and applications of the best worst method in decision making: Why, what, what for and what's next?" Omega, vol. 87, pp. 205-225, 2019. https://doi.org/10.1016/j.omega.2019.01.009