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 条
  • [21] Neuroimaging, Genetics, and Clinical Data Sharing in Python']Python Using the CubicWeb Framework
    Grigis, Antoine
    Goyard, David
    Cherbonnier, Robin
    Gareau, Thomas
    Orfanos, Dimitri Papadopoulos
    Chauvat, Nicolas
    Di Mascio, Adrien
    Schumann, Gunter
    Spooren, Will
    Murphy, Declan
    Frouin, Vincent
    FRONTIERS IN NEUROINFORMATICS, 2017, 11
  • [22] Software/Hardware Framework for Generating Parallel Gaussian Random Numbers Based on the Monty Python']Python Method
    Li, Yuan
    Chow, Paul
    Jiang, Jiang
    Zhang, Minxuan
    Wei, Shaojun
    2012 INTERNATIONAL CONFERENCE ON FIELD-PROGRAMMABLE TECHNOLOGY (FPT'12), 2012, : 190 - 197
  • [23] Test Case Generation for Python']Python Libraries using Dependent Projects' Test-Suites
    Morisaki, Keita
    Shimari, Kazumasa
    Ishio, Takashi
    Matsumoto, Kenichi
    2024 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE ANALYSIS, EVOLUTION AND REENGINEERING-COMPANION, SANER-C 2024, 2024, : 167 - 174
  • [24] Using Relative Lines of Code to Guide Automated Test Generation for Python']Python
    Holmes, Josie
    Ahmed, Iftekhar
    Brindescu, Caius
    Gopinath, Rahul
    Zhang, He
    Groce, Alex
    ACM TRANSACTIONS ON SOFTWARE ENGINEERING AND METHODOLOGY, 2020, 29 (04)
  • [25] Generation of Test Questions from RDF Files Using PYTHON']PYTHON and SPARQL
    Omarbekova, Assel
    Sharipbay, Altynbek
    Barlybaev, Alibek
    2017 INTERNATIONAL CONFERENCE ON CONTROL ENGINEERING AND ARTIFICIAL INTELLIGENCE (CCEAI 2017), 2017, 806
  • [26] NLMpy: a PYTHON']PYTHON software package for the creation of neutral landscape models within a general numerical framework
    Etherington, Thomas R.
    Holland, E. Penelope
    O'Sullivan, David
    METHODS IN ECOLOGY AND EVOLUTION, 2015, 6 (02): : 164 - 168
  • [27] Using the uniqueness of global identifiers to determine the provenance of Python']Python software source code
    Sun, Yiming
    German, Daniel
    Zacchiroli, Stefano
    EMPIRICAL SOFTWARE ENGINEERING, 2023, 28 (05)
  • [28] On parallel software engineering education using python
    Ami Marowka
    Education and Information Technologies, 2018, 23 : 357 - 372
  • [29] A lightweight web-based application framework for Web 2.0 using Python']Python
    Chun, Andy Hon Wai
    WSEAS: ADVANCES ON APPLIED COMPUTER AND APPLIED COMPUTATIONAL SCIENCE, 2008, : 324 - +
  • [30] Gsmodutils: a python']python based framework for test-driven genome scale metabolic model development
    Gilbert, James
    Pearcy, Nicole
    Norman, Rupert
    Millat, Thomas
    Winzer, Klaus
    King, John
    Hodgman, Charlie
    Minton, Nigel
    Twycross, Jamie
    BIOINFORMATICS, 2019, 35 (18) : 3397 - 3403