Evolution of Bad Smells in LabVIEW Graphical Models

By: Saheed Popoola, Xin Zhao, Jeff Gray

Abstract

Bad smells often indicate potential problems in software, which may lead to long-term challenges and expensive maintenance efforts. Although bad smells often occur in source code, bad smells also exist in representations of design descriptions and models. We have observed that many users of graphical modeling environments (e.g., LabVIEW) are systems engineers who may not be aware of core software engineering techniques, such as refactoring of bad smells. Systems engineers often focus on implementation correctness and may be unaware of how their designs affect long-term maintenance properties that may increase design smells. There exists a large body of research focused on analysing bad smells embedded in the source code of textual languages, but there has been limited research on bad smells in systems models of graphical languages. In this paper, we present a semi-automated approach for extracting design smells across versions of LabVIEW graphical models through user-defined queries. We describe example queries that highlight the emergence of design smells that we discovered from posts in the LabVIEW user’s forum. We then demonstrate the use of the example queries in understanding the evolution of seven bad smells we found in 81 LabVIEW models stored in 10 GitHub repositories. We analyze the evolution of these smells in order to understand the prevalence and introduction of bad smells, as well as the relationship between bad smells and the structural changes made to the models. Our results show that all of the models contain instances of at least one type of bad smell and the number of smells fluctuates as the size of a model increases. Furthermore, the majority of the structural changes across different versions of LabVIEW models involve the addition of new elements with a corresponding increase in the presence of design smells. This paper summarizes the need for better analysis of design smells in systems models and suggests an approach that may assist in improving the structure and quality of systems models developed in LabVIEW.

Keywords

LabVIEW models, bad smells, user queries

Cite as:

Saheed Popoola, Xin Zhao, Jeff Gray, “Evolution of Bad Smells in LabVIEW Graphical Models”, Journal of Object Technology, Volume 20, no. 1 (January 2021), pp. 1:1-15, doi:10.5381/jot.2021.20.1.a1.

PDF | DOI | BiBTeX | Tweet this | Post to CiteULike | Share on LinkedIn

The JOT Journal   |   ISSN 1660-1769   |   DOI 10.5381/jot   |   AITO   |   Open Access   |    Contact