English
Related papers

Related papers: Migrating large codebases to C++ Modules

200 papers

Large language models (LLMs) have become increasingly prominent in academia and industry due to their remarkable performance in diverse applications. As these models evolve with increasing parameters, they excel in tasks like sentiment…

Machine Learning · Computer Science 2023-11-14 Le Chen , Arijit Bhattacharjee , Nesreen K. Ahmed , Niranjan Hasabnis , Gal Oren , Bin Lei , Ali Jannesari

This paper presents a method to automatically fix implicit data loss warnings in large C++ projects using Large Language Models (LLMs). Our approach uses the Language Server Protocol (LSP) to gather context, Tree-sitter to extract relevant…

Software Engineering · Computer Science 2026-01-22 Chansong You , Hyun Deok Choi , Jingun Hong

Common and community software packages, such as ROOT, Geant4 and event generators have been a key part of the LHC's success so far and continued development and optimisation will be critical in the future. The challenges are driven by an…

Computational Physics · Physics 2020-09-01 HEP Software Foundation , : , Thea Aarrestad , Simone Amoroso , Markus Julian Atkinson , Joshua Bendavid , Tommaso Boccali , Andrea Bocci , Andy Buckley , Matteo Cacciari , Paolo Calafiura , Philippe Canal , Federico Carminati , Taylor Childers , Vitaliano Ciulli , Gloria Corti , Davide Costanzo , Justin Gage Dezoort , Caterina Doglioni , Javier Mauricio Duarte , Agnieszka Dziurda , Peter Elmer , Markus Elsing , V. Daniel Elvira , Giulio Eulisse , Javier Fernandez Menendez , Conor Fitzpatrick , Rikkert Frederix , Stefano Frixione , Krzysztof L Genser , Andrei Gheata , Francesco Giuli , Vladimir V. Gligorov , Hadrien Benjamin Grasland , Heather Gray , Lindsey Gray , Alexander Grohsjean , Christian Gütschow , Stephan Hageboeck , Philip Coleman Harris , Benedikt Hegner , Lukas Heinrich , Burt Holzman , Walter Hopkins , Shih-Chieh Hsu , Stefan Höche , Philip James Ilten , Vladimir Ivantchenko , Chris Jones , Michel Jouvin , Teng Jian Khoo , Ivan Kisel , Kyle Knoepfel , Dmitri Konstantinov , Attila Krasznahorkay , Frank Krauss , Benjamin Edward Krikler , David Lange , Paul Laycock , Qiang Li , Kilian Lieret , Miaoyuan Liu , Vladimir Loncar , Leif Lönnblad , Fabio Maltoni , Michelangelo Mangano , Zachary Louis Marshall , Pere Mato , Olivier Mattelaer , Joshua Angus McFayden , Samuel Meehan , Alaettin Serhan Mete , Ben Morgan , Stephen Mrenna , Servesh Muralidharan , Ben Nachman , Mark S. Neubauer , Tobias Neumann , Jennifer Ngadiuba , Isobel Ojalvo , Kevin Pedro , Maurizio Perini , Danilo Piparo , Jim Pivarski , Simon Plätzer , Witold Pokorski , Adrian Alan Pol , Stefan Prestel , Alberto Ribon , Martin Ritter , Andrea Rizzi , Eduardo Rodrigues , Stefan Roiser , Holger Schulz , Markus Schulz , Marek Schönherr , Elizabeth Sexton-Kennedy , Frank Siegert , Andrzej Siódmok , Graeme A Stewart , Malik Sudhir , Sioni Paris Summers , Savannah Jennifer Thais , Nhan Viet Tran , Andrea Valassi , Marc Verderi , Dorothea Vom Bruch , Gordon T. Watts , Torre Wenaus , Efe Yazgan

The popularity of the Rust language continues to explode; yet, many critical codebases remain authored in C. Automatically translating C to Rust is thus an appealing course of action. Several works have gone down this path, handling an…

Programming Languages · Computer Science 2026-02-26 Aymeric Fromherz , Jonathan Protzenko

Developers often evolve an existing software system by making internal changes, called migration. Moving to a new framework, changing implementation to improve efficiency, and upgrading a dependency to its latest version are examples of…

