Exploring Code Clones in Programmable Logic Controller Software

被引:0
作者
Thaller, Hannes [1 ]
Ramler, Rudolf [2 ]
Pichler, Josef [2 ]
Egyed, Alexander [1 ]
机构
[1] Johannes Kepler Univ Linz, Inst Software Syst Engn, Linz, Austria
[2] Software Competence Ctr Hagenberg GmbH, Hagenberg, Austria
来源
2017 22ND IEEE INTERNATIONAL CONFERENCE ON EMERGING TECHNOLOGIES AND FACTORY AUTOMATION (ETFA) | 2017年
关键词
D O I
暂无
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
The reuse of code fragments by copying and pasting is widely practiced in software development and results in code clones. Cloning is considered an anti-pattern as it negatively affects program correctness and increases maintenance efforts. Programmable Logic Controller (PLC) software is no exception in the code clone discussion as reuse in development and maintenance is frequently achieved through copy, paste, and modification. Even though the presence of code clones may not necessary be a problem per se, it is important to detect, track and manage clones as the software system evolves. Unfortunately, tool support for clone detection and management is not commonly available for PLC software systems or limited to generic tools with a reduced set of features. In this paper, we investigate code clones in a real-world PLC software system based on IEC 61131-3 Structured Text and C/C++. We extended a widely used tool for clone detection with normalization support. Furthermore, we evaluated the different types and natures of code clones in the studied system and their relevance for refactoring. Results shed light on the applicability and usefulness of clone detection in the context of industrial automation systems and it demonstrates the benefit of adapting detection and management tools for IEC 611313-3 languages.
引用
收藏
页数:8
相关论文
共 50 条
[21]   Automated Reconstruction of Control Logic for Programmable Logic Controller Forensics [J].
Qasim, Syed Ali ;
Lopez, Juan, Jr. ;
Ahmed, Irfan .
INFORMATION SECURITY, ISC 2019, 2019, 11723 :402-422
[22]   About Programmable Logic Controller - step by step [J].
Hrynkiewicz, Edward ;
Chmiel, Miroslaw .
PRZEGLAD ELEKTROTECHNICZNY, 2012, 88 (9A) :303-307
[23]   Development of a low cost programmable logic controller [J].
Kay, Marcel Seiji ;
Iaione, Fabio ;
Riccio Barbosa, Andrea Teresa ;
da Silva Sacchi, Rodrigo Porfirio ;
Viana Aguiar Odakura, Valguima Victoria .
2012 BRAZILIAN SYMPOSIUM ON COMPUTING SYSTEM ENGINEERING (SBESC 2012), 2012, :49-52
[24]   State controller design in programmable logic controllers [J].
Balasevicius, L. ;
Janusevicius, V. S. ;
Zakaraite, S. .
ELEKTRONIKA IR ELEKTROTECHNIKA, 2008, (01) :19-22
[25]   INDUSTRIAL AUTOMATION USING PROGRAMMABLE LOGIC CONTROLLER [J].
Srinivas, R. Maruthi ;
Rajagopal, V. .
ICMEE 2009: PROCEEDINGS OF THE 2009 INTERNATIONAL CONFERENCE ON MECHANICAL AND ELECTRONICS ENGINEERING, 2010, :303-307
[26]   Evaluation of Optimization Solvers on Programmable Logic Controller [J].
Purohit, Amit ;
Buch, Jyot .
2015 IEEE CONFERENCE ON CONTROL AND APPLICATIONS (CCA 2015), 2015, :533-538
[27]   Transformation of education on the course of programmable logic controller [J].
Ke, H. S. ;
Wang, Wei ;
Wei, Dong .
2010 INTERNATIONAL CONFERENCE ON EDUCATION AND SPORTS EDUCATION, VOL 1, 2010, :205-206
[28]   Programmable logic controller for safety critical systems [J].
Halang, Wolfgang A. ;
Jung, Soon-Key .
High integrity systems, 1994, 1 (02) :179-193
[29]   FORENSIC ANALYSIS OF A SIEMENS PROGRAMMABLE LOGIC CONTROLLER [J].
Chan, Raymond ;
Chow, Kam-Pui .
CRITICAL INFRASTRUCTURE PROTECTION X, 2016, 485 :117-130
[30]   A programmable logic controller for safety related applications [J].
Sniezek, M .
NEW TECHNOLOGIES FOR COMPUTER CONTROL 2001, 2002, :541-546