English
Related papers

Related papers: Repairing Serializability Bugs in Distributed Data…

200 papers

Transactions can simplify distributed applications by hiding data distribution, concurrency, and failures from the application developer. Ideally the developer would see the abstraction of a single large machine that runs transactions…

Distributed, Parallel, and Cluster Computing · Computer Science 2020-06-26 Alex Shamis , Matthew Renzelmann , Stanko Novakovic , Georgios Chatzopoulos , Anders T. Gjerdrum , Dan Alistarh , Aleksandar Dragojevic , Dushyanth Narayanan , Miguel Castro

The transactional robustness problem revolves around deciding whether, for a given workload, a lower isolation level than Serializable is sufficient to guarantee serializability. The paper presents a new characterization for robustness…

Databases · Computer Science 2023-02-20 Brecht Vandevoort , Bas Ketsman , Christoph Koch , Frank Neven

Modern concurrent programming benefits from a large variety of synchronization techniques. These include conventional pessimistic locking, as well as optimistic techniques based on conditional synchronization primitives or transactional…

Distributed, Parallel, and Cluster Computing · Computer Science 2015-10-15 Vincent Gramoli , Petr Kuznetsov , Srivatsan Ravi

Context: Refactoring is the art of modifying the design of a system without altering its behavior. The idea is to reorganize variables, classes and methods to facilitate their future adaptations and comprehension. As the concept of behavior…

Software Engineering · Computer Science 2021-07-23 Eman Abdullah AlOmar , Mohamed Wiem Mkaouer , Christian Newman , Ali Ouni

Refactoring is an essential activity during software evolution. Frequently, practitioners rely on such transformations to improve source code maintainability and quality. As a consequence, this process may produce new source code entities…

Software Engineering · Computer Science 2020-03-11 Aline Brito , Andre Hora , Marco Tulio Valente

In this paper we consider a network of processors aiming at cooperatively solving linear programming problems subject to uncertainty. Each node only knows a common cost function and its local uncertain constraint set. We propose a…

Optimization and Control · Mathematics 2019-08-27 Mohammadreza Chamanbaz , Giuseppe Notarstefano , Roland Bouffanais

The most important way to achieve higher performance in computer systems is through heterogeneous computing, i.e., by adopting hardware platforms containing more than one type of processor, such as CPUs, GPUs, and FPGAs. Several types of…

Software Engineering · Computer Science 2020-05-19 Hugo Andrade , Ivica Crnkovic , Jan Bosch

We consider the broad problem of analyzing safety properties of asynchronous concurrent programs under arbitrary thread interleavings. Delay-bounded deterministic scheduling, introduced in prior work, is an efficient bug-finding technique…

Programming Languages · Computer Science 2021-05-18 Andrew Johnson , Thomas Wahl

When developing a software system, a change in one part of the system may lead to unwanted changes in other parts of the system. These affected parts may interfere with system performance, so regression testing is used to deal with these…

Software Engineering · Computer Science 2024-05-13 Mahdi Movahedian Moghaddam

Block-based programming languages like Scratch have become increasingly popular as introductory languages for novices. These languages are intended to be used with a "tinkering" approach which allows learners and teachers to quickly…

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

In large-scale software systems, there are often no fully-fledged bug reports with human-written descriptions when an error occurs. In this case, developers rely on stack traces, i.e., series of function calls that led to the error. Since…

Software Engineering · Computer Science 2024-12-20 Egor Shibaev , Denis Sushentsev , Yaroslav Golubev , Aleksandr Khvorov

Detecting semantic interference remains a challenge in collaborative software development. Recent lightweight static analysis techniques improve efficiency over SDG-based methods, but they still suffer from a high rate of false positives. A…

Software Engineering · Computer Science 2025-10-03 Victor Lira , Paulo Borba , Rodrigo Bonifácio , Galileu Santos e Matheus barbosa

A relational database is inconsistent if it does not satisfy a given set of integrity constraints. Nevertheless, it is likely that most of the data in it is consistent with the constraints. In this paper we apply logic programming based on…

Databases · Computer Science 2007-05-23 Marcelo Arenas , Leopoldo Bertossi , Jan Chomicki

Many improvements to programming have come from shortening feedback loops, for example with Integrated Development Environments, Unit Testing, Live Programming, and Distributed Version Control. A barrier to feedback that deserves greater…

Programming Languages · Computer Science 2024-12-10 Jonathan Edwards , Tomas Petricek , Tijs van der Storm , Geoffrey Litt

The memory consistency model is a fundamental system property characterizing a multiprocessor. The relative merits of strict versus relaxed memory models have been widely debated in terms of their impact on performance, hardware complexity…

Distributed, Parallel, and Cluster Computing · Computer Science 2011-04-07 Alexander Jaffe , Thomas Moscibroda , Laura Effinger-Dean , Luis Ceze , Karin Strauss

Automatic parallelization remains a challenging problem in software engineering, particularly in identifying code regions where loops can be safely executed in parallel on modern multi-core architectures. Traditional static analysis…

Software Engineering · Computer Science 2026-04-01 Izavan dos S. Correia , Henrique C. T. Santos , Tiago A. E. Ferreira

Parallel batched data structures are designed to process synchronized batches of operations in a parallel computing model. In this paper, we propose parallel combining, a technique that implements a concurrent data structure from a parallel…

Distributed, Parallel, and Cluster Computing · Computer Science 2018-11-14 Vitaly Aksenov , Petr Kuznetsov , Anatoly Shalyto

In this paper, we consider the problem of scheduling an application on a parallel computational platform. The application is a particular task graph, either a linear chain of tasks, or a set of independent tasks. The platform is made of…

Data Structures and Algorithms · Computer Science 2012-10-18 Guillaume Aupy , Anne Benoit

Array-intensive programs are often amenable to parallelization across many cores on a single machine as well as scaling across multiple machines and hence are well explored, especially in the domain of high-performance computing. These…

Programming Languages · Computer Science 2019-05-23 Kunal Banerjee , Chandan Karfa