Skip to content
Licensed Unlicensed Requires Authentication Published by De Gruyter (O) May 8, 2023

A model-based mutation framework for IEC61131-3 manufacturing systems

Modellbasiertes Mutation-Framework für IEC61131-3 Fertigungssysteme
  • Kamil Rosiak

    Kamil Rosiak is a research assistant at the Institute of Software Engineering and Automotive Informatics. Before, he worked in the field of electronic intelligence and received his master’s degree in 2019. His research interests are on reverse-engineering of legacy software systems and the analysis of programming languages.

    EMAIL logo
    , Lukas Linsbauer

    Lukas Linsbauer is currently a postdoctoral researcher at the Institute of Software Engineering and Automotive Informatics at the Technical University of Braunschweig in Germany. He received his Ph.D. from the Johannes Kepler University Linz in Austria where he also spent time as a postdoctoral researcher at the Institute for Software Systems Engineering and the Christian Doppler Laboratory for Monitoring and Evolution of Very-Large-Scale Software Systems. His research interests include software product lines and version control systems.

    , Birgit Vogel-Heuser

    Birgit Vogel-Heuser is a Professor and Director of the Institute of Automation and Information Systems at Technical University of Munich. Her main research interests are systems and software engineering, and modeling of distributed and reliable embedded systems for automation and automated Production Systems.

    and Ina Schaefer

    Ina Schaefer is chair of the Test, Validation and Analysis of Software-Intensive Systems department at the Institute of Information Security and Dependability (KASTEL), at Kalsruhe Institute of Technology, Germany. Before that she was head of the Institute of Software Engineering and Automotive Informatics at the Technical University of Braunschweig, Germany. She received her Ph.D. from the TU Kaiserslautern and worked as a postdoctoral researcher at the Chalmers University of Technology in Gothenburg, Sweden. Her research interests are verification and testing methods for variant-rich and evolving software systems.

Abstract

This article presents a model-based mutation framework for creating mutant systems implemented in IEC61131-3 languages. The framework is based on a meta-model of the IEC61131-3 standard. It supports 21 mutation operations, such as the addition or removal of POUs or the mutation of Structured Text and Sequential Functional Charts. Moreover, operations can be combined to create higher-order changes, such as Type III code clones. The mutation framework can be used to evaluate and improve development tools for supporting the evolution of manufacturing systems, such as regression test suite generators or clone detectors.

Zusammenfassung

Dieser Artikel stellt ein modellbasiertes Mutation-Framework zum Erstellen von Systeme Mutanten von in IEC61131-3-Sprachen implementiert Varianten vor. Das Framework basiert auf einem Metamodell der IEC61131-3. Es unterstützt 21 Mutation-Operationen, wie das Hinzufügen oder Entfernen von POUs oder die Mutation von strukturiertem Text und sequentiellen Funktionsdiagrammen. Darüber hinaus können Operationen kombiniert werden, um Anderungen höherer Ordnung zu erzeugen, wie z. B. Typ~III-Klone. Das Mutation-Framework kann verwendet werden, um Entwicklungswerkzeuge zur Unterstützung der Evolution von Fertigungssystemen zu evaluieren und zu verbessern, wie z. B. Regressionstest-Suite-Generatoren oder Klon-Detektoren.


Corresponding author: Kamil Rosiak, Institute of Software Engineering and Automotive Informatics, Technische Universität Braunschweig, Braunschweig, Germany, E-mail:

Funding source: DFG (German Research Foundation)

Award Identifier / Grant number: SCHA 1635/12-1, VO 937/31-1

About the authors

Kamil Rosiak

Kamil Rosiak is a research assistant at the Institute of Software Engineering and Automotive Informatics. Before, he worked in the field of electronic intelligence and received his master’s degree in 2019. His research interests are on reverse-engineering of legacy software systems and the analysis of programming languages.

Lukas Linsbauer

