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 条
  • [1] USER SOFTWARE FOR PROGRAMMABLE LOGIC CONTROLLER
    GARDNER, RE
    INSTRUMENTATION TECHNOLOGY, 1975, 22 (05): : 33 - 36
  • [2] Symbolic Execution of Programmable Logic Controller Code
    Guo, Shengjian
    Wu, Meng
    Wang, Chao
    ESEC/FSE 2017: PROCEEDINGS OF THE 2017 11TH JOINT MEETING ON FOUNDATIONS OF SOFTWARE ENGINEERING, 2017, : 326 - 336
  • [3] Automated Test Case Generation for Programmable Logic Controller Code
    Suresh, Varsha P.
    Chakrabarti, Sujit
    Jetley, Raoul
    PROCEEDINGS OF THE 12TH INNOVATIONS ON SOFTWARE ENGINEERING CONFERENCE (ISEC), 2019,
  • [4] Exploring the Impact of Code Clones on Deep Learning Software
    Mo, Ran
    Zhang, Yao
    Wang, Ush Uo
    Zhang, Uan
    Xiong, Pu
    Li, Zengyang
    Zhao, Yang
    ACM TRANSACTIONS ON SOFTWARE ENGINEERING AND METHODOLOGY, 2023, 32 (06)
  • [5] SUPPORT SOFTWARE FOR THE DEVELOPMENT OF PROGRAMMABLE LOGIC-CONTROLLER APPLICATIONS
    HASSAPIS, G
    PAPADOPOULOS, J
    REAL-TIME SYSTEMS, 1995, 9 (02) : 173 - 193
  • [6] Programmable Logic Controller: Open Source Hardware and Software for Massive Training
    Easwaran, E. Vishnu
    Tigadi, Nivedita
    Chipkar, Akshay
    Akshai, M.
    Kushalkar, Rajesh
    Moudgalya, Kannan M.
    Zoitl, Alois
    Alves, Thiago
    IECON 2018 - 44TH ANNUAL CONFERENCE OF THE IEEE INDUSTRIAL ELECTRONICS SOCIETY, 2018, : 2422 - 2427
  • [7] An investigation into programmable logic controller software design techniques in the automotive industry
    Hajarnavis, Vivek
    Young, Ken
    ASSEMBLY AUTOMATION, 2008, 28 (01) : 43 - 54
  • [8] Programmable Logic Controller Forensics
    Ahmed, Irfan
    Obermeier, Sebastian
    Sudhakaran, Sneha
    Roussev, Vassil
    IEEE SECURITY & PRIVACY, 2017, 15 (06) : 18 - 24
  • [9] Software design specification and analysis technique for the safety critical software based on programmable logic controller (PLC)
    Koo, SR
    Seong, PH
    Cha, SD
    EIGHTH IEEE INTERNATIONAL SYMPOSIUM ON HIGH ASSURANCE SYSTEMS ENGINEERING, PROCEEDINGS, 2004, : 283 - 284
  • [10] Programmable logic controller simulation on a microcomputer
    Parker, Joey K.
    CoED, 1990, 10 (01): : 9 - 13