  Internet of Things (IoT) is a growing technology that relies on connected
'things' that gather data from peer devices and send data to servers via APIs
(Application Programming Interfaces). The design quality of those APIs has a
direct impact on their understandability and reusability. This study focuses on
the linguistic design quality of REST APIs for IoT applications and assesses
their linguistic quality by performing the detection of linguistic patterns and
antipatterns in REST APIs for IoT applications. Linguistic antipatterns are
considered poor practices in the naming, documentation, and choice of
identifiers. In contrast, linguistic patterns represent best practices to APIs
design. The linguistic patterns and their corresponding antipatterns are hence
contrasting pairs. We propose the SARAv2 (Semantic Analysis of REST APIs
version two) approach to perform syntactic and semantic analyses of REST APIs
for IoT applications. Based on the SARAv2 approach, we develop the REST-Ling
tool and empirically validate the detection results of nine linguistic
antipatterns. We analyse 19 REST APIs for IoT applications. Our detection
results show that the linguistic antipatterns are prevalent and the REST-Ling
tool can detect linguistic patterns and antipatterns in REST APIs for IoT
applications with an average accuracy of over 80%. Moreover, the tool performs
the detection of linguistic antipatterns on average in the order of seconds,
i.e., 8.396 seconds. We found that APIs generally follow good linguistic
practices, although the prevalence of poor practices exists.