Lukas Linsbauer is currently a postdoctoral researcher at the Institute of Software Engineering and Automotive Informatics at the Technical University of Braunschweig in Germany. He received his Ph.D. from the Johannes Kepler University Linz in Austria where he also spent time as a postdoctoral researcher at the Institute for Software Systems Engineering and the Christian Doppler Laboratory for Monitoring and Evolution of Very-Large-Scale Software Systems. His research interests include software product lines and version control systems.

Birgit Vogel-Heuser

Birgit Vogel-Heuser is a Professor and Director of the Institute of Automation and Information Systems at Technical University of Munich. Her main research interests are systems and software engineering, and modeling of distributed and reliable embedded systems for automation and automated Production Systems.

Ina Schaefer

Ina Schaefer is chair of the Test, Validation and Analysis of Software-Intensive Systems department at the Institute of Information Security and Dependability (KASTEL), at Kalsruhe Institute of Technology, Germany. Before that she was head of the Institute of Software Engineering and Automotive Informatics at the Technical University of Braunschweig, Germany. She received her Ph.D. from the TU Kaiserslautern and worked as a postdoctoral researcher at the Chalmers University of Technology in Gothenburg, Sweden. Her research interests are verification and testing methods for variant-rich and evolving software systems.

  1. Author contributions: All the authors have accepted responsibility for the entire content of this submitted manuscript and approved submission.

  2. Research funding: This work has been supported by the DFG (German Research Foundation) (SCHA 1635/12-1) and (VO 937/31-1).

  3. Conflict of interest statement: The authors declare no conflicts of interest regarding this article.

References

[1] B. Vogel-Heuser, A. Fay, I. Schaefer, and M. Tichy, “Evolution of software in automated production systems: challenges and research directions,” J. Syst. Software, vol. 110, pp. 54–84, 2015. https://doi.org/10.1016/j.jss.2015.08.026.Search in Google Scholar

[2] Z. Durdik, B. Klatt, H. Koziolek, K. Krogmann, J. Stammel, and R. Weiss, “Towards sustainability guidelines for long-living software systems,” in ICSM, 2012, pp. 517–526.10.1109/ICSM.2012.6405316Search in Google Scholar

[3] J. Rubin and M. Chechik, “Quality of merge-refactorings for product lines,” in FASE, Springer, 2013, pp. 83–98.10.1007/978-3-642-37057-1_7Search in Google Scholar

[4] C. Kumar Roy and J. R. Cordy, “A survey on software clone detection research,” in Queen’s School of Computing Technical Report, vol. 541, 2007, pp. 64–68.Search in Google Scholar

[5] C. K. Roy and J. R. Cordy, “Benchmarks for software clone detection: a ten-year retrospective,” in 2018 IEEE 25th International Conference on Software Analysis, Evolution and Reengineering (SANER), IEEE, 2018, pp. 26–37.10.1109/SANER.2018.8330194Search in Google Scholar

[6] Y. Jia and M. Harman, “An analysis and survey of the development of mutation testing,” IEEE Trans. Software Eng., vol. 37, no. 5, pp. 649–678, 2010. https://doi.org/10.1109/tse.2010.62.Search in Google Scholar

[7] R. Geist, A. J. Offutt, F. C. Harris, and J. Rickc, “Estimation and enhancement of real-time software reliability through mutation analysis,” IEEE Trans. Comput., vol. 41, no. 5, pp. 550–558, 1992. https://doi.org/10.1109/12.142681.Search in Google Scholar

[8] M. Mondal, C. K. Roy, and K. A. Schneider, “A survey on clone refactoring and tracking,” J. Syst. Software (JSS), vol. 159, pp. 110–429, 2020. https://doi.org/10.1016/j.jss.2019.110429.Search in Google Scholar