Software Engineering · Computer Science 2025-04-15 Celal Ziftci , Stoyan Nikolov , Anna Sjövall , Bo Kim , Daniele Codecasa , Max Kim

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

Critical embedded systems (CES) have become ubiquitous in whether medical, automotive, or industrial. Software failures in such systems are potentially disastrous and could lead to serious consequences not only financially but also…

Software Engineering · Computer Science 2022-08-11 Hafsa Cheddadi , Saad Motahhir , Abdelaziz El Ghzizal

In recent years, there has been a tremendous interest in using generative AI, and particularly large language models (LLMs) in software engineering; indeed there are now several commercially available tools, and many large companies also…

Software Engineering · Computer Science 2025-01-14 Stoyan Nikolov , Daniele Codecasa , Anna Sjovall , Maxim Tabachnyk , Satish Chandra , Siddharth Taneja , Celal Ziftci

On the way to Exascale, programmers face the increasing challenge of having to support multiple hardware architectures from the same code base. At the same time, portability of code and performance are increasingly difficult to achieve as…

Distributed, Parallel, and Cluster Computing · Computer Science 2022-06-14 Thomas Heller , Hartmut Kaiser , Patrick Diehl , Dietmar Fey , Marc Alexander Schweitzer

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

Objective-C is still the language of choice if users want to run their simulation efficiently under the Swarm environment since the Swarm environment itself was written in Objective-C. The language is a fast, object-oriented and easy to…

Multiagent Systems · Computer Science 2007-05-23 Richard Leow , Russell K. Standish

The C++11/14 standard offers a wealth of features aimed at helping programmers write better code. Unfortunately, some of these features may cause subtle programming faults, likely to go unnoticed during code reviews. In this paper we…

Software Engineering · Computer Science 2020-04-10 Ali Parsai , Serge Demeyer , Seph De Busser

Currently, multi/many-core CPUs are considered standard in most types of computers including, mobile phones, PCs or supercomputers. However, the parallelization of applications as well as refactoring/design of applications for efficient…

Distributed, Parallel, and Cluster Computing · Computer Science 2021-05-25 Garip Kusoglu , Berenger Bramas , Stephane Genaud

Translating legacy C codebases to Rust is increasingly demanded for building safety-critical systems. While various approaches have emerged for this task, they face inherent trade-offs: rule-based methods often struggle to satisfy code…

Software Engineering · Computer Science 2026-01-14 Chaofan Wang , Tingrui Yu , Beijun Shen , Jie Wang , Dong Chen , Wenrui Zhang , Yuling Shi , Chen Xie , Xiaodong Gu

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

Rust is a relatively new system programming language that has been experiencing a rapid adoption in the past 10 years. Rust incorporates a memory ownership model enforced at a compile time. Since this model involves zero runtime overhead,…

Programming Languages · Computer Science 2022-09-20 Nikolay Ivanov

Adapting large, object-oriented C++ codebases for hardware acceleration might be extremely challenging, particularly when targeting heterogeneous platforms such as GPUs. Marionette is a C++17 library designed to address this by enabling…

Distributed, Parallel, and Cluster Computing · Computer Science 2025-11-10 Nuno dos Santos Fernandes , Pedro Tomás , Nuno Roma , Frank Winklmeier , Patricia Conde-Muíño

Mutation testing can help minimize the delivery of faulty software. Therefore, it is a recommended practice for developing embedded software in safety-critical cyber-physical systems (CPS). However, state-of-the-art mutation testing…

Software Engineering · Computer Science 2025-07-04 Jaekwon Lee , Fabrizio Pastore , Lionel Briand

Scaling up hardware systems has become an important tactic for improving performance as Moore's law fades. Unfortunately, simulations of large hardware systems are often a design bottleneck due to slow throughput and long build times. In…

Distributed, Parallel, and Cluster Computing · Computer Science 2024-07-31 Steven Herbst , Noah Moroze , Edgar Iglesias , Andreas Olofsson

The world's largest particle accelerator, located at CERN, produces petabytes of data that need to be analysed efficiently, to study the fundamental structures of our universe. ROOT is an open-source C++ data analysis framework, developed…

Distributed, Parallel, and Cluster Computing · Computer Science 2025-01-07 Jolly Chen , Monica Dessole , Ana Lucia Varbanescu