English
Related papers

Related papers: Critical Sections Are Not Per-Thread: A Trace Sema…

200 papers

Contracts specifying a procedure's behavior in terms of pre- and postconditions are essential for scalable software verification, but cannot express any constraints on the events occurring during execution of the procedure. This…

Software Engineering · Computer Science 2022-11-22 Richard Bubel , Dilian Gurov , Reiner Hähnle , Marco Scaletta

The difficulty of developing reliable parallel software is generating interest in deterministic environments, where a given program and input can yield only one possible result. Languages or type systems can enforce determinism in new code,…

Operating Systems · Computer Science 2010-02-01 Amittai Aviram , Bryan Ford

System requirements related to concepts like information flow, knowledge, and robustness cannot be judged in terms of individual system executions, but rather require an analysis of the relationship between multiple executions. Such…

Logic in Computer Science · Computer Science 2025-01-15 Bernd Finkbeiner

Sequence diagrams are a popular technique for describing interactions between software entities. However, because the OMG group's UML standard is not based on a rigorous mathematical structure, it is impossible to deduce a single…

Software Engineering · Computer Science 2025-01-22 David Faitelson , Shmuel Tyszberowicz

Traceability, the ability to trace relevant software artifacts to support reasoning about the quality of the software and its development process, plays a crucial role in requirements and software engineering, particularly for…

Software Engineering · Computer Science 2024-05-20 Jin L. C. Guo , Jan-Philipp Steghöfer , Andreas Vogelsang , Jane Cleland-Huang

Although a wide variety of handcrafted concurrent data structures have been proposed, there is considerable interest in universal approaches (henceforth called Universal Constructions or UCs) for building concurrent data structures. These…

Distributed, Parallel, and Cluster Computing · Computer Science 2022-12-05 Ilya Kokorin , Alexander Fedorov , Trevor Brown , Vitaly Aksenov

There is a lack of formalism for some key foundational concepts in systems engineering. One of the most recently acknowledged deficits is the inadequacy of systems engineering practices for engineering intelligent systems. In our previous…

Artificial Intelligence · Computer Science 2024-09-21 Niloofar Shadab , Tyler Cody , Alejandro Salado , Peter Beling

This article aims to describe and explain the theoretical foundations of concurrent and set concurrent algorithms, considering an asynchronous shared memory system where any number of processes can crash. Verification of concurrent…

Distributed, Parallel, and Cluster Computing · Computer Science 2023-07-27 Jose Damian Lopez Diaz

An old dream of concurrency theory and programming language semantics has been to uncover the fundamental synchronization mechanisms which regulate situations as different as game semantics for higher-order programs, and Hoare logic for…

Logic in Computer Science · Computer Science 2020-05-12 Paul-André Melliès , Léo Stefanesco

Existing logic-locking attacks are known to successfully decrypt functionally correct key of a locked combinational circuit. It is possible to extend these attacks to real-world Silicon-based Intellectual Properties (IPs, which are…

Cryptography and Security · Computer Science 2021-02-18 Seetal Potluri , Aydin Aysu , Akash Kumar

Programs with constraints are hard to debug. In this paper, we describe a general architecture to help develop new debugging tools for constraint programming. The possible tools are fed by a single general-purpose tracer. A tracer-driver is…

Software Engineering · Computer Science 2007-05-23 Ludovic Langevine , Mireille Ducasse

Model checking is usually based on a comprehensive traversal of the state space. Causality-based model checking is a radically different approach that instead analyzes the cause-effect relationships in a program. We give an overview on a…

Logic in Computer Science · Computer Science 2017-10-11 Bernd Finkbeiner , Andrey Kupriyanov

Security protocols are building blocks in secure communications. They deploy some security mechanisms to provide certain security services. Security protocols are considered abstract when analyzed, but they can have extra vulnerabilities…

Cryptography and Security · Computer Science 2016-06-03 Mohsen Toorani

This paper performs the analysis necessary to bound the running time of known, efficient algorithms for generating all longest common subsequences. That is, we bound the running time as a function of input size for algorithms with time…

Discrete Mathematics · Computer Science 2007-05-23 Ronald I. Greenberg

In a zero-trust fabless paradigm, designers are increasingly concerned about hardware-based attacks on the semiconductor supply chain. Logic locking is a design-for-trust method that adds extra key-controlled gates in the circuits to…

Cryptography and Security · Computer Science 2024-02-07 Yeganeh Aghamohammadi , Amin Rezaei

Software debugging is a very time-consuming process, which is even worse for multi-threaded programs, due to the non-deterministic behavior of thread-scheduling algorithms. However, the debugging time may be greatly reduced, if automatic…

Logic in Computer Science · Computer Science 2015-09-09 Erickson H. da S. Alves , Lucas C. Cordeiro , Eddie B. de Lima Filho

Integrated circuit (IC) piracy and overproduction are serious issues that threaten the security and integrity of a system. Logic locking is a type of hardware obfuscation technique where additional key gates are inserted into the circuit.…

Cryptography and Security · Computer Science 2021-01-27 Michael Yue , Fatemeh Tehranipoor

This paper considers the modelling and the analysis of the performance of lock-free concurrent search data structures. Our analysis considers such lock-free data structures that are utilized through a sequence of operations which are…

Data Structures and Algorithms · Computer Science 2018-05-15 Aras Atalar , Paul Renaud-Goud , Philippas Tsigas

We propose a novel, operational framework to formally describe the semantics of concurrent programs running within the context of a relaxed memory model. Our framework features a "temporary store" where the memory operations issued by the…

Programming Languages · Computer Science 2012-08-30 Gérard Boudol , Gustavo Petri , Bernard Serpette

A well-established approach to proving progress properties such as deadlock-freedom and termination is to associate obligations with threads. For example, in most existing work the proof rule for lock acquisition prescribes a standard usage…

Programming Languages · Computer Science 2024-12-20 Justus Fasse , Bart Jacobs