English
Related papers

Related papers: Automated Deductive Verification for Ladder Progra…

200 papers

Automatic software verification tools help to find hard-to-detect faults in programs checked against specified requirements non-interactively. Besides, they can prove program correctness formally under certain assumptions. These…

Software Engineering · Computer Science 2023-09-29 Ilja Zakharov , Evgeny Novikov , Ilya Shchepetkov

Reversible debugging is becoming increasingly popular for locating the source of errors. This technique proposes a more natural approach to debugging, where one can explore a computation from the observable misbehaviour backwards to the…

Programming Languages · Computer Science 2022-06-22 Germán Vidal

Nowadays, formal methods are used in various areas for the verification of programs or for code generation from models in order to increase the quality of software and to reduce costs. However, there are still fields in which formal methods…

Software Engineering · Computer Science 2021-07-01 Matthias Weiß , Philipp Marks , Benjamin Maschler , Dustin White , Pascal Kesseli , Michael Weyrich

We present \synver{}, a novel synthesis and verification framework for C programs, that deploys a Large Language Model (LLM) to search for a candidate program that satisfies the given specification. Our key idea is to impose syntactic and…

Programming Languages · Computer Science 2025-10-21 Prasita Mukherjee , Benjamin Delaware

In this report we describe a tool framework for certifying properties of PLCs: CERTPLC. CERTPLC can handle PLC descriptions provided in the Sequential Function Chart (SFC) language of the IEC 61131-3 standard. It provides routines to…

Software Engineering · Computer Science 2015-03-19 Jan Olaf Blech

This paper shows the debugging facilities provided by the SLAM system. The SLAM system includes i) a specification language that integrates algebraic specifications and model-based specifications using the object oriented model. Class…

Programming Languages · Computer Science 2007-05-23 Angel Herrranz-Nieva Juan Jose Moreno Navarro

Fully automated verification of large-scale software and hardware systems is arguably the holy grail of formal methods. Large language models (LLMs) have recently demonstrated their potential for enhancing the degree of automation in formal…

Software Engineering · Computer Science 2026-03-11 Zhongyi Wang , Tengjie Lin , Mingshuai Chen , Haokun Li , Mingqi Yang , Xiao Yi , Shengchao Qin , Yixing Luo , Xiaofeng Li , Bin Gu , Liqiang Lu , Jianwei Yin

Among areas of software engineering where AI techniques -- particularly, Large Language Models -- seem poised to yield dramatic improvements, an attractive candidate is Automatic Program Repair (APR), the production of satisfactory…

Software Engineering · Computer Science 2025-08-05 Li Huang , Ilgiz Mustafin , Marco Piccioni , Alessandro Schena , Reto Weber , Bertrand Meyer

LLMs trained in the understanding of programming syntax are now providing effective assistance to developers and are being used in programming education such as in generation of coding problem examples or providing code explanations. A key…

Artificial Intelligence · Computer Science 2024-11-19 Yanggyu Lee , Suchae Jeong , Jihie Kim

Modern program verifiers use logic-based encodings of the verification problem that are discharged by a back end reasoning engine. However, instances of such encodings for large programs can quickly overwhelm these back end solvers. Hence,…

Logic in Computer Science · Computer Science 2016-07-18 Peter Schrammel

Slicing is a program analysis technique originally developed for imperative languages. It facilitates understanding of data flow and debugging. This paper discusses slicing of Constraint Logic Programs. Constraint Logic Programming (CLP) is…

Software Engineering · Computer Science 2007-05-23 Gyongyi Szilagyi , Tibor Gyimothy , Jan Maluszynski

2LS ("tools") is a verification tool for C programs, built upon the CPROVER framework. It allows one to verify user-specified assertions, memory safety properties (e.g. buffer overflows), numerical overflows, division by zero, memory leaks,…

Software Engineering · Computer Science 2023-02-07 Daniel Kroening , Viktor Malík , Peter Schrammel , Tomáš Vojnar

This paper introduces several techniques that improve the scalability of the deductive verification of data-level programs working on arrays and matrices. First of all, we introduce a technique to rewrite expressions with (nested)…

Software Engineering · Computer Science 2026-05-14 Lars B. van den Haak , Anton Wijs , Marieke Huisman

Large language models (LLMs) providing generative AI have become popular to support software engineers in creating, summarizing, optimizing, and documenting source code. It is still unknown how LLMs can support control engineers using…

Software Engineering · Computer Science 2023-05-26 Heiko Koziolek , Sten Gruener , Virendra Ashiwal

Higher-order constructs extend the expressiveness of first-order (Constraint) Logic Programming ((C)LP) both syntactically and semantically. At the same time assertions have been in use for some time in (C)LP systems helping programmers…

Programming Languages · Computer Science 2014-04-17 Nataliia Stulova , José F. Morales , Manuel V. Hermenegildo

Some approaches to increasing program reliability involve a disciplined use of programming languages so as to minimise the hazards introduced by error-prone features. This is realised by writing code that is constrained to a subset of the a…

Programming Languages · Computer Science 2007-11-06 Guillem Marpons-Ucero , Julio Mariño , Ángel Herranz , Lars-Åke Fredlund , Manuel Carro , Juan José Moreno-Navarro

Uncertain information is being taken into account in an increasing number of application fields. In the meantime, abduction has been proved a powerful tool for handling hypothetical reasoning and incomplete knowledge. Probabilistic logical…

Artificial Intelligence · Computer Science 2022-02-04 Elena Bellodi , Marco Gavanelli , Riccardo Zese , Evelina Lamma , Fabrizio Riguzzi

Environments for systematic construction of logic programs are needed in the academy as well as in the industry. Such environments should support well defined construction methods and should be able to be extended and interact with other…

Programming Languages · Computer Science 2007-05-23 Gustavo A. Ospina , Baudouin Le Charlier

Programmable Logic Controllers (PLCs) are a core component of an Industrial Control System (ICS). However, if a PLC is compromised or the commands sent across a network from the PLCs are spoofed, consequences could be catastrophic. In this…

Cryptography and Security · Computer Science 2021-02-19 Chuadhry Mujeeb Ahmed , Martin Ochoa , Jianying Zhou , Aditya Mathur

Concurrent programming under weak memory concurrency faces substantial challenges to ensure correctness due to program behaviors that cannot be explained by thread interleaving, a.k.a. sequential consistency. While several program logics…

Logic in Computer Science · Computer Science 2026-04-24 Ömer Şakar , Soham Chakraborty , Marieke Huisman , Anton Wijs