[9] E. Juergens, F. Deissenboeck, B. Hummel, and S. Wagner, “Do code clones matter?” in 2009 IEEE 31st International Conference on Software Engineering, IEEE, 2009, pp. 485–495.10.1109/ICSE.2009.5070547Search in Google Scholar

[10] N. Saini, S. Singh, and Suman, “Code clones: detection and management,” Procedia Comput. Sci., vol. 132, pp. 718–727, 2018. https://doi.org/10.1016/j.procs.2018.05.080.Search in Google Scholar

[11] International Electrotechnical Commision, “Programming Languages,” in Programmable Logic Controllers – Part 3, Geneva, Switzerland, International Electrotechnical Commision, 2009.Search in Google Scholar

[12] K. Rosiak, A. Schlie, L. Linsbauer, B. Vogel-Heuser, and I. Schaefer, “Custom-tailored clone detection for iec 61131-3 programming languages,” J. Syst. Software, vol. 182, p. 111070, 2021. https://doi.org/10.1016/j.jss.2021.111070.Search in Google Scholar

[13] J. Svajlenko and C. K. Roy, “Evaluating modern clone detection tools,” in 2014 IEEE International Conference on Software Maintenance and Evolution, IEEE, 2014, pp. 321–330.10.1109/ICSME.2014.54Search in Google Scholar

[14] D. M. W. Powers, “Evaluation: from precision, recall and f-measure to roc, informedness, markedness and correlation,” J. Mach. Learn. Technol., vol. 2, no. 1, pp. 37–63, 2011.Search in Google Scholar

[15] Birgit Vogel-Heuser, Bougouffa Safa, and Michael Sollfrank, Technical University in Munich, Germany – Institute of Automation and Information Systems, “Researching evolution in industrial plant automation: Scenarios and documentation of the pick and place uni,” Technical Report No. TUM-AIS-TR-02-18-06, 2018.Search in Google Scholar

[16] B. Vogel-Heuser, S. Feldmann, J. Folmer, et al.., “Selected challenges of software evolution for automated production systems,” in 2015 IEEE 13th International Conference on Industrial Informatics (INDIN), IEEE, 2015, pp. 314–321.10.1109/INDIN.2015.7281753Search in Google Scholar

[17] B. Vogel-Heuser, C. Legat, J. Folmer, and S. Feldmann, “Researching evolution in industrial plant automation: scenarios and documentation of the pick and place unit,” Institute of Automation and Information Systems, Technische Universität München, Technical Report, 2014.Search in Google Scholar

[18] J. Svajlenko, C. K. Roy, and S. Duszynski, “Forksim: generating software forks for evaluating cross-project similarity analysis tools,” in 2013 IEEE 13th International Working Conference on Source Code Analysis and Manipulation (SCAM), 2013, pp. 37–42.10.1109/SCAM.2013.6648182Search in Google Scholar

[19] L. Ma, F. Zhang, J. Sun, et al.., “Deepmutation: mutation testing of deep learning systems,” in 2018 IEEE 29th International Symposium on Software Reliability Engineering (ISSRE), IEEE, 2018, pp. 100–111.10.1109/ISSRE.2018.00021Search in Google Scholar

[20] E. Martin and T. Xie, “A fault model and mutation testing of access control policies,” in Proceedings of the 16th International Conference on World Wide Web, 2007, pp. 667–676.10.1145/1242572.1242663Search in Google Scholar

[21] W. E. Wong and A. P. Mathur, “Reducing the cost of mutation testing: an empirical study,” J. Syst. Software, vol. 31, no. 3, pp. 185–196, 1995. https://doi.org/10.1016/0164-1212(94)00098-0.Search in Google Scholar

Received: 2022-10-01
Accepted: 2023-01-26
Published Online: 2023-05-08
Published in Print: 2023-05-25

© 2023 Walter de Gruyter GmbH, Berlin/Boston

Downloaded on 28.4.2024 from https://www.degruyter.com/document/doi/10.1515/auto-2022-0125/html
Scroll to top button