Refactoring Decision based on Measurements for IoHT Apps
ResumoInternet of Things (IoT) provides smart objects with the ability to connect to the Internet, allowing the exchange of information among them to provide a certain service and the development of innovative applications in several domains, including e-Health, in which it is called Internet of Health Things (IoHT). This domain can be critical specially when the application deals with the monitoring of the user health in real-time, what demands software quality assurance, even more than in other applications. Measures can be used to support that, for example, measures can suggest which components need refactoring to improve the software code, thus improving the application. In this work, we report how to do that with two existing measures that guide the refactoring process of an IoHT application for fall detection, called WatchAlert. These measures indicate that changes in both the architecture and the algorithms for fall detection should occur. After the refactoring, the app accuracy was improved from 73.3% to 92.7%. We believe that this work can contribute to other studies focusing on developing applications on the IoHT domain using a methodology, a set of refactoring techniques, and lessons learned that could be replicated to improve the quality of this type of application.
Rodrigo L. A Almeida, Alysson A. Macedo, Ítalo Linhares de Araújo, Paulo Armando Aguilar, and Rossana M. C. Andrade. 2016. WatchAlert: Uma evolução do aplicativo fAlert para detecção de quedas em smartwatches. Anais Estendidos do Simpósio Brasileiro de Sistemas Multimídia e Web (WebMedia) (nov 2016), 124–127. https://sol.sbc.org.br/index.php/webmedia_estendido/article/view/4897
Tirza Fidela Bernadus, Luki B. Subekti, and Yoanes Bandung. 2019. IoT-Based Fall Detection and Heart Rate Monitoring System for Elderly Care. In Proceeding - 2019 International Conference on ICT for Smart Society: Innovation and Transformation Toward Smart Region, ICISS 2019. Institute of Electrical and Electronics Engineers Inc. https://doi.org/10.1109/ICISS48059.2019.8969845
Rainara M. Carvalho, Rossana M. C. Andrade, Jefferson Barbosa, Adyson M. Maia, Belmondo A. Junior, Paulo A. Aguilar, Carla I. M. Bezerra, and Káthia M. Oliveira. 2017. Evaluating an IoT Application Using Software Measures. Springer, Cham, 22–33. https://doi.org/10.1007/978-3-319-58697-7_2
Rainara Maia Carvalho, Rossana Maria de Castro Andrade, and Káthia Marçal de Oliveira. 2018. AQUArIUM - A suite of software measures for HCI quality evaluation of ubiquitous mobile applications. Journal of Systems and Software 136 (feb 2018), 101–136. https://doi.org/10.1016/J.JSS.2017.11.022
Alexander Chávez, Isabella Ferreira, Eduardo Fernandes, Diego Cedrim, and Alessandro Garcia. 2017. How does refactoring affect internal quality attributes?: A multi-project study. In ACM International Conference Proceeding Series. Association for Computing Machinery, 74–83. https://doi.org/10.1145/3131151.3131171
Cicero Alves Da Silva and Gibeon Soares De Aquino Junior. 2018. Fog Computing in Healthcare: A Review. In Proceedings - IEEE Symposium on Computers and Communications, Vol. 2018-June. Institute of Electrical and Electronics Engineers Inc., 1126–1131. https://doi.org/10.1109/ISCC.2018.8538671
Italo Linhares De Araujo, Lucas Dourado, Leticia Fernandes, Rossana Maria De C. Andrade, and Paulo Armando C. Aguilar. 2018. An algorithm for fall detection using data from smartwatch. In 2018 13th System of Systems Engineering Conference, SoSE 2018. Institute of Electrical and Electronics Engineers Inc., 124–131. https://doi.org/10.1109/SYSOSE.2018.8428786
Hamza Djelouat, Hamza Baali, Abbes Amira, and Faycal Bensaali. 2017. CS-based fall detection for connected health applications. In International Conference on Advances in Biomedical Engineering, ICABME, Vol. 2017-October. Institute of Electrical and Electronics Engineers Inc., 1–4. https://doi.org/10.1109/ICABME.2017.8167540
International Organization for Standardization (ISO). 2011. ISO/IEC 25021:2012, Software Engineering - Software Product Quality Requirements and Evaluation (SQuaRE) - Measurement of system and software product quality.
International Organization for Standardization (ISO). 2014. ISO/IEC 25000, 2014. Software Engineering - Software Product Quality Requirements and Evaluation (SQuaRE).
Martin Fowler. 1999. Refactoring: Improving the Design of Existing Programs. Addison-Wesley.
Chia Yeh Hsieh, Kai Chun Liu, Chih Ning Huang, Woei Chyn Chu, and Chia Tai Chan. 2017. Novel hierarchical fall detection algorithm using a multiphase fall model. Sensors (Switzerland) 17, 2 (feb 2017), 307. https://doi.org/10.3390/s17020307
Faisal Hussain, Fawad Hussain, Muhammad Ehatisham-Ul-Haq, and Muhammad Awais Azam. 2019. Activity-Aware Fall Detection and Recognition Based on Wearable Sensors. IEEE Sensors Journal 19, 12 (jun 2019), 4528–4536. https://doi.org/10.1109/JSEN.2019.2898891
Italo Linhares, Rossana Andrade, Evilasio Costa Junior, Pedro Almir Oliveira, Breno Oliveira, and Paulo Aguilar. 2020. Lessons Learned from the Development of Mobile Applications for Fall Detection. In GLOBAL HEALTH 2020, The Ninth International Conference on Global Health Challenges. ThinkMind, 18–25.
Gonçalo Marques and Rui Pitarma. 2019. MHealth: Indoor environmental quality measuring system for enhanced health and well-being based on internet of things. Journal of Sensor and Actuator Networks 8, 3 (aug 2019), 43. https://doi.org/10.3390/jsan8030043
Tom Mens and Tom Tourwé. 2004. A survey of software refactoring. IEEE Transactions on Software Engineering 30, 2 (feb 2004), 126–139. https://doi.org/10.1109/TSE.2004.1265817
Hoa Hong Nguyen, Farhaan Mirza, M. Asif Naeem, and Minh Nguyen. 2017. A review on IoT healthcare monitoring applications and a vision for transforming sensor data into real-time clinical feedback. In Proceedings of the 2017 IEEE 21st International Conference on Computer Supported Cooperative Work in Design, CSCWD 2017. Institute of Electrical and Electronics Engineers Inc., 257–262. https://doi.org/10.1109/CSCWD.2017.8066704
Natthapon Pannurat, Surapa Thiemjarus, and Ekawit Nantajeewarawat. 2014. Automatic Fall Monitoring: A Review. Sensors 14, 7 (jul 2014), 12900–12936. https://doi.org/10.3390/s140712900
Bruno P Santos, Lucas A M Silva, Clayson S F S Celes, João B Borges Neto, Bruna S Peres, Marcos Augusto, M Vieira, Filipe M Vieira, Olga N Goussevskaia, and Antonio A F Loureiro. [n.d.]. Internet das Coisas: da Teoria à Prática. Technical Report.
Sandeep Sivanandan and C. B. Yogeesha. 2014. Agile development cycle: Approach to design an effective Model Based Testing with Behaviour driven automation framework. In 2014 20th Annual International Conference on Advanced Computing and Communications, ADCOM 2014 - Proceedings. Institute of Electrical and Electronics Engineers Inc., 22–25. https://doi.org/10.1109/ADCOM.2014.7103243
Ian Sommerville. 2015. Engenharia de software(10th ed.). Pearson.
Diana Yacchirema, David Sarabia-Jácome, Carlos E. Palau, and Manuel Esteve. 2018. System for monitoring and supporting the treatment of sleep apnea using IoT and big data. Pervasive and Mobile Computing 50 (oct 2018), 25–40. https://doi.org/10.1016/j.pmcj.2018.07.007
Yuefeng Zhang. 2004. Test-driven modeling for model-driven development. IEEE Software 21, 5 (sep 2004), 80–86. https://doi.org/10.1109/MS.2004.1331307