Custom-Tailored Clone Detection for IEC 61131-3 Programming Languages
Kamil Rosiak, Alexander Schlie, Lukas Linsbauer, Birgit, Vogel-Heuser, Ina Schaefer

TL;DR
This paper presents a tailored clone detection approach for IEC 61131-3 programming languages to improve the development and maintenance of automated production systems by analyzing code clones within and across variants.
Contribution
It introduces a novel clone detection method specifically designed for IEC 61131-3 languages, addressing the unique challenges of clone analysis in PLC-based systems.
Findings
Effective detection of code clones within variants
Identification of commonalities and differences across variants
Facilitation of system refactoring and reuse
Abstract
Automated production systems (aPS) are highly customized systems that consist of hardware and software. Such aPS are controlled by a programmable logic controller (PLC), often in accordance with the IEC 61131-3 standard that divides system implementation into so-called program organization units (POUs) as the smallest software unit and is comprised of multiple textual and graphical programming languages that can be arbitrarily nested. A common practice during the development of such systems is reusing implementation artifacts by copying, pasting, and then modifying code. This approach is referred to as code cloning. It is used on a fine-granular level where a POU is cloned within a system variant. It is also applied on the coarse-granular system level, where the entire system is cloned and adapted to create a system variant, for example for another customer. This ad hoc practice for the…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Engineering Research · Software Reliability and Analysis Research · Advanced Software Engineering Methodologies
