English
Related papers

Related papers: Understanding Counterexamples for Relational Prope…

200 papers

Proof-carrying-code was proposed as a solution to ensure a trust relationship between two parties: a (heavyweight) analyzer and a (lightweight) checker. The analyzer verifies the conformance of a given application to a specified property…

Programming Languages · Computer Science 2018-08-06 Mohamed Nassim Seghir

This paper describes the formal verification of two Turing machines using the program verifier Dafny. Both machines are deciders, so we prove total correctness. They are typical first examples of Turing machines used in any course of…

Logic in Computer Science · Computer Science 2026-01-22 Edgar F. A. Lederer

Fully functional program verification is an undecidable$\unicode{x2014}$and, hence, inherently difficult$\unicode{x2014}$task, that is not automatically solvable but typically requires user interaction and guidance. Existing verifiers…

Programming Languages · Computer Science 2026-05-11 Wolfram Pfeifer , Mattias Ulbrich , Daniel Drodt

Software vulnerabilities can have serious consequences, which is why many techniques have been proposed to defend against them. Among these, vulnerability detection techniques are a major area of focus. However, there is a lack of a…

Software Engineering · Computer Science 2023-03-30 Yingzhou Bi , Jiangtao Huang , Penghui Liu , Lianmei Wang

Data-driven software solutions have significantly been used in critical domains with significant socio-economic, legal, and ethical implications. The rapid adoptions of data-driven solutions, however, pose major threats to the…

Software Engineering · Computer Science 2024-12-30 Normen Yu , Luciana Carreon , Gang Tan , Saeid Tizpaz-Niari

A wide range of interesting program properties are intrinsically relational, i.e., they relate two or more program traces. Two prominent relational properties are secure information flow and conditional program equivalence. By showing the…

Logic in Computer Science · Computer Science 2019-10-22 Alexander Weigl , Mattias Ulbrich , Suhyun Cha , Bernhard Beckert , Birgit Vogel-Heuser

Deterministic replay is a method for allowing complex multitasking real-time systems to be debugged using standard interactive debuggers. Even though several replay techniques have been proposed for parallel, multi-tasking and real-time…

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

Relational properties arise in many settings: relating two versions of a program that use different data representations, noninterference properties for security, etc. The main ingredient of relational verification, relating aligned pairs…

Logic in Computer Science · Computer Science 2016-11-29 Anindya Banerjee , David A. Naumann , Mohammad Nikouei

A program fails. Under which circumstances does this failure occur? One single algorithm, the delta debugging algorithm, suffices to determine these failure-inducing circumstances. Delta debugging tests a program systematically and…

Software Engineering · Computer Science 2007-05-23 Holger Cleve , Andreas Zeller

Software debloating techniques are applied to craft a specialized version of the program based on the user's requirements and remove irrelevant code accordingly. The debloated programs presumably maintain better performance and reduce the…

Cryptography and Security · Computer Science 2023-09-18 Do-Men Su , Mohannad Alhanahnah

Providing compact and understandable counterexamples for violated system properties is an essential task in model checking. Existing works on counterexamples for probabilistic systems so far computed either a large set of system runs or a…

Software Engineering · Computer Science 2016-11-26 Ralf Wimmer , Nils Jansen , Erika Ábrahám , Joost-Pieter Katoen

Testing is a vital part of software development, and spreadsheets are like any other software in this respect. This paper discusses the testing of spreadsheets in the light of one practitioner's experience. It considers the concept of…

Software Engineering · Computer Science 2008-07-22 Louise Pryor

A fundamental problem in data fusion is to determine the veracity of multi-source data in order to resolve conflicts. While previous work in truth discovery has proved to be useful in practice for specific settings, sources' behavior or…

Databases · Computer Science 2014-09-24 Dalia Attia Waguih , Laure Berti-Equille

Computational science relies on scientific software as its primary instrument for scientific discovery. Therefore, similar to the use of other types of scientific instruments, correct software and the correct operation of the software is…

Software Engineering · Computer Science 2024-05-20 Akash Dhruv , Rajeev Jain , Jared O'Neal , Klaus Weide , Anshu Dubey

The emergence of "Fake News" and misinformation via online news and social media has spurred an interest in computational tools to combat this phenomenon. In this paper we present a new "Related Fact Checks" service, which can help a reader…

Information Retrieval · Computer Science 2017-11-03 Sreya Guha

To evaluate large language models (LLMs) for code, research has used manually created unit test-based benchmarks. However, these tests are often inadequate, missing corner cases and other implementation-specific oddities. This work…

Software Engineering · Computer Science 2025-02-27 Miltiadis Allamanis , Pengcheng Yin

The increasing use of Machine Learning (ML) software can lead to unfair and unethical decisions, thus fairness bugs in software are becoming a growing concern. Addressing these fairness bugs often involves sacrificing ML performance, such…

Software Engineering · Computer Science 2026-03-17 Zichong Wang , Yang Zhou , David Lo , Wenbin Zhang

Verification and validation of cyber-physical systems (CPS) via large-scale simulation often surface failures that are hard to interpret, especially when triggered by interactions between continuous and discrete behaviors at specific events…

Software Engineering · Computer Science 2026-04-10 Zaid Ghazal , Hadiza Yusuf , Khouloud Gaaloul

[Context and motivation] When developing software, coordination between different organizational units is essential in order to develop a good quality product, on time and within budget. Particularly, the synchronization between…