English
Related papers

Related papers: Thread-Based Obfuscation through Control-Flow Mang…

200 papers

Partitioning an input graph over a set of workers is a complex operation. Objectives are twofold: split the work evenly, so that every worker gets an equal share, and minimize edge cut to achieve a good work locality (i.e. workers can work…

Distributed, Parallel, and Cluster Computing · Computer Science 2013-11-28 Le Merrer Erwan , Liang Yizhong , Trédan Gilles

Multi-threaded programs have traditionally fallen into one of two domains: cooperative and competitive. These two domains have traditionally remained mostly disjoint, with cooperative threading used for increasing throughput in…

Programming Languages · Computer Science 2018-07-11 Stefan K. Muller , Umut A. Acar , Robert Harper

Binary code analysis is widely used to assess a program's correctness, performance, and provenance. Binary analysis applications often construct control flow graphs, analyze data flow, and use debugging information to understand how machine…

While machine learning has advanced through massive parallelization, we identify a critical blind spot: some problems are fundamentally sequential. These "inherently serial" problems-from mathematical reasoning to physical simulations to…

Machine Learning · Computer Science 2026-04-30 Yuxi Liu , Konpat Preechakul , Kananart Kuwaranancharoen , Yutong Bai

We present efficient algorithms to build data structures and the lists needed for fast multipole methods. The algorithms are capable of being efficiently implemented on both serial, data parallel GPU and on distributed architectures. With…

Mathematical Software · Computer Science 2013-01-10 Qi Hu , Nail A. Gumerov , Ramani Duraiswami

With the rapid expansion of web-based applications and cloud services, malicious JavaScript code continues to pose significant threats to user privacy, system integrity, and enterprise security. But, detecting such threats remains…

Cryptography and Security · Computer Science 2025-07-31 Zhihong Liang , Xin Wang , Zhenhuang Hu , Liangliang Song , Lin Chen , Jingjing Guo , Yanbin Wang , Ye Tian

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

When verifying a concurrent program, it is usual to assume that memory is sequentially consistent. However, most modern multiprocessors depend on store buffering for efficiency, and provide native sequential consistency only at a…

Logic in Computer Science · Computer Science 2009-09-28 Ernie Cohen , Norbert Schirmer

In this paper, we show the effectiveness of a pipeline implementation of Dynamic Programming (DP) on GPU. As an example, we explain how to solve a matrix-chain multiplication (MCM) problem by DP on GPU. This problem can be sequentially…

Distributed, Parallel, and Cluster Computing · Computer Science 2020-08-06 Susumu Matsumae , Makoto Miyazaki

Serializability is a well-understood concurrency control mechanism that eases reasoning about highly-concurrent database programs. Unfortunately, enforcing serializability has a high-performance cost, especially on geographically…

Programming Languages · Computer Science 2021-03-10 Kia Rahmani , Kartik Nagar , Benjamin Delaware , Suresh Jagannathan

In this work, we present an automatic way to parallelize logic programs for finding all the answers to queries using a transformation to low level threading primitives. Although much work has been done in parallelization of logic…

Programming Languages · Computer Science 2009-12-28 Diptikalyan Saha , Paul Fodor

We address the problem of automatic decompilation, converting a program in low-level representation back to a higher-level human-readable programming language. The problem of decompilation is extremely important for security researchers.…

Programming Languages · Computer Science 2019-05-22 Omer Katz , Yuval Olshaker , Yoav Goldberg , Eran Yahav

Developing multithreaded software is an extremely challenging task, even for experienced programmers. The challenge does not end after the code is written. There are other tasks associated with a development process that become…

Software Engineering · Computer Science 2014-09-04 Evgeny Vainer , Amiram Yehudai

Sparse graphs are ubiquitous in real and virtual worlds. With the phenomenal growth in semi-structured and unstructured data, sizes of the underlying graphs have witnessed a rapid growth over the years. Analyzing such large structures…

Distributed, Parallel, and Cluster Computing · Computer Science 2024-01-08 Ashwina Kumar , M. Venkata Krishna , Prasanna Bartakke , Rahul Kumar , Rajesh Pandian M , Nibedita Behera , Rupesh Nasre

Maintaining a $k$-core decomposition quickly in a dynamic graph has important applications in network analysis. The main challenge for designing efficient exact algorithms is that a single update to the graph can cause significant global…

Data Structures and Algorithms · Computer Science 2023-09-28 Quanquan C. Liu , Jessica Shi , Shangdi Yu , Laxman Dhulipala , Julian Shun

Applications running in modern multithreaded environments are sometimes \emph{over-threaded}. The excess threads do not improve performance, and in fact may act to degrade performance via \emph{scalability collapse}. Often, such software…

Distributed, Parallel, and Cluster Computing · Computer Science 2017-06-13 Dave Dice

High parallel framework has been proved to be very suitable for graph processing. There are various work to optimize the implementation in FPGAs, a pipeline parallel device. The key to make use of the parallel performance of FPGAs is to…

Distributed, Parallel, and Cluster Computing · Computer Science 2018-07-02 Chengbo Yang

In this paper, we address some of the key limitations to realizing a generic heterogeneous parallel programming model for quantum-classical heterogeneous platforms. We discuss our experience in enabling user-level multi-threading in QCOR as…

Splitting network computations between the edge device and a server enables low edge-compute inference of neural networks but might expose sensitive information about the test query to the server. To address this problem, existing…

Machine Learning · Computer Science 2021-06-24 Mohammad Samragh , Hossein Hosseini , Aleksei Triastcyn , Kambiz Azarian , Joseph Soriaga , Farinaz Koushanfar

Program obfuscation is an important software protection technique that prevents attackers from revealing the programming logic and design of the software. We introduce translingual obfuscation, a new software obfuscation scheme which makes…

Cryptography and Security · Computer Science 2016-01-13 Pei Wang , Shuai Wang , Jiang Ming , Yufei Jiang , Dinghao Wu