English
Related papers

Related papers: Debugging Program Verification Proof Scripts (Tool…

200 papers

Recent advancements in quantum computing software are gradually increasing the scope and size of quantum programs being developed. At the same time, however, these larger programs provide more possibilities for functional errors that are…

Quantum Physics · Physics 2024-12-18 Damian Rovara , Lukas Burgholzer , Robert Wille

Ladder Logics is a programming language standardized in IEC 61131-3 and widely used for programming industrial Programmable Logic Controllers (PLC). A PLC program consists of inputs (whose values are given at runtime by factory sensors),…

Software Engineering · Computer Science 2019-12-24 Denis Cousineau , David Mentré , Hiroaki Inoue

This paper suggests an approach to the development of software testing and debugging automation tools based on precise program behavior models. The program behavior model is defined as a set of events (event trace) with two basic binary…

Software Engineering · Computer Science 2007-05-23 Mikhail Auguston

This paper summarizes our experience in communicating the elements of reasoning about correctness, and the central role of formal specifications in reasoning about modular, component-based software using a language and an integrated Web IDE…

Software Engineering · Computer Science 2015-08-20 Nabil M. Kabbani , Daniel Welch , Caleb Priester , Stephen Schaub , Blair Durkee , Yu-Shan Sun , Murali Sitaraman

Automated debugging, long pursued in a variety of fields from software engineering to cybersecurity, requires a framework that offers the building blocks for a programmable debugging workflow. However, existing debuggers are primarily…

Software Engineering · Computer Science 2025-06-06 Gabriele Digregorio , Roberto Alessandro Bertolini , Francesco Panebianco , Mario Polino

Industrial Internet-of-Things (IIoT) results from the addition of sensing and actuating capabilities to industrial environments to improve the overall manufacturing processes. Some of these systems have highly-complex tasks of…

Software Engineering · Computer Science 2020-09-15 Andreia Rodrigues , Jose Pedro Silva , Joao Pedro Dias , Hugo Sereno Ferreira

Interactive proof assistants make it possible for ordinary mathematicians to write definitions and theorems in a formal proof language, like a programming language, so that a computer can parse them and check them against the rules of a…

History and Overview · Mathematics 2024-11-20 Jeremy Avigad , Johan Commelin , Heather Macbeth , Adam Topaz

Critical software systems face stringent requirements in safety, security, and reliability due to the circumstances surrounding their operation. Safety and security have progressively gained importance over the years due to the integration…

Software Engineering · Computer Science 2015-12-16 Julio Escribano-Barreno , Marisol García-Valls

Refactoring is modifying a program without changing its external behavior. In this paper, we make the concept of external behavior precise for a simple answer set programming language. Then we describe a proof assistant for the task of…

Logic in Computer Science · Computer Science 2023-05-30 Jorge Fandinno , Zachary Hansen , Yuliya Lierler , Vladimir Lifschitz , Nathan Temple

Despite the vast body of research literature proposing algorithms with formal guarantees, the amount of verifiable code in today's systems remains minimal. This discrepancy stems from the inherent difficulty of verifying code, particularly…

Software Engineering · Computer Science 2025-01-10 Changjie Wang , Mariano Scazzariello , Marco Chiesa

The requirements in automation, digitalization, and fast computations have loaded the IT sector with expectations of highly reliable, efficient, and cost-effective software. Given that the process of testing, verification, and validation of…

Software Engineering · Computer Science 2022-09-08 Durga Shree N , Sree Dharinya S , Dasari Vijayasree , Nadendla Sai Roopa , Anugu Arun

In this paper we report the experience of using AutoProof to statically verify a small object oriented program. We identified the problems that emerged by this activity and we classified them according to their nature. In particular, we…

Software Engineering · Computer Science 2017-06-20 Mansur Khazeev , Victor Rivera , Manuel Mazzara , Leonard Johard

Software engineering requires rigorous testing to guarantee the product's quality. Semantic testing of functional correctness is challenged by nondeterminism in behavior, which makes testers difficult to write and reason about. This thesis…

Programming Languages · Computer Science 2023-07-07 Yishuai Li

As software grows increasingly complex, the quantity and diversity of concerns to be addressed also rises. To answer this diversity of concerns, developers may end up using multiple programming languages in a single software project, a…

Programming Languages · Computer Science 2025-03-03 Philémon Houdaille , Djamel Eddine Khelladi , Benoit Combemale , Gunter Mussbacher , Tijs van der Storm

Automatic program repair usually relies heavily on test cases for both bug identification and fix validation. The issue is that writing test cases is tedious, running them takes much time, and validating a fix through tests does not…

Software Engineering · Computer Science 2024-05-10 Li Huang , Bertrand Meyer , Ilgiz Mustafin , Manuel Oriol

In recent years, programming has witnessed a shift towards using standard libraries as a black box. However, there has not been a synchronous development of tools that can help demonstrate the working of such libraries in general programs,…

Computers and Society · Computer Science 2021-01-29 Aman Bansal , Preey Shah , Sahil Shah

Proof Blocks is a software tool which enables students to write proofs by dragging and dropping prewritten proof lines into the correct order. These proofs can be graded completely automatically, enabling students to receive rapid feedback…

Computers and Society · Computer Science 2022-05-06 Seth Poulsen , Mahesh Viswanathan , Geoffrey L. Herman , Matthew West

The breakneck evolution of modern programming languages aggravates the development of deductive verification tools, which struggle to timely and fully support all new language features. To address this challenge, we present ByteBack: a…

Programming Languages · Computer Science 2024-10-03 Marco Paganoni , Carlo A. Furia

In deductive verification and software model checking, dealing with certain specification language constructs can be problematic when the back-end solver is not sufficiently powerful or lacks the required theories. One way to deal with this…

Logic in Computer Science · Computer Science 2024-12-10 Jesper Amilon , Zafer Esen , Dilian Gurov , Christian Lidström , Philipp Rümmer , Marten Voorberg

Designing and debugging distributed systems is notoriously difficult. The correctness of a distributed system is largely determined by its handling of failure scenarios. The sequence of events leading to a bug can be long and complex, and…

Distributed, Parallel, and Cluster Computing · Computer Science 2018-06-15 Doug Woos , Zachary Tatlock , Michael D. Ernst , Thomas E. Anderson