Skip to content
Accessible Unlicensed Requires Authentication Published by Oldenbourg Wissenschaftsverlag October 17, 2018

Change analysis on evolving PLC software in automated production systems

Änderungsanalyse der Evolution unterliegender PLC Software für automatisierte Produktionssysteme
Alexander Schlie, Safa Bougouffa, Juliane Fischer, Ina Schaefer and Birgit Vogel-Heuser


Control software for automated Production Systems (aPSs) becomes increasingly complex. Respective systems undergo constant evolution. Yet, proper documentation may not always be present, entailing maintenance issues in the long run. While manual examination of software for aPSs is an error-prone task, static analysis can improve system quality. However, it has not been applied to describe software evolution by means of changed systems artifacts. The authors address this issue and perform change analyses on IEC61131-3 projects, identifying introduced and removed systems artifacts as well as existing ones affected. By that, the authors aim to support sustainable evolution. Two feasibility studies, implemented independently, but for the same evolution scenarios for an automation plant, are used for evaluation. The technique is shown to be efficient and highly precise.


Software für automatisierte Produktionssysteme wird zunehmend komplex und unterliegt der ständigen Weiterentwicklung. Dabei ist eine detaillierte Dokumentation der Änderungen nicht immer gegeben, welches signifikante Wartungsprobleme nach sich zieht. Entgegen einer manuellen, fehleranfälligen Identifikation der Änderungen kann auf statische Analyseverfahren zurückgegriffen werden. Im Umfeld der automatisierten Produktionssysteme ist dies jedoch noch nicht zur Beschreibung von evolvierender Software eingesetzt worden. Die Autoren nutzen die statische Analyse von IEC61131-3 Projekten und identifizieren Softwareartefakte, welche der Evolution unterliegen. Das Verfahren wird an zwei Machbarkeitsstudien, welche unabhängig voneinander implementiert wurden, dargelegt.

Funding source: Deutsche Forschungsgemeinschaft

Award Identifier / Grant number: SCHA 1635/12-1

Award Identifier / Grant number: VO 937/31-1

Funding statement: This work was supported by the DFG (German Research Foundation) (SCHA 1635/12-1) & (VO 937/31-1).


1. S. Adiga. Object-oriented Software for Manufacturing Systems. Intelligent Manufactoring Series, Springer Netherlands, 2012. ISBN 9789401148443.Search in Google Scholar

2. F. Angerer et al. “Points-To Analysis of IEC 61131-3 Programs: Implementation and Application.” In: Proceedings 18th IEEE International Conference on Emerging Technologies & Factory Automation. 2013, pp. 1–8.Search in Google Scholar

3. M. Barth and A. Fay. “Automated Generation of Simulation Models for Control Code Tests.” In: Control Engineering Practice 21.2 (2013), pp. 218–230.10.1016/j.conengprac.2012.09.022Search in Google Scholar

4. S. Bohner and R. Arnold. Software Change Impact Analysis.Search in Google Scholar

5. F. Bonfatti, P. D. Monari and U. Sampieri. IEC 1131-3 Programming Methodology: Software Engineering Methods for Industrial Automated Systems.Search in Google Scholar

6. M. Broy. “The ‘Grand Challenge’ in Informatics: Engineering Software-Intensive Systems.” In: Computer 39.9 (2006), pp. 72–80.10.1109/MC.2006.358Search in Google Scholar

7. A. Canedo and M. A. Al-Faruque. “Towards Parallel Execution of IEC 61131 Industrial Cyber-physical Systems Applications.” In: Proceedings of the Conference on Design, Automation and Test in Europe, DATE. 2012, pp. 554–557.Search in Google Scholar

8. J. E. Cooling. Software Engineering for Real-time Systems.Search in Google Scholar

9. H. K. Dam and A. Ghose. “Dynamic Change Impact Analysis for Maintaining and Evolving Agent Systems.” In: Proceedings of the 11th International Conference on Autonomous Agents and Multiagent Systems, AAMAS. 2012, pp. 1433–1434.Search in Google Scholar

10. A. Dubey. “Evaluating Software Engineering Methods in the Context of Automation Applications.” In: 2011 9th IEEE International Conference on Industrial Informatics. 2011, pp. 585–590.Search in Google Scholar

11. Z. Durdik et al. “Towards Sustainability Guidelines for long-living Software Systems.” In: 2012 28th IEEE International Conference on Software Maintenance (ICSM). 2012, pp. 517–526.Search in Google Scholar

12. S. Feldmann et al. “Analysis Framework for Evaluating PLC Software: An Application of Semantic Web Technologies.” In: 2016 IEEE 25th International Symposium on Industrial Electronics (ISIE). 2016, pp. 1048–1054.Search in Google Scholar

13. J. Fuchs et al. “Identification of Design Patterns for IEC 61131-3 in Machine and Plant Manufacturing.” In: IFAC Proceedings Volumes 47.3 (2014), pp. 6092–6097.10.3182/20140824-6-ZA-1003.01595Search in Google Scholar

14. IEC 61131-3 Languages, Standard. Geneva, CH: International Electrotechnical Commission, Mar. 2003.Search in Google Scholar

15. U. Katzke, B. Vogel-Heuser and K. Fischer. “Analysis and State of the Art of Modules in Industrial Automation.” In: Automatisierungstechnische Praxis (atp) 46.1 (2004), pp. 23–31.Search in Google Scholar

