English
Related papers

Related papers: StarMalloc: A Formally Verified, Concurrent, Perfo…

200 papers

In this paper we present an approach to check resource consumption contracts using an off-the-shelf static analyzer. We propose a set of annotations to support resource usage specifications, in particular, dynamic memory consumption…

Software Engineering · Computer Science 2014-01-07 Rodrigo Castaño , Juan Pablo Galeotti , Diego Garbervetsky , Jonathan Tapicer , Edgardo Zoppi

Distributed dataflow systems such as Apache Spark or Apache Flink enable parallel, in-memory data processing on large clusters of commodity hardware. Consequently, the appropriate amount of memory to allocate to the cluster is a crucial…

Distributed, Parallel, and Cluster Computing · Computer Science 2023-06-08 Jonathan Will , Lauritz Thamsen , Dominik Scheinert , Odej Kao

ESBMC implements many state-of-the-art techniques for model checking. We report on new and improved features that allow us to obtain verification results for previously unsupported programs and properties. ESBMC employs a new static…

The vast number of interleavings that a concurrent program can have is typically identified as the root cause of the difficulty of automatic analysis of concurrent software. Weak memory is generally believed to make this problem even…

Logic in Computer Science · Computer Science 2013-01-09 Jade Alglave , Daniel Kroening , Michael Tautschnig

Modern shared memory multiprocessors permit reordering of memory operations for performance reasons. These reorderings are often a source of subtle bugs in programs written for such architectures. Traditional approaches to verify weak…

Software Engineering · Computer Science 2016-02-29 Ganesh Narayanaswamy , Saurabh Joshi , Daniel Kroening

A Prolog-based framework for fully automated verification currently under development for heap-based object-oriented data is introduced. Dynamically allocated issues are discussed, recent approaches and criteria are analysed. The…

Logic in Computer Science · Computer Science 2019-06-10 René Haberland , Sergey Ivanovskiy

End-to-End Translation Validation is the problem of verifying the executable code generated by a compiler against the corresponding input source code for a single compilation. This becomes particularly hard in the presence of…

Programming Languages · Computer Science 2025-10-01 Abhishek Rose , Sorav Bansal

Blocklisting is a common technique for preventing the use of known malicious content. However, conventional blocklisting infrastructures require either the blocklist to be public or clients to reveal their queries to the blocklist server.…

Cryptography and Security · Computer Science 2026-04-20 Xinyuan Zhang , Anrin Chakraborti , Michael K. Reiter

SEAL is a static analyser for the verification of programs that manipulate unbounded linked data structures. It is based on separation logic to represent abstract memory states and, unlike other separation-logic-based approaches, it employs…

Software Engineering · Computer Science 2026-02-09 Tomáš Brablec , Tomáš Dacík , Tomáš Vojnar

Persistent memory provides high-performance data persistence at main memory. Memory writes need to be performed in strict order to satisfy storage consistency requirements and enable correct recovery from system crashes. Unfortunately,…

Hardware Architecture · Computer Science 2017-05-11 Youyou Lu , Jiwu Shu , Long Sun , Onur Mutlu

We developed StarL as a framework for programming, simulating, and verifying distributed systems that interacts with physical processes. StarL framework has (a) a collection of distributed primitives for coordination, such as mutual…

Programming Languages · Computer Science 2015-02-24 Yixiao Lin , Sayan Mitra

Applications making excessive use of single-object based data structures (such as linked lists, trees, etc...) can see a drop in efficiency over a period of time due to the randomization of nodes in memory. This slow down is due to the…

Data Structures and Algorithms · Computer Science 2021-10-22 Dhruv Matani , Gaurav Menghani

Multicore processors constitute the main architecture choice for modern computing systems in different market segments. Despite their benefits, the contention that naturally appears when multiple applications compete for the use of shared…

Distributed, Parallel, and Cluster Computing · Computer Science 2024-02-13 Adrián García-García , Juan Carlos Sáez , Fernando Castro , Manuel Prieto-Matías

We study memory allocation patterns in DNNs during inference, in the context of large-scale systems. We observe that such memory allocation patterns, in the context of multi-threading, are subject to high latencies, due to \texttt{mutex}…

Machine Learning · Computer Science 2022-03-02 Maksim Levental

At the allocation and deallocation of small objects with fixed size, the standard allocator of the runtime system has commonly a worse time performance compared to allocators adapted for a special application field. We propose a memory…

Programming Languages · Computer Science 2016-11-09 Christian Schuessler , Roland Gruber

Geo-replicated systems provide a number of desirable properties such as globally low latency, high availability, scalability, and built-in fault tolerance. Unfortunately, programming correct applications on top of such systems has proven to…

Programming Languages · Computer Science 2025-02-27 Kartik Nagar , Prasita Mukherjee , Suresh Jagannathan

This paper investigates approaches to parallelizing Bounded Model Checking (BMC) for shared memory environments as well as for clusters of workstations. We present a generic framework for parallelized BMC named Tarmo. Our framework can be…

Logic in Computer Science · Computer Science 2009-12-15 Siert Wieringa , Matti Niemenmaa , Keijo Heljanko

In this paper, we examine a ready-to-use, robust, and computationally fast fixed-size memory pool manager with no-loops and no-memory overhead that is highly suited towards time-critical systems such as games. The algorithm achieves this by…

Hardware Architecture · Computer Science 2022-11-01 Ben Kenwright

We address the problem of efficient verification of multi-threaded programs running over Total Store Order (TSO) memory model. It has been shown that even with finite data domain programs, the complexity of control state reachability under…

Logic in Computer Science · Computer Science 2016-06-20 Chinmay Narayan , Subodh Sharma , S. Arun-Kumar

System relevant embedded software needs to be reliable and, therefore, well tested, especially for aerospace systems. A common technique to verify programs is the analysis of their abstract syntax tree (AST). Tree structures can be…

Software Engineering · Computer Science 2017-01-09 Frank Flederer , Ludwig Ostermayer , Dietmar Seipel , Sergio Montenegro