Skip to main navigation Skip to search Skip to main content

Multi-level analysis of IEC 61131-3 languages to detect clones

H K Jnanamurthy, Raoul Jetley, Frans Henskens, David Paul, Mark Wallis, S D Sudarsan

Research output: Contribution to journalArticlepeer-review

2 Citations (Scopus)

Abstract

Nowadays, automation can be assisted by using programmable logic controllers (PLCs). PLCs are typically programmed with IEC 61131-3 languages to automate and implement the applications. PLC program classification plays an important role in the identification of similar functionality, which can be considered as software clones. In this paper, we present work to identify clones in IEC 61131-3 languages, using an approach based on four different perspectives: (a) clone prediction: filtering based on heuristics; (b) structural analysis: detect syntactic code clones; (c) semantic analysis: analysis of output variable dependency and input variable impact usage to detect semantic clones; (d) variable interval analysis: analysis of each program variable intervals to examine and detect clones. Our approach is a combination of structural, semantic and data interval based analysis. As a result, our approach is feasible and yields good results in detecting clones on our test data.

Original languageEnglish
Pages (from-to)286-299
JournalInternational Journal of Computer Applications in Technology
Volume63
Issue number4
Early online date19 Oct 2020
DOIs
Publication statusPublished - 31 Dec 2020

Keywords

  • structural clones
  • variable interval analysis
  • controller programs
  • software maintenance
  • Computer Science, Interdisciplinary Applications
  • Computer Science
  • semantic clones

Fingerprint

Dive into the research topics of 'Multi-level analysis of IEC 61131-3 languages to detect clones'. Together they form a unique fingerprint.

Cite this