16. M. Kowal et al. “Delta Modeling for Variant-rich and Evolving Manufacturing Systems.” In: Proceedings of the 1st International Workshop on Modern Software Engineering Methods for Industrial Automation, MoSEMInA. 2014.Search in Google Scholar

17. A. Kumar et al. “Analyzing Dependencies in an Industrial Automation Engineering System.” In: Proceedings of the 8th India Software Engineering Conference. ISEC. 2015, pp. 60–69.Search in Google Scholar

18. J. Lee et al. “A Preliminary Report on Static Analysis of C Code for Nuclear Reactor Protection System.” In: IFAC Proceedings Volumes 46.9 (2013), pp. 2134–2139.10.3182/20130619-3-RU-3018.00259Search in Google Scholar

19. C. Legat, J. Folmer and B. Vogel-Heuser. “Evolution in industrial plant automation: A case study.” In: IECON – 39th Annual Conference of the IEEE Industrial Electronics Society. 2013, pp. 4386–4391.Search in Google Scholar

20. P. Herbert et al. “Static Code Analysis of IEC 61131-3 Programs: Comprehensive Tool Support and Experiences from Large-Scale Industrial Application.” In: IEEE Transactions on Industrial Informatics 13 (2017), pp. 37–47.10.1109/TII.2016.2604760Search in Google Scholar

21. PLCopen. PLCopen Technical Committee 6, XML Formats for IEC 61131-3: Version 2.01.Search in Google Scholar

22. PLCopen Association. PLCOpen Association Website. 2017. URL: http:// in Google Scholar

23. H. Prähofer et al.“Opportunities and Challenges of Static Code Analysis of IEC 61131-3 programs.” In: Emerging Technologies & Factory Automation (ETFA), 2012 IEEE 17th Conference on, IEEE. 2012, pp. 1–8.Search in Google Scholar

24. R. Ramler, W. Putschögl and D. Winkler. “Automated Testing of Industrial Automation Software: Practical Receipts and Lessons Learned.” In: Proceedings of the 1st International Workshop on Modern Software Engineering Methods for Industrial Automation. MoSEMInA. 2014.Search in Google Scholar

25. R. Reicherdt and S. Glesner. “Slicing MATLAB Simulink Models.” In: Proceedings of the 34th International Conference on Software Engineering. ICSE. 2012, pp. 551–561.Search in Google Scholar

26. S. Roesch et al. “Review of Model-Based Testing Approaches in Production Automation and Adjacent Domains-Current Challenges and Research Gaps.” In: Journal of Software Engineering and Applications 08 (2015), pp. 499–519.10.4236/jsea.2015.89048Search in Google Scholar

27. A. Schlie et al. “Detecting Variability in MATLAB/Simulink Models: An Industry-Inspired Technique and Its Evaluation.” In: Proceedings of the 21st International Systems and Software Product Line Conference. SPLC. 2017, pp. 215–224.Search in Google Scholar

28. S. Stattelmann et al. “Applying Static Code Analysis on Industrial Controller Code.” In: 19th IEEE International Conference on Emerging Technologies and Factory Automation (ETFA). IEEE, 2014. ISBN 978-1-4799-4845-1.Search in Google Scholar

29. T. Strasser et al. “Multi-domain model-driven Design of Industrial Automation and Control Systems.” In: IEEE International Conference on Emerging Technologies and Factory Automation. 2008, pp. 1067–1071.Search in Google Scholar

30. T. Kleanthis. “A Framework for the Implementation of Industrial Automation Systems Based on PLCs.” In: Computing Research Repository (CoRR) (2014).Search in Google Scholar

31. Technical University in Munich, Germany – Institute of Automation and Information Systems. The Pick and Place Unit Demonstrator for Evolution in Industrial Plant Automation. 2003. URL: in Google Scholar

32. The Instrumentation, Systems, and Automation Society. Batch Control Part 1: Models and Terminology. 1995.Search in Google Scholar

33. B. Vogel-Heuser et al. “Evolution of Software in Automated Production Systems: Challenges and Research Directions.” In: Journal of Systems and Software 110 (2015), pp. 54–84.10.1016/j.jss.2015.08.026Search in Google Scholar

34. B. Vogel-Heuser et al. “Modularity and Architecture of PLC-based Software for Automated Production Systems: An Analysis in Industrial Companies.” In: Journal of Systems and Software 131 (2017), pp. 35–62.10.1016/j.jss.2017.05.051Search in Google Scholar

35. V. Vyatkin. “Software Engineering in Industrial Automation: State-of-the-Art Review.” In: IEEE Transactions on Industrial Informatics 9.3 (2013), pp. 1234–1249.10.1109/TII.2013.2258165Search in Google Scholar

36. M. Weiser. “Program Slicing.” In: Proceedings of the 5th International Conference on Software Engineering.” ICSE. Piscataway, NJ, USA, 1981, pp. 439–449.Search in Google Scholar

37. R. Wettel and M. Lanza. “CodeCity: 3D Visualization of Large-scale Software.” In: Companion of the 30th International Conference on Software Engineering. ICSE Companion. 2008, pp. 921–922.Search in Google Scholar

38. N. Wilde, R. Huitt and S. Huitt. “Dependency Analysis Tools: Reusable Components for Software Maintenance.” In: Proceedings. Conference on Software Maintenance (ICSM). 1989, pp. 126–131.Search in Google Scholar

Received: 2018-03-22
Accepted: 2018-08-21
Published Online: 2018-10-17
Published in Print: 2018-10-25

© 2018 Walter de Gruyter GmbH, Berlin/Boston