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.
| Original language | English |
|---|---|
| Article number | 413 |
| Journal | Applied Sciences (Switzerland) |
| Volume | 10 |
| Issue number | 1 |
| DOIs | |
| State | Published - 1 Jan 2020 |
Keywords
- Concurrency
- IoT software
- Refactoring
- Software quality
- Synchronization
Fingerprint
Dive into the research topics of 'An automated refactoring approach to improve IoT software quality'. Together they form a unique fingerprint.Cite this
- APA
- Author
- BIBTEX
- Harvard
- Standard
- RIS
- Vancouver