PyLC: A Framework for Transforming and Validating PLC Software using Python']Python and Pynguin Test Generator

被引:4
|
作者
Salari, Mikael Ebrahimi [1 ]
Enoiu, Eduard Paul [1 ]
Afzal, Wasif [1 ]
Seceleanu, Cristina [1 ]
机构
[1] Malardalen Univ, Vasteras, Sweden
基金
欧盟地平线“2020”;
关键词
PLC; !text type='Python']Python[!/text; Code translation; FBD; ST; Pynguin; IEC; 61131-3; Translation validation;
D O I
10.1145/3555776.3577698
中图分类号
TP39 [计算机的应用];
学科分类号
081203 ; 0835 ;
摘要
Many industrial application domains utilize safety-critical systems to implement Programmable Logic Controllers (PLCs) software. These systems typically require a high degree of testing and stringent coverage measurements that can be supported by state-of-theart automated test generation techniques. However, their limited application to PLCs and corresponding development environments can impact the use of automated test generation. Thus, it is necessary to tailor and validate automated test generation techniques against relevant PLC tools and industrial systems to efficiently understand how to use them in practice. In this paper, we present a framework called PyLC, which handles PLC programs written in the Function Block Diagram and Structured Text languages such that programs can be transformed into Python. To this end, we use PyLC to transform industrial safety-critical programs, showing how our approach can be applied to manually and automatically create tests in the CODESYS development environment. We use behaviour-based, translation rules-based, and coverage-generated tests to validate the PyLC process. Our work shows that the transformation into Python can help bridge the gap between the PLC development tools, Python-based unit testing, and test generation.
引用
收藏
页码:1476 / 1485
页数:10
相关论文
共 50 条
  • [1] Automating Test Generation of Industrial Control Software through a PLC-to-Python']Python Translation Framework and Pynguin
    Salari, Mikael Ebrahimi
    Enoiu, Eduard Paul
    Seceleanu, Cristina
    Afzal, Wasif
    Sebek, Filip
    PROCEEDINGS OF THE 2023 30TH ASIA-PACIFIC SOFTWARE ENGINEERING CONFERENCE, APSEC 2023, 2023, : 431 - 440
  • [2] Pynguin: Automated Unit Test Generation for Python']Python
    Lukasczyk, Stephan
    Fraser, Gordon
    2022 ACM/IEEE 44TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING: COMPANION PROCEEDINGS (ICSE-COMPANION 2022), 2022, : 168 - 172
  • [3] Pynguin: Automated Unit Test Generation for Python
    Lukasczyk, Stephan
    Fraser, Gordon
    arXiv, 2022,
  • [4] Development of Word Cloud Generator Software Based on Python']Python
    Jin, Yuping
    13TH GLOBAL CONGRESS ON MANUFACTURING AND MANAGEMENT, 2017, 174 : 788 - 792
  • [5] PyDriller: Python']Python Framework for Mining Software Repositories
    Spadini, Davide
    Aniche, Maurcio
    Bacchelli, Alberto
    ESEC/FSE'18: PROCEEDINGS OF THE 2018 26TH ACM JOINT MEETING ON EUROPEAN SOFTWARE ENGINEERING CONFERENCE AND SYMPOSIUM ON THE FOUNDATIONS OF SOFTWARE ENGINEERING, 2018, : 908 - 911
  • [6] On parallel software engineering education using python']python
    Marowka, Ami
    EDUCATION AND INFORMATION TECHNOLOGIES, 2018, 23 (01) : 357 - 372
  • [7] Rapid Development of Interferometric Software Using MIRIAD and Python']Python
    Williams, Peter K. G.
    Law, Casey J.
    Bower, Geoffrey C.
    PUBLICATIONS OF THE ASTRONOMICAL SOCIETY OF THE PACIFIC, 2012, 124 (916) : 624 - 636
  • [8] A new design of scientific software using python']python and XML
    Gross, Lutz
    Muhlhaus, Hans
    Thorne, Elspeth
    Steube, Ken
    PURE AND APPLIED GEOPHYSICS, 2008, 165 (3-4) : 653 - 670
  • [9] A Parametric Framework to Generate Visual Illusions Using Python']Python
    Makowski, Dominique
    Lau, Zen J.
    Pham, Tam
    Paul Boyce, W.
    Annabel Chen, S. H.
    PERCEPTION, 2021, 50 (11) : 950 - 965
  • [10] A Parametric Framework to Generate Visual Illusions using Python']Python
    Lau, Zen Juen
    Makowski, Dominique
    Pham, Tam
    Boyce, W. Paul
    Chen, S. H. Annabel
    PERCEPTION, 2021, 50 (1_SUPPL) : 196 - 196