English
Related papers

Related papers: Compiler Testing With Relaxed Memory Models

200 papers

Compiler optimization techniques are inherently complex, and rigorous testing of compiler optimization implementation is critical. Recent years have witnessed the emergence of testing approaches for uncovering incorrect optimization bugs,…

Software Engineering · Computer Science 2025-04-08 Jingwen Wu , Jiajing Zheng , Zhenyu Yang , Zhongxing Yu

Realizing large-scale quantum advantage is expected to require quantum error correction (QEC), making the compilation and optimization of logical operations a critical area of research. Logical computation imposes distinct constraints and…

The cache plays a key role in determining the performance of applications, no matter for sequential or concurrent programs on homogeneous and heterogeneous architecture. Fixing cache misses requires to understand the origin and the type of…

Performance · Computer Science 2022-03-22 Jin Zhou , Steven , Tang , Hanmei Yang , Tongping Liu

While there is a large body of work on analyzing concurrency related software bugs and developing techniques for detecting and patching them, little attention has been given to concurrency related security vulnerabilities. The two are…

Cryptography and Security · Computer Science 2022-12-13 Zunchen Huang , Shengjian Guo , Meng Wu , Chao Wang

Tile-based programming frameworks are increasingly adopted to write high-performance GPU kernels in domains such as deep learning and scientific computing. While these frameworks enhance productivity and hardware utilization, their…

Software Engineering · Computer Science 2026-05-20 Ravishka Rathnasuriya , Zihe Song , Nidhi Majoju , Aaryaa Moharir , Tingxi Li , Wei Yang , Tao Xie

Parallel programming remains a daunting challenge, from the struggle to express a parallel algorithm without cluttering the underlying synchronous logic, to describing which devices to employ in a calculation, to correctness. Over the…

Distributed, Parallel, and Cluster Computing · Computer Science 2023-08-10 Patrick Diehl , Steven R. Brandt , Hartmut Kaiser

We present LitmusKt - the first tool for litmus testing concurrent programs in Kotlin. The tool's novelty also lies in the fact that Kotlin is a multiplatform language, i.e., it compiles into multiple platforms, which means that the…

Programming Languages · Computer Science 2025-04-23 Denis Lochmelis , Evgenii Moiseenko , Yaroslav Golubev , Anton Podkopaev

Large language models (LLMs) have made remarkable progress in code generation, but competitive programming remains a challenge. Recent training-based methods have improved code generation by using reinforcement learning (RL) with execution…

Software Engineering · Computer Science 2026-04-08 Lingxiao Tang , Muyang Ye , Zhaoyang Chu , Xiaoxue Ren , Zhongxin Liu , Lingfeng Bao , He Ye

Most software that runs on computers undergoes processing by compilers. Since compilers constitute the fundamental infrastructure of software development, their correctness is paramount. Over the years, researchers have invested in…

Software Engineering · Computer Science 2023-06-19 Haoyang Ma

Test or prove? These two approaches to software verification have long been presented as opposites. One is dynamic, the other static: a test executes the program, a proof only analyzes the program text. A different perspective is emerging,…

Software Engineering · Computer Science 2026-02-10 Li Huang , Bertrand Meyer , Manuel Oriol

Testing compilers with AI models, especially large language models (LLMs), has shown great promise. However, current approaches struggle with two key problems: The generated programs for testing compilers are often too simple, and extensive…

Software Engineering · Computer Science 2025-08-27 Yunbo Ni , Shaohua Li

The complexity of modern software has led to a drastic increase in the time and cost associated with detecting and rectifying software bugs. In response, researchers have explored various methods to automatically generate fixes for buggy…

Software Engineering · Computer Science 2023-03-31 Md Mahim Anjum Haque , Wasi Uddin Ahmad , Ismini Lourentzou , Chris Brown

With the rise of multi-core processors and distributed systems, concurrent programming has become essential yet challenging, primarily due to the non-deterministic nature of thread execution. Manually addressing concurrency bugs is…

Software Engineering · Computer Science 2026-04-08 Zhuang Li , Qiuping Yi , Keyang Xiao , Zongcheng Ji , Hongliang Liang

Preserving invariants while designing distributed applications under weak consistency models is difficult. The CEC (Correct Eventual Consistency Tool) is meant to aid the application designer in this task. It provides information about the…

Distributed, Parallel, and Cluster Computing · Computer Science 2018-07-18 Sreeja Nair , Marc Shapiro

The memory model is the crux of the concurrency semantics of shared-memory systems. It defines the possible values that a read operation is allowed to return for any given set of write operations performed by a concurrent program, thereby…

Distributed, Parallel, and Cluster Computing · Computer Science 2018-03-14 Manuel Pöter , Jesper Larsson Träff

The correctness of compilers is instrumental in the safety and reliability of other software systems, as bugs in compilers can produce programs that do not reflect the intents of programmers. Compilers are complex software systems due to…

Software Engineering · Computer Science 2021-03-22 Md Rafiqul Islam Rabin , Mohammad Amin Alipour

The rapid pace of large-scale software development places increasing demands on traditional testing methodologies, often leading to bottlenecks in efficiency, accuracy, and coverage. We propose a novel perspective on software testing by…

Software Engineering · Computer Science 2025-04-08 Yuchen Wang , Shangxin Guo , Chee Wei Tan

While CUDA has become a major parallel computing platform and programming model for general-purpose GPU computing, CUDA-induced bug patterns have not yet been well explored. In this paper, we conduct the first empirical study to reveal…

Software Engineering · Computer Science 2019-05-30 Mingyuan Wu , Husheng Zhou , Lingming Zhang , Cong Liu , Yuqun Zhang

Rust is gaining popularity for its well-known memory safety guarantees and high performance, distinguishing it from C/C++ and JVM-based languages. Its compiler, rustc, enforces these guarantees through specialized mechanisms such as trait…

Programming Languages · Computer Science 2025-04-01 Zixi Liu , Yang Feng , Yunbo Ni , Shaohua Li , Xizhe Yin , Qingkai Shi , Baowen Xu , Zhendong Su

Data-flow is a natural approach to parallelism. However, describing dependencies and control between fine-grained data-flow tasks can be complex and present unwanted overheads. TALM (TALM is an Architecture and Language for Multi-threading)…

Distributed, Parallel, and Cluster Computing · Computer Science 2011-09-23 Leandro A. J. Marzulo , Tiago A. O. Alves , Felipe M. G. França , Vítor Santos Costa