On the measurement of software complexity for plc industrial control systems using TIQVA
2020 (English)In: Proceedings of the ACM Symposium on Applied Computing, Association for Computing Machinery , 2020, p. 1556-1565Conference paper, Published paper (Refereed)
Abstract [en]
In the safety-critical domain (e.g. transportation, nuclear, aerospace and automotive), large-scale embedded systems implemented using Programmable Logic Controllers (PLCs) are widely used to provide supervisory control. Software complexity metrics, such as code size and cyclomatic complexity, have been used in the software engineering community for predicting quality metrics such as maintainability, bug proneness and robustness. However, since there is no available approach and tool support for measuring software complexity of PLC programs, we developed a tool called TIQVA in an effort to measure complexity for this type of software. We show how to measure different software complexity metrics such as lines of code, cyclomatic complexity, and information flow for a popular PLC programming language named Function Block Diagram (FBD). We evaluate the tool using data provided by Bombardier Transportation from a Train Control Management System (TCMS). In addition, we report some empirical and industrial evidence showing how TIQVA can be used to provide some experimental evidence to support the use of these metrics to estimate testing effort for an industrial control software. The results from this evaluation indicate that other specific dimensions of PLC programs (e.g., function block relationships, block coupling and timing) could be used to improve the measurement of complexity for industrial embedded software.
Place, publisher, year, edition, pages
Association for Computing Machinery , 2020. p. 1556-1565
Keywords [en]
Codes (symbols), Computational complexity, Embedded systems, Function evaluation, Information management, Programmable logic controllers, Safety engineering, Software quality, Bombardier Transportation, Cyclomatic complexity, Engineering community, Experimental evidence, Function block diagram, Industrial control systems, Large scale embedded systems, Safety-critical domain, Software testing
National Category
Computer and Information Sciences
Identifiers
URN: urn:nbn:se:mdh:diva-47558DOI: 10.1145/3341105.3373914ISI: 000569720900220Scopus ID: 2-s2.0-85083030606ISBN: 9781450368667 (print)OAI: oai:DiVA.org:mdh-47558DiVA, id: diva2:1425982
Conference
35th Annual ACM Symposium on Applied Computing, SAC 2020; Brno; Czech Republic; 30 March 2020 through 3 April 2020; Code 158685
2020-04-232020-04-232021-01-11Bibliographically approved