English
Related papers

Related papers: Weak Memory Demands Model-based Compiler Testing

200 papers

The C/C++ memory model provides an interface and execution model for programmers of concurrent (shared-variable) code. It provides a range of mechanisms that abstract from underlying hardware memory models -- that govern how multicore…

Programming Languages · Computer Science 2022-04-08 Robert J. Colvin

An engineering design process may involve software modules that can executed concurrently. Concurrent modules can be very easily subject to some synchronization errors. This paper discusses verification process for such engineering…

Software Engineering · Computer Science 2017-04-24 Jerzy Mieścicki , Mikołaj Baszun , Wiktor B. Daszczuk , Bogdan D. Czejdo

Engineers build large software systems for multiple architectures, operating systems, and configurations. A set of inconsistent or missing compiler flags generates code that catastrophically impacts the system's behavior. In the authors'…

Software Engineering · Computer Science 2024-01-09 Gunnar Kudrjavets , Aditya Kumar , Jeff Thomas , Ayushi Rastogi

Compilers play a foundational role in building reliable software systems, and bugs within them can lead to catastrophic consequences. The compilation process typically involves hundreds of files, making traditional automated bug isolation…

Software Engineering · Computer Science 2025-06-24 Yixian Qi , Jiajun Jiang , Fengjie Li , Bowen Chen , Hongyu Zhang , Junjie Chen

A valid compiler optimisation transforms a block in a program without introducing new observable behaviours to the program as a whole. Deciding which optimisations are valid can be difficult, and depends closely on the semantic model of the…

Programming Languages · Computer Science 2018-02-19 Mike Dodds , Mark Batty , Alexey Gotsman

Deep neural networks have been increasingly used in software engineering and program analysis tasks. They usually take a program and make some predictions about it, e.g., bug prediction. We call these models neural program analyzers. The…

Machine Learning · Computer Science 2021-03-22 Md Rafiqul Islam Rabin , Ke Wang , Mohammad Amin Alipour

A simple technique is presented for testing a C99 compiler, by comparison of its output with output from preexisting tools. The advantage to this approach is that new test cases can be added in bulk from existing sources, reducing the need…

Software Engineering · Computer Science 2022-02-16 Flash Sheridan

Computational memory (CM) is a promising approach for accelerating inference on neural networks (NN) by using enhanced memories that, in addition to storing data, allow computations on them. One of the main challenges of this approach is…

Distributed, Parallel, and Cluster Computing · Computer Science 2020-04-27 Kornilios Kourtis , Martino Dazzi , Nikolas Ioannou , Tobias Grosser , Abu Sebastian , Evangelos Eleftheriou

Thousands of security vulnerabilities are discovered in production software each year, either reported publicly to the Common Vulnerabilities and Exposures database or discovered internally in proprietary code. Vulnerabilities often…

Large Language Models have demonstrated a remarkable capability in natural language and program generation and software development. However, the source code generated by the LLMs does not always meet quality requirements and may fail to…

Software Engineering · Computer Science 2026-01-26 Viktor Kjellberg , Miroslaw Staron , Farnaz Fotrousi

Memory safety remains a critical and widely violated property in reality. Numerous defense techniques have been proposed and developed but most of them are not applied or enabled by default in production-ready environment due to their…

Cryptography and Security · Computer Science 2021-11-30 Wei Song , Jiameng Ying , Sihao Shen , Boya Li , Hao Ma , Peng Liu

Concurrency testing is essential to improve the reliability and security of multi-threaded programs. Dynamic analysis tools, such as TSan, depend on high-quality test drivers that reach critical shared-memory interactions at runtime.…

Software Engineering · Computer Science 2026-05-12 Yuandao Cai , Shuhao Fu , Wensheng Tang , Cheng Wen , Shengchao Qin , Charles Zhang

We propose a memory-model-aware static program analysis method for accurately analyzing the behavior of concurrent software running on processors with weak consistency models such as x86-TSO, SPARC-PSO, and SPARC-RMO. At the center of our…

Programming Languages · Computer Science 2017-09-29 Markus Kusano , Chao Wang

Static analysis is one of the most widely adopted techniques to find software bugs before code is put in production. Designing and implementing effective and efficient static analyses is difficult and requires high expertise, which results…

Software Engineering · Computer Science 2019-06-04 Andrew Habib , Michael Pradel

Repositories of large software systems have become commonplace. This massive expansion has resulted in the emergence of various problems in these software platforms including identification of (i) bug-prone packages, (ii) critical bugs, and…

Information Retrieval · Computer Science 2022-07-05 Rima Hazra , Arpit Dwivedi , Animesh Mukherjee

Compilers are essential to software systems, and their bugs can propagate to dependent software. Ensuring compiler correctness is critical. However, isolating compiler bugs remains challenging due to the internal complexity of compiler…

Software Engineering · Computer Science 2025-10-16 Yujie Liu , Mingxuan Zhu , Shengyu Cheng , Dan Hao

As quantum computers continue to improve in quality and scale, there is a growing need for accessible software frameworks for programming them. However, the unique behavior of quantum systems means specialized approaches, beyond traditional…

Quantum Physics · Physics 2025-09-04 Nils Quetschlich , Olivia Di Matteo

Leveraging Large Language Models (LLMs) for code generation has increasingly emerged as a common practice in the domain of software engineering. Relevant benchmarks have been established to evaluate the code generation capabilities of LLMs.…

Software Engineering · Computer Science 2026-03-05 Jue Huang , Tarek Mahmud , Corina Pasareanu , Guowei Yang

Computational notebooks became indispensable tools for research-related development, offering unprecedented interactivity and flexibility in the development process. However, these benefits come at the cost of reproducibility and an…

Software Engineering · Computer Science 2024-05-06 Konstantin Grotov , Sergey Titov , Yaroslav Zharov , Timofey Bryksin

The authors' industry experiences suggest that compiler warnings, a lightweight version of program analysis, are valuable early bug detection tools. Significant costs are associated with patches and security bulletins for issues that could…

Software Engineering · Computer Science 2022-01-27 Gunnar Kudrjavets , Aditya Kumar , Nachiappan Nagappan , Ayushi Rastogi