On the Complexity Measurement of Industrial Control Software
Abstract: Embedded systems are becoming a dominant part of the computer systems that we use both in our every day life and in the industry. For domain specific and industrial use, specialized embedded systems, called Programmable Logic Controllers, are used to run software which provides supervisory control. Such software, also known as industrial control software, is programmed using one of the standardized IEC 61131-3 programming languages. As the size of the industrial control software increases and given that more requirements are imposed on such software, the effort and complexity of engineering software also increases. In the past decades much effort has been put into researching software complexity measures and their impact on software quality attributes such as maintainability, testability, understandability and test effort. In this thesis we present how software complexity can be measured on industrial control software written in IEC 61131-3 Function Block Diagram (FBD) graphical programming languages. We show how software complexity can be represented on this type of software, what factors it can influence and how it can be directly measured. A set of software complexity metrics is selected and the measurement techniques adapted for the graphical syntax of FBD. These techniques are implemented in a open-source tool for software complexity measurements of FBD programs. A case study was performed using several industrial control programs from a train control management system. We have investigated the relationship between test effort (e.g., in terms of test suite size and test execution time of manually created tests) and different FBD software complexity measures. We found that there is a low but consistent correlation between software complexity measures and test effort. In particular, the FBD equivalent of Source Lines of Code metric had the highest correlation coefficient (i.e., 0.368) when compared to the test effort. Also, our results suggest that Cyclomatic complexity might not be useful for measuring the structural dimension of an FBD program and that a new structural software complexity metric might be required. The results of the correlation analysis was also used to construct a linear regression model. This model can be used as a rough estimation approach based on the software complexity measurement results. The constructed regression model might be improved by taking into account other software attributes that influence the test effort such as the program specification used for manually testing the software.
AT THIS PAGE YOU CAN DOWNLOAD THE WHOLE ESSAY. (follow the link to the next page)