HK, J., Jetley, R., Henskens, F., Paul, D., Wallis, M., SD, S. “Analysis of Industrial Control System Software to Detect Semantic Clones”, International Conference on Industrial Technology (ICIT19), Melbourne, Australia, IEEE, February 2019.
The detection of software clones is gaining more attention due to the advantages it can bring to software maintenance. Clone detection helps in code optimization (code present in multiple locations can be updated and optimized once), bug detection (discovering bugs that are copied to various locations in the code), and analysis of re-used code in software systems. There are several approaches to detect clones at the code level, but existing methods do not address the issue of clone detection in the PLC-based IEC 61131-3 languages. In this paper, we present a novel approach to detect clones in PLC-based IEC 61131-3 software using semantic-based analysis. For the semantic analysis, we use I/O based dependency analysis to detect PLC program clones. Our approach is a semantic-based technique to identify clones, making it feasible even for large code bases. Further, experiments indicate that the proposed method is successful in identifying software clones.