{"title":"Evaluating the Architectural Debt of IoT Projects","authors":"F. Fontana, Ilaria Pigazzini","doi":"10.1109/SERP4IoT52556.2021.00011","DOIUrl":"https://doi.org/10.1109/SERP4IoT52556.2021.00011","url":null,"abstract":"We observed a great and increasing interest in the last few years towards the evaluation of technical debt of software projects, in particular in the direction of code and architectural debt evaluation. This kind of analysis has not yet been performed for IoT projects. Hence, in this paper we start this exploration through the analysis of four Open Source IoT projects. We focus our attention on architectural debt and we exploit a tool, called Arcan, developed for architectural smell detection and for the computation of an architectural debt index. The results show that also IoT projects are subjected to architectural debt, and in particular to the presence of Cyclic Dependency and Unstable Dependency smells. However, there is evidence that the continuous refactoring of the code helps in avoiding the increase of debt, hence also developers of IoT projects should schedule periodical clean-ups of their code.","PeriodicalId":131447,"journal":{"name":"2021 IEEE/ACM 3rd International Workshop on Software Engineering Research and Practices for the IoT (SERP4IoT)","volume":"6 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-06-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131285915","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Message from the SERP4IoT 2021 Chairs","authors":"","doi":"10.1109/serp4iot52556.2021.00005","DOIUrl":"https://doi.org/10.1109/serp4iot52556.2021.00005","url":null,"abstract":"","PeriodicalId":131447,"journal":{"name":"2021 IEEE/ACM 3rd International Workshop on Software Engineering Research and Practices for the IoT (SERP4IoT)","volume":"7 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-06-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121225594","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Sune Chung Jepsen, T. Worm, Thomas Ingemann Mørk, Jakob Hviid
{"title":"Industry 4.0 Middleware Software Architecture Interoperability Analysis","authors":"Sune Chung Jepsen, T. Worm, Thomas Ingemann Mørk, Jakob Hviid","doi":"10.1109/SERP4IoT52556.2021.00012","DOIUrl":"https://doi.org/10.1109/SERP4IoT52556.2021.00012","url":null,"abstract":"Industry 4.0 (I4.0) middleware interoperability plays a central role in the intelligent networking of machines and processes supporting flexible I4.0 production. Interoperability levels in middleware software architecture, in relation to intelligent networking, are described to a lesser extend. This paper aims to analyze the implications of multiple levels of interoperability in middleware software architecture. The Levels of Conceptual Interoperability Model is used together with prior interoperability analysis and laboratory experience as the basis for analyzing the interoperability level implications in relation to middleware software architecture. Components of an evolving software architecture are proposed and discussed together with scenarios supporting multiple interoperability levels in I4.0 middleware.","PeriodicalId":131447,"journal":{"name":"2021 IEEE/ACM 3rd International Workshop on Software Engineering Research and Practices for the IoT (SERP4IoT)","volume":"7 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-06-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122699841","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
H. Washizaki, A. Hazeyama, T. Okubo, Hideyuki Kanuka, Shinpei Ogata, Nobukazu Yoshioka
{"title":"Analysis of IoT Pattern Descriptions","authors":"H. Washizaki, A. Hazeyama, T. Okubo, Hideyuki Kanuka, Shinpei Ogata, Nobukazu Yoshioka","doi":"10.1109/SERP4IoT52556.2021.00010","DOIUrl":"https://doi.org/10.1109/SERP4IoT52556.2021.00010","url":null,"abstract":"IoT architecture and design patterns document the successes in IoT systems and software design. Although these patterns are often described based on well-accepted common description forms such as the Gang of Four (GoF), Pattern-Oriented Software Architecture (POSA), and Canonical forms, IoT patterns occasionally adopt a unique description form to capture IoT-specific aspects. Such heterogeneity in the description makes it difficult to understand, compare, apply, and verify various IoT patterns in systems and software development processes. To mitigate these issues and provide recommendations on IoT pattern descriptions to the IoT and pattern communities, we conducted an in-depth analysis of the descriptions of the 61 IoT patterns described in 18 papers identified by a systematic literature review. We first analyzed the description forms and sections currently adopted in IoT patterns. We found that about a quarter of IoT patterns are immature and are not well described. Of the well-documented IoT patterns, almost half adopt common pattern forms. “Related Pattern (See also)” is the most used section followed by “Problem” and “Solution.” The high number of adoptions of “Related Pattern” indicates that many IoT patterns can be utilized to constitute large solutions. Then we identified IoT-specific description sections as well as commonalities and differences compared with other types of patterns. “Inspired by” is used to specify general patterns as a basis of the target IoT pattern. A comparison between IoT and security patterns showed that “Problem,” “Solution,” “Related Patterns,” and “Known Uses” are identified as typical sections, whereas “Consequences” is less familiar to IoT pattern descriptions. The IoT and pattern communities should further investigate IoT patterns’ usefulness in IoT systems and software development as well as identify missing IoT-specific aspects to be documented.","PeriodicalId":131447,"journal":{"name":"2021 IEEE/ACM 3rd International Workshop on Software Engineering Research and Practices for the IoT (SERP4IoT)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-06-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130173523","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Model-driven Development for ESP-based IoT Systems","authors":"Burak Karaduman, Moharram Challenger","doi":"10.1109/SERP4IoT52556.2021.00008","DOIUrl":"https://doi.org/10.1109/SERP4IoT52556.2021.00008","url":null,"abstract":"The large variety of low-end devices and their programming environment increases the development complexity of embedded software for the Internet of Things. Therefore, developing IoT-based systems has been found to be a complex process. As a consequence, the development of these systems becomes more error-prone, time-consuming and costly. ESP (ESP8266 and ESP32) is one of the preferred micro-controllers for education, industrial projects, and prototyping. Arduino, a well-known firmware, is used in ESP which makes it easy-to-use. However, learning the device-specific configurations, using network features, and implementing IoT applications for ESP on the Arduino platform are still burdensome and time-consuming tasks. Raising the abstraction level can help to decrease the complexity and address this problem. To this end, in this paper, a model-driven approach is proposed for the development of Arduino-based programmable ESP micro-controllers. First, a meta-model is designed for the Arduino-based ESP micro-controllers. Based on this meta-model, a Domain-specific Language (DSL) is developed to graphically represent the domain models. To gain more functionality for the language, domain rules are defined as constraints. Also, partial system codes are automatically generated from the instance models. In this way, the development of IoT systems based on ESP modules is supported by code synthesis which increases the performance and reduces the number of errors. Finally, a motion-sensitive thief detector and a servo-motor based room temperature control system are implemented to evaluate the proposed DSL.","PeriodicalId":131447,"journal":{"name":"2021 IEEE/ACM 3rd International Workshop on Software Engineering Research and Practices for the IoT (SERP4IoT)","volume":"7 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-06-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128615322","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"RiverIoT - a Framework Proposal for Fuzzing IoT Applications","authors":"C. Paduraru, R. Cristea, Eduard Staniloiu","doi":"10.1109/SERP4IoT52556.2021.00015","DOIUrl":"https://doi.org/10.1109/SERP4IoT52556.2021.00015","url":null,"abstract":"This paper presents an integrated testing framework for Internet of Things (IoT) systems based on the open-source platform RIVER. Our objective is to leverage the existing methods for guided fuzzing using AI techniques to test end-to-end IoT deployed applications. The framework’s architecture is defined first, along with its interface to the user application. Then, the paper presents the technical details for leveraging the concolic execution methods in testing IoT applications. The testing architecture is modeled as a graph of connected processes deployed on physical devices. The methods used extend the capability of testing individual processes in isolation. The proposed new framework enables the user to test the interaction of processes as well as dynamic connections that could appear during the deployed application at runtime.","PeriodicalId":131447,"journal":{"name":"2021 IEEE/ACM 3rd International Workshop on Software Engineering Research and Practices for the IoT (SERP4IoT)","volume":"13 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-06-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129350047","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Igor Muzetti Pereira, T. Carneiro, Eduardo Figueiredo
{"title":"Understanding the context of IoT software systems in DevOps","authors":"Igor Muzetti Pereira, T. Carneiro, Eduardo Figueiredo","doi":"10.1109/SERP4IoT52556.2021.00009","DOIUrl":"https://doi.org/10.1109/SERP4IoT52556.2021.00009","url":null,"abstract":"The growing demand for connected devices and the increase in investments in the Internet of Things (IoT) sector induce the growth of the market for this technology. IoT permeates all areas of life of an individual, from smartwatches to entire home assistants and solutions in different areas. The IoT concept is gradually increasing all over the globe. IoT projects induce an articulation of studies in software engineering to prepare the development and operation of software systems materialized in physical objects and structures interconnected with embedded software and hosted in clouds. IoT projects have boundaries between development and operation stages. This study search for evidence in scientific literature to support these boundaries through Development and Operations (DevOps) principles. We rely on a Systematic Literature Review to investigate the relations of DevOps in IoT software systems. As a result, we identify concepts, characterize the benefits and challenges in the context of knowledge previously reported in primary studies in the literature. The main contributions of this paper are: (i) discussion of benefits and challenges for DevOps in IoT software systems, (ii) identification of tools, concepts, and programming languages used, and, (iii) perceived pipeline for this kind of software development.","PeriodicalId":131447,"journal":{"name":"2021 IEEE/ACM 3rd International Workshop on Software Engineering Research and Practices for the IoT (SERP4IoT)","volume":"5 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-04-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114275234","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"A Language for Modelling False Data Injection Attacks in Internet of Things","authors":"Mathieu Briland, F. Bouquet","doi":"10.1109/SERP4IoT52556.2021.00007","DOIUrl":"https://doi.org/10.1109/SERP4IoT52556.2021.00007","url":null,"abstract":"Internet of Things (IoT) is now omnipresent in all aspects of life and provides a large number of potentially critical services. For this, Internet of Things relies on the data collected by objects. Data integrity is therefore essential. Unfortunately, this integrity is threatened by a type of attack known as False Data Injection Attack. This consists of an attacker who injects fabricated data into a system to modify its behaviour. In this work, we dissect and present a method that uses a Domain-Specific Language (DSL) to generate altered data, allowing these attacks to be simulated and tested.","PeriodicalId":131447,"journal":{"name":"2021 IEEE/ACM 3rd International Workshop on Software Engineering Research and Practices for the IoT (SERP4IoT)","volume":"1101 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-04-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116050050","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Security and Machine Learning Adoption in IoT: A Preliminary Study of IoT Developer Discussions","authors":"Gias Uddin","doi":"10.1109/SERP4IoT52556.2021.00013","DOIUrl":"https://doi.org/10.1109/SERP4IoT52556.2021.00013","url":null,"abstract":"Internet of Things (IoT) is defined as the connection between places and physical objects (i.e., things) over the internet/network via smart computing devices. IoT is a rapidly emerging paradigm that now encompasses almost every aspect of our modern life. As such, it is crucial to ensure IoT devices follow strict security requirements. At the same time, the prevalence of IoT devices offers developers a chance to design and develop Machine Learning (ML)-based intelligent software systems using their IoT devices. However, given the diversity of IoT devices, IoT developers may find it challenging to introduce appropriate security and ML techniques into their devices. Traditionally, we learn about the IoT ecosystem/problems by conducting surveys of IoT developers/practitioners. Another way to learn is by analyzing IoT developer discussions in popular online developer forums like Stack Overflow (SO). However, we are aware of no such studies that focused on IoT developers’ security and ML-related discussions in SO. This paper offers the results of preliminary study of IoT developer discussions in SO. First, we collect around 53K IoT posts (questions + accepted answers) from SO. Second, we tokenize each post into sentences. Third, we automatically identify sentences containing security and ML-related discussions. We find around 12% of sentences contain security discussions, while around 0.12% sentences contain ML-related discussions. There is no overlap between security and ML-related discussions, i.e., IoT developers discussing security requirements did not discuss ML requirements and vice versa. We find that IoT developers discussing security issues frequently inquired about how the shared data can be stored, shared, and transferred securely across IoT devices and users. We also find that IoT developers are interested to adopt deep neural network-based ML models into their IoT devices, but they find it challenging to accommodate those into their resource-constrained IoT devices. Our findings offer implications for IoT vendors and researchers to develop and design novel techniques for improved security and ML adoption into IoT devices.","PeriodicalId":131447,"journal":{"name":"2021 IEEE/ACM 3rd International Workshop on Software Engineering Research and Practices for the IoT (SERP4IoT)","volume":"64 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122404586","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Empowering Visual Internet-of-Things Mashups with Self-Healing Capabilities","authors":"João Pedro Dias, André Restivo, H. Ferreira","doi":"10.1109/SERP4IoT52556.2021.00014","DOIUrl":"https://doi.org/10.1109/SERP4IoT52556.2021.00014","url":null,"abstract":"Internet-of-Things (IoT) systems have spread among different application domains, from home automation to industrial manufacturing processes. The rushed development by competing vendors to meet the market demand of IoT solutions, the lack of interoperability standards, and the overall lack of a defined set of best practices have resulted in a highly complex, heterogeneous, and frangible ecosystem. Several works have been pushing towards visual programming solutions to abstract the underlying complexity and help humans reason about it. As these solutions begin to meet widespread adoption, their building blocks usually do not consider reliability issues. Node-RED, being one of the most popular tools, also lacks such mechanisms, either built-in or via extensions. In this work we present SHEN (Self-Healing Extensions for Node-RED) which provides 17 nodes that collectively enable the implementation of self-healing strategies within this visual framework. We proceed to demonstrate the feasibility and effectiveness of the approach using real devices and fault injection techniques.","PeriodicalId":131447,"journal":{"name":"2021 IEEE/ACM 3rd International Workshop on Software Engineering Research and Practices for the IoT (SERP4IoT)","volume":"34 9","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-03-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114126117","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}