English
Related papers

Related papers: Locksynth: Deriving Synchronization Code for Concu…

200 papers

Fast numerical libraries have been a cornerstone of scientific computing for decades, but this comes at a price. Programs may be tied to vendor specific software ecosystems resulting in polluted, non-portable code. As we enter an era of…

Programming Languages · Computer Science 2019-10-10 Bruce Collie , Philip Ginsbach , Michael F. P. O'Boyle

Asynchronous learning protocols have regained attention lately, especially in the Federated Learning (FL) setup, where slower clients can severely impede the learning process. Herein, we propose \texttt{AsyncDrop}, a novel asynchronous FL…

Machine Learning · Computer Science 2022-10-31 Chen Dun , Mirian Hipolito , Chris Jermaine , Dimitrios Dimitriadis , Anastasios Kyrillidis

The CountDownLatch (CDL) is a versatile concurrency mechanism that was first introduced in Java 5, and is also being adopted into C++ and C#. Its usage allows one or more threads to exchange resources and synchronize by waiting for some…

Programming Languages · Computer Science 2019-08-27 Wei-Ngan Chin , Ton Chanh Le , Shengchao Qin

Sequential data is being generated at an unprecedented pace in various forms, including text and genomic data. This creates the need for efficient compression mechanisms to enable better storage, transmission and processing of such data. To…

Computation and Language · Computer Science 2018-11-21 Mohit Goyal , Kedar Tatwawadi , Shubham Chandak , Idoia Ochoa

Large Language Models (LLMs) generate realistic synthetic data but offer no guarantee that their outputs respect the causal mechanisms governing the target domain. We introduce CausalSynth, a framework that decouples causal structure…

Machine Learning · Computer Science 2026-05-19 Zehua Cheng , Wei Dai , Jiahao Sun , Thomas Lukasiewicz

This paper describes a generic algorithm for concurrent resizing and on-demand per-bucket rehashing for an extensible hash table. In contrast to known lock-based hash table algorithms, the proposed algorithm separates the resizing and…

Data Structures and Algorithms · Computer Science 2015-09-09 Anton Malakhov

The size of a data structure (i.e., the number of elements in it) is a widely used property of a data set. However, for concurrent programs, obtaining a correct size efficiently is non-trivial. In fact, the literature does not offer a…

Distributed, Parallel, and Cluster Computing · Computer Science 2022-09-16 Gal Sela , Erez Petrank

Verifying fine-grained optimistic concurrent programs remains an open problem. Modern program logics provide abstraction mechanisms and compositional reasoning principles to deal with the inherent complexity. However, their use is mostly…

Programming Languages · Computer Science 2022-11-14 Roland Meyer , Thomas Wies , Sebastian Wolff

We present an approach to automatically synthesise recursive predicates in Separation Logic (SL) from concrete data structure instances using Inductive Logic Programming (ILP) techniques. The main challenges to make such synthesis effective…

Programming Languages · Computer Science 2025-02-21 Ziyi Yang , Ilya Sergey

C/C++/OpenCL-based high-level synthesis (HLS) becomes more and more popular for field-programmable gate array (FPGA) accelerators in many application domains in recent years, thanks to its competitive quality of results (QoR) and short…

Hardware Architecture · Computer Science 2021-05-07 Yuze Chi , Licheng Guo , Jason Lau , Young-kyu Choi , Jie Wang , Jason Cong

This study proposes a deep learning-based approach for discovering loops in programming code according to their potential for parallelization. Two genetic algorithm-based code generators were developed to produce two distinct types of code:…

Machine Learning · Computer Science 2025-10-03 Izavan dos S. Correia , Henrique C. T. Santos , Tiago A. E. Ferreira

Program synthesis from input-output (IO) examples has been a long-standing challenge. While recent works demonstrated limited success on domain-specific languages (DSL), it remains highly challenging to apply them to real-world programming…

Programming Languages · Computer Science 2021-11-23 Xinyun Chen , Dawn Song , Yuandong Tian

Static program slicing is a fundamental technique in software engineering. Traditional static slicing tools rely on parsing complete source code, which limits their applicability to real-world scenarios where code snippets are incomplete or…

Software Engineering · Computer Science 2025-09-23 Pengfei He , Shaowei Wang , Tse-Hsun Chen

Shape deformation is an important component in any geometry processing toolbox. The goal is to enable intuitive deformations of single or multiple shapes or to transfer example deformations to new shapes while preserving the plausibility of…

Graphics · Computer Science 2020-09-04 Minhyuk Sung , Zhenyu Jiang , Panos Achlioptas , Niloy J. Mitra , Leonidas J. Guibas

Stochastic Gradient Descent (SGD) is a popular algorithm that can achieve state-of-the-art performance on a variety of machine learning tasks. Several researchers have recently proposed schemes to parallelize SGD, but all require…

Optimization and Control · Mathematics 2011-11-14 Feng Niu , Benjamin Recht , Christopher Re , Stephen J. Wright

Recently, deep learning techniques have shown great success in automatic code generation. Inspired by the code reuse, some researchers propose copy-based approaches that can copy the content from similar code snippets to obtain better…

Software Engineering · Computer Science 2023-09-08 Jia Li , Yongmin Li , Ge Li , Zhi Jin , Yiyang Hao , Xing Hu

A core task in process mining is process discovery which aims to learn an accurate process model from event log data. In this paper, we propose to use (block-) structured programs directly as target process models so as to establish…

Artificial Intelligence · Computer Science 2020-08-14 Dell Zhang , Alexander Kuhnle , Julian Richardson , Murat Sensoy

Analysis of entire programs as a single unit, or whole-program analysis, involves propagation of large amounts of information through the control flow of the program. This is especially true for pointer analysis, where, unless significant…

Data Structures and Algorithms · Computer Science 2025-10-28 Anamitra Ghorui , Uday P. Khedker

Functional languages as input specifications for High-Level Synthesis (HLS) tools allow to specify data dependencies but do not contain a notion of time nor execution order. In this paper, we propose a method to add this notion to the…

Hardware Architecture · Computer Science 2025-04-11 Hendrik Folmer , Robert de Groote , Marco Bekooij

During software maintenance, programmers spend a lot of time on code comprehension. Reading comments is an effective way for programmers to reduce the reading and navigating time when comprehending source code. Therefore, as a critical task…

Software Engineering · Computer Science 2018-02-01 Xing Hu , Yuhan Wei , Ge Li , Zhi Jin