Project Details
Static Analysis to Support Change Management in Variant-rich Legacy Control Software for Machine and Plant Engineering companies (CHANGE aPS)
Subject Area
Software Engineering and Programming Languages
Automation, Mechatronics, Control Systems, Intelligent Technical Systems, Robotics
Automation, Mechatronics, Control Systems, Intelligent Technical Systems, Robotics
Term
since 2022
Project identifier
Deutsche Forschungsgemeinschaft (DFG) - Project number 508985913
Automated Production Systems (aPS), i.e., machines and plants, are long-living systems, usually controlled by real-time capable Programmable Logic Controllers (PLCs) programmed in accordance with the IEC 61131-3 standard. Due to the growing functionality and complexity of control software, its planned reuse is increasingly important. At the same time, evolving requirements and requests for additional functionalities from customers and the different involved disciplines (e.g., mechanics or electrics/electronics) are typically addressed by changing the control software. Currently, however, software changes in the aPS domain are typically implemented using Copy-Paste-Modify, which generates a high number of undocumented variants and versions of the control software and results in lower software quality and higher maintenance costs. In this transfer project, we aim to develop better change processes and improve the quality of the resulting control software. We combine, apply, and extend results from our previous DFG-funded projects RED SPLAT (aPS control software restructuring and similarity analysis, executed by TUM) and IMPROVE APS (regression verification of aPS control software, jointly executed by TUM and KIT) to two application sectors of the company teamtechnik, a world leading company in machine and plant engineering (namely automotive and medical-certified software according to GAMP). Thereby, teamtechnik aims to maintain its world-leading market position as a machine and plant manufacturer. Combining the separately developed results of RED SPLAT and IMPROVE APS into a synergetic approach enables a control software analysis that includes both syntactic and semantic clone identification. First, a syntactic (structural) analysis is performed to identify changed software parts and, thus, narrow down the code on which, second, a semantic (behavioral) analysis of software changes is performed using regression verification. Real control software changes are gathered in guided interviews, including the change reason and metadata like comments and naming conventions. This information on changes performed in the industry is taken into account to enhance the identification of semantic code clones. The developed approach is to be embedded in the control software engineering process of teamtechnik. Further, the change analysis and management methods are implemented prototypically, including visual support for different stakeholders, e.g., application developer, commissioner, or manager, to evaluate the approach in teamtechnik’s development workflow concerning its applicability and effectiveness in practice. The insights gained in this project will provide hints for further research on identifying syntactic and especially semantic code clones within control software.
DFG Programme
Research Grants (Transfer Project)
Application Partner
teamtechnik Maschinen und Anlagen GmbH