Next Article in Journal
Crosslinked Facilitated Transport Membranes Based on Carboxymethylated NFC and Amine-Based Fixed Carriers for Carbon Capture, Utilization, and Storage Applications
Next Article in Special Issue
A New Face Recognition Method for Intelligent Security
Previous Article in Journal
A Bio-Inspired Flapping Wing Rotor of Variant Frequency Driven by Ultrasonic Motor
Previous Article in Special Issue
An ECG Signal De-Noising Approach Based on Wavelet Energy and Sub-Band Smoothing Filter
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

An Automated Refactoring Approach to Improve IoT Software Quality

1
School of Information Science and Engineering, Hebei University of Science and Technology, Shijiazhuang 050000, China
2
Cyberspace Institute of Advanced Technology, Guangzhou University, Guangzhou 510006, China
3
Department of Computer and Information Sciences, Temple University, Philadelphia, PA 19122, USA
4
Department of Computer Science and Engineering, Qatar University, Doha 2713, Qatar
*
Author to whom correspondence should be addressed.
Appl. Sci. 2020, 10(1), 413; https://doi.org/10.3390/app10010413
Submission received: 21 October 2019 / Revised: 13 December 2019 / Accepted: 1 January 2020 / Published: 6 January 2020

Abstract

Internet of Things (IoT) software should provide good support for IoT devices as IoT devices are growing in quantity and complexity. Communication between IoT devices is largely realized in a concurrent way. How to ensure the correctness of concurrent access becomes a big challenge to IoT software development. This paper proposes a general refactoring framework for fine-grained read–write locking and implements an automatic refactoring tool to help developers convert built-in monitors into fine-grained ReentrantReadWriteLocks. Several program analysis techniques, such as visitor pattern analysis, alias analysis, and side-effect analysis, are used to assist with refactoring. Our tool is tested by several real-world applications including HSQLDB, Cassandra, JGroups, Freedomotic, and MINA. A total of 1072 built-in monitors are refactored into ReentrantReadWriteLocks. The experiments revealed that our tool can help developers with refactoring for ReentrantReadWriteLocks and save their time and energy.
Keywords: refactoring; IoT software; synchronization; software quality; concurrency refactoring; IoT software; synchronization; software quality; concurrency

Share and Cite

MDPI and ACS Style

Zhang, Y.; Shao, S.; Ji, M.; Qiu, J.; Tian, Z.; Du, X.; Guizani, M. An Automated Refactoring Approach to Improve IoT Software Quality. Appl. Sci. 2020, 10, 413. https://doi.org/10.3390/app10010413

AMA Style

Zhang Y, Shao S, Ji M, Qiu J, Tian Z, Du X, Guizani M. An Automated Refactoring Approach to Improve IoT Software Quality. Applied Sciences. 2020; 10(1):413. https://doi.org/10.3390/app10010413

Chicago/Turabian Style

Zhang, Yang, Shuai Shao, Minghan Ji, Jing Qiu, Zhihong Tian, Xiaojiang Du, and Mohsen Guizani. 2020. "An Automated Refactoring Approach to Improve IoT Software Quality" Applied Sciences 10, no. 1: 413. https://doi.org/10.3390/app10010413

APA Style

Zhang, Y., Shao, S., Ji, M., Qiu, J., Tian, Z., Du, X., & Guizani, M. (2020). An Automated Refactoring Approach to Improve IoT Software Quality. Applied Sciences, 10(1), 413. https://doi.org/10.3390/app10010413

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop