English
Related papers

Related papers: Memory Tagging and how it improves C/C++ memory sa…

200 papers

Processor design validation and debug is a difficult and complex task, which consumes the lion's share of the design process. Design bugs that affect processor performance rather than its functionality are especially difficult to catch,…

Hardware Architecture · Computer Science 2020-11-20 Erick Carvajal Barboza , Sara Jacob , Mahesh Ketkar , Michael Kishinevsky , Paul Gratz , Jiang Hu

Even with generational improvements in DRAM technology, memory access latency still remains the major bottleneck for application accelerators, primarily due to limitations in memory interface IPs which cannot fully account for variations in…

Hardware Architecture · Computer Science 2021-08-24 Sasindu Wijeratne , Sanket Pattnaik , Zhiyu Chen , Rajgopal Kannan , Viktor Prasanna

Privacy-preserving computation techniques like homomorphic encryption (HE) and secure multi-party computation (SMPC) enhance data security by enabling processing on encrypted data. However, the significant computational and CPU-DRAM data…

Cryptography and Security · Computer Science 2024-09-26 Mpoki Mwaisela

A compiler bug arises if the behaviour of a compiled concurrent program, as allowed by its architecture memory model, is not a behaviour permitted by the source program under its source model. One might reasonably think that most compiler…

Programming Languages · Computer Science 2024-01-19 Luke Geeson

The C++ Standard Template Library is the flagship example for libraries based on the generic programming paradigm. The usage of this library is intended to minimize the number of classical C/C++ errors, but does not warrant bug-free…

Programming Languages · Computer Science 2011-11-17 N. Pataki

In recent projects on operating-system verification, C and C++ data types are often formalized using a semantics that does not fully specify the precise byte encoding of objects. It is well-known that such an underspecified data-type…

Logic in Computer Science · Computer Science 2012-11-28 Hendrik Tews , Marcus Völp , Tjark Weber

Memory safety is a key security property that stops memory corruption vulnerabilities. Existing sanitizers enforce checks and catch such bugs during development and testing. However, they either provide partial memory safety or have…

Cryptography and Security · Computer Science 2022-02-09 Yuan Li , Wende Tan , Zhizheng Lv , Songtao Yang , Mathias Payer , Ying Liu , Chao Zhang

Compute eXpress Link (CXL) is emerging as a promising memory interface technology. However, its performance characteristics remain largely unclear due to the limited availability of production hardware. Key questions include: What are the…

Performance · Computer Science 2025-10-14 Xi Wang , Jie Liu , Jianbo Wu , Shuangyan Yang , Jie Ren , Bhanu Shankar , Dong Li

C++ leans towards a memory-inefficient storage of structs: The compiler inserts padding bits, while it is not able to exploit knowledge about the range of integers, enums or bitsets. Furthermore, the language provides no support for…

Mathematical Software · Computer Science 2025-12-23 Pawel K. Radtke , Cristian G. Barrera-Hinojosa , Mladen Ivkovic , Tobias Weinzierl

Memory leaks remain prevalent in real-world C/C++ software. Static analyzers such as CodeQL provide scalable program analysis but frequently miss such bugs because they cannot recognize project-specific custom memory-management functions…

Software Engineering · Computer Science 2026-04-29 Huihui Huang , Jieke Shi , Bo Wang , Zhou Yang , David Lo

The paper proposes in-memory computing (IMC) solution for the design and implementation of the Advanced Encryption Standard (AES) based cryptographic algorithm. This research aims at increasing the cyber security of autonomous driverless…

Cryptography and Security · Computer Science 2024-05-10 Hala Ajmi , Fakhreddine Zayer , Amira Hadj Fredj , Belgacem Hamdi , Baker Mohammad , Naoufel Werghi , Jorge Dias

VeriFast is a prototype tool based on separation logic for modular verification of C and Java programs. We are in the process of adding support for C++. In this report, we describe the features of C++ for which we added support so far, as…

Logic in Computer Science · Computer Science 2022-12-29 Niels Mommen , Bart Jacobs

This paper explores the relationship between C++ templates and partial evaluation. Templates were designed to support generic programming, but unintentionally provided the ability to perform compile-time computations and code generation.…

Programming Languages · Computer Science 2007-05-23 Todd L. Veldhuizen

Memory safety bugs, such as buffer overflows and use-after-frees, are the leading causes of software safety issues in production. Software-based approaches, e.g., Address Sanitizer (ASAN), can detect such bugs with high precision, but with…

Cryptography and Security · Computer Science 2026-04-21 Mingkai Li , Hang Ye , Joseph Devietti , Suman Jana , Tanvir Ahmed Khan

Programmers using native languages such as C, C++, or Rust can implement custom memory allocation strategies to improve execution time. In their paper titled "Reconsidering Custom Memory Allocation" almost 25 years ago, Berger et al. showed…

Programming Languages · Computer Science 2026-05-19 Nicolas van Kempen , Emery D. Berger

Resistive random-access memory (RRAM) is gaining popularity due to its ability to offer computing within the memory and its non-volatile nature. The unique properties of RRAM, such as binary switching, multi-state switching, and device…

Emerging Technologies · Computer Science 2024-07-08 Simranjeet Singh , Farhad Merchant , Sachin Patkar

Massive off-chip accesses in GPUs are the main performance bottleneck, and we divided these accesses into three types: (1) Write, (2) Data-Read, and (3) Read-Only. Besides, We find that many writes are duplicate, and the duplication can be…

Hardware Architecture · Computer Science 2024-08-20 Wei Zhao , Dan Feng , Wei Tong , Xueliang Wei , Bing Wu

Multi-Party Computation (MPC) is a technique enabling data from several sources to be used in a secure computation revealing only the result while protecting the original data, facilitating shared utilization of data sets gathered by…

Cryptography and Security · Computer Science 2020-07-03 Pierre-Francois Wolfe , Rushi Patel , Robert Munafo , Mayank Varia , Martin Herbordt

The deployment of large-scale distributed systems, e.g., publish-subscribe platforms, that operate over sensitive data using the infrastructure of public cloud providers, is nowadays heavily hindered by the surging lack of trust toward the…

Distributed, Parallel, and Cluster Computing · Computer Science 2019-06-27 Christian Göttel , Rafael Pires , Isabelly Rocha , Sébastien Vaucher , Pascal Felber , Marcelo Pasin , Valerio Schiavoni

In this paper is proposed a technique to integrate and simulate a dynamic memory in a multiprocessor framework based on C/C++/SystemC. Using host machine's memory management capabilities, dynamic data processing is supported without…

Hardware Architecture · Computer Science 2011-11-09 O. Villa , P. Schaumont , I. Verbauwhede , M. Monchiero , G. Palermo