[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.1145/3299771.3299799acmotherconferencesArticle/Chapter ViewAbstractPublication PagesisecConference Proceedingsconference-collections
short-paper

Automated Test Case Generation for Programmable Logic Controller Code

Published: 14 February 2019 Publication History

Abstract

With the advent of programmable logic controllers (PLCs), the use of control applications has increased significantly in the recent years. Control system software are usually embedded real time software which interacts with other physical subsystems. The language we are dealing with is IEC 61131-3 standard, a high level domain specific programming language for developing control system software. Testing of programs developed in such language is difficult because of the occurrence of real-time interrupts, exception handlers and complex data-types. Here, a symbolic execution framework SymTest is utilized to obtain test inputs of control system software. SymTest does not ensure optimal feasible paths after backtracking. In this paper an approach using pattern matching and IDA* is utilized to overcome the drawback. The symbolic execution framework is implemented for small programs in IEC 61131-3.

References

[1]
Introduction to PLC Programming and Implementation-from Relay Logic to PLC Logic. Industrial Text and Video Company, 1999.
[2]
R. Bliesener, F. Ebel, C. Loffler, B. Plagemann, H. Regber, E. Terzi, and A. Winter. Programmable Logic Controllers Basic Level. Festo, 2002.
[3]
S. Chakrabarti and S. Ramesh. Symtest: a framework for symbolic testing of embedded software. In Proceedings of the 9th India Software Engineering Conference, ISEC '16, pages 48--58, Goa, India. ACM, 2016. ISBN: 978-1-4503-4018-2. URL: http://doi.acm.org/10.1145/2856636.2856642.
[4]
S. Guo, M. Wu, and C. Wang. Symbolic execution of programmable logic controller code. In Proceedings of the 2017 11th Joint Meeting on Foundations of Software Engineering, ESEC/FSE 2017, pages 326--336, Paderborn, Germany. ACM, 2017. ISBN: 978-1-4503-5105-8. URL: http://doi.acm.org/10.1145/3106237.3106245.
[5]
L. Baresi, C. Ghezzi, and L. Mottola. On accurate automatic verification of publish-subscribe architectures. In Proceedings of the 29th International Conference on Software Engineering, ICSE '07, pages 199--208, Washington, DC, USA. IEEE Computer Society, 2007. ISBN: 0-7695-2828-7. URL: https://doi.org/10.1109/ICSE.2007.57.
[6]
A. Aiken, M. Fähndrich, and Z. Su. Detecting races in relay ladder logic programs. In Proceedings of the 4th International Conference on Tools and Algorithms for Construction and Analysis of Systems, TACAS '98, pages 184--200, Berlin, Heidelberg. Springer-Verlag, 1998. ISBN: 3-540-64356-7. URL: http://dl.acm.org/citation.cfm?id=646482.691588.
[7]
J. Nellen, K. Driessen, M. Neuhäuβer, E. brahm, And B. Wolters. Two cegar-based approaches for the safety verification of plc-controlled plants. Information Systems Frontiers, 18(5):927--952, Oct. 2016. ISSN: 1387--3326. URL: https://doi.org/10.1007/s10796-016-9671-9.
[8]
S. C. Park, C. M. Park, G.-N. Wang, J. Kwak, and S. Yeo. Plcstudio: simulation based plc code verification. In Proceedings of the 40th Conference on Winter Simulation, WSC '08, pages 222--228, Miami, Florida. Winter Simulation Conference, 2008. ISBN: 978-1-4244-2708-6. URL: http://dl.acm.org/citation.cfm?id=1516744.1516792.
[9]
Symbolic PathFinder: integrating symbolic execution with model checking for Java bytecode analysis, 2013. Automated Software Engineering.
[10]
CUTE: a concolic unit testing engine for C, 2005. 13th ACM SIGSOFT international symposium on Foundations of software engineering, ESEC/FSE-13.
[11]
MultiSE: Multi-path Symbolic Execution Using Value Summaries, 2015. 10th Joint Meeting on Foundations of Software Engineering, ESEC/FSE 2015.
[12]
Infeasible Paths in Static Analysis: Problems and Challenges, 2016. Proceedings of the 3rd International Conference on Applied Science and Technology.
[13]
Automatic detection of infeasible paths in software testing, 2010. IET Software.
[14]
A Survey of Infeasible Path Detection, 2012. International Conference on Evaluation of Novel Approaches to Software Engineering, pages 43--52.
[15]
Detecting infeasible paths via mining branch correlations, 2016. Journal of Software Engineering.
[16]
URL: http://www.motioncontroltips.com/iec-61131-3-plcopen/#respond.
[17]
IEC 61131-3 Programmer's Manual. 2004.
[18]
M. T. Karl-Heinz John. IEC 61131-3: Programming Industrial Automation Systems, Concepts and Programming Languages, Requirements for Programming Systems, Aids to Decision-Making Tools. Springer, 2001.
[19]
URL: https://algorithmsinsight.wordpress.com/graph-theory-2/ida-star-algorithm-in-general/.
[20]
S. Nair, R. Jetley, A. R. Nair, and S. Hauck-Stattelmann. A static code analysis tool for control system software. In 22nd IEEE International Conference on Software Analysis, Evolution, and Reengineering, SANER 2015, Montreal, QC, Canada, March 2-6, 2015, pages 459--463, 2015.
[21]
Z3: An Efficient SMT Solver, volume 5805. Verlag, Berlin, Heidelberg, 2008. Springer, pages 337 --340.

Cited By

View all
  • (2024)Automated Test Cases Generator for IEC 61131-3 Structured Text Based Dynamic Symbolic ExecutionIEEE Transactions on Computers10.1109/TC.2024.335128573:4(1048-1059)Online publication date: Apr-2024
  • (2022)Migrating Cyber-Physical Systems to OPC UAProcedia Computer Science10.1016/j.procs.2022.01.226200(276-283)Online publication date: 2022
  • (2021)Testing Autogenerated OPC UA NodeSet Models for Product Variants in IndustrySoftware Quality: Future Perspectives on Software Engineering Quality10.1007/978-3-030-65854-0_2(15-29)Online publication date: 6-Jan-2021

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Other conferences
ISEC '19: Proceedings of the 12th Innovations in Software Engineering Conference (formerly known as India Software Engineering Conference)
February 2019
238 pages
ISBN:9781450362153
DOI:10.1145/3299771
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

In-Cooperation

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 14 February 2019

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Programmable Logic Controllers
  2. Symbolic Execution
  3. Test generation

Qualifiers

  • Short-paper
  • Research
  • Refereed limited

Conference

ISEC'19

Acceptance Rates

Overall Acceptance Rate 76 of 315 submissions, 24%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)19
  • Downloads (Last 6 weeks)0
Reflects downloads up to 31 Dec 2024

Other Metrics

Citations

Cited By

View all
  • (2024)Automated Test Cases Generator for IEC 61131-3 Structured Text Based Dynamic Symbolic ExecutionIEEE Transactions on Computers10.1109/TC.2024.335128573:4(1048-1059)Online publication date: Apr-2024
  • (2022)Migrating Cyber-Physical Systems to OPC UAProcedia Computer Science10.1016/j.procs.2022.01.226200(276-283)Online publication date: 2022
  • (2021)Testing Autogenerated OPC UA NodeSet Models for Product Variants in IndustrySoftware Quality: Future Perspectives on Software Engineering Quality10.1007/978-3-030-65854-0_2(15-29)Online publication date: 6-Jan-2021

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media