English
Related papers

Related papers: Rusty Variation: Deadlock-free Sessions with Failu…

200 papers

Safe kernel extensions have gained significant traction, evolving from simple packet filters to large, complex programs that customize storage, networking, and scheduling. Existing kernel extension mechanisms like eBPF rely on in-kernel…

Fuzzing is a popular bug detection technique achieved by testing software executables with random inputs. This technique can also be extended to libraries by constructing executables that call library APIs, known as fuzz drivers. Automated…

Software Engineering · Computer Science 2023-12-20 Yehong Zhang , Jun Wu , Hui Xu

Register-Transfer Level (RTL) verification is a primary bottleneck, consuming 60-70% of development time. While Large Language Models (LLMs) show promise for RTL automation, their performance and research focus have overwhelmingly centered…

Artificial Intelligence · Computer Science 2025-12-10 Yujie Zhao , Zhijing Wu , Boqin Yuan , Zhongming Yu , Hejia Zhang , Wentao Ni , Chia-Tung Ho , Haoxing Ren , Jishen Zhao

Drivers are written in C or restricted subsets of C++ on all production-grade server, desktop, and mobile operating systems. They account for 66% of the code in Linux, but 39 out of 40 security bugs related to memory safety found in Linux…

In Rust, unsafe code is the sole source of potential undefined behaviors. To avoid misuse, Rust developers should clarify the safety properties for each unsafe API. However, the community currently lacks a key standard for safety…

Programming Languages · Computer Science 2026-04-28 Zihao Rao , Jiping Zhou , Hongliang Tian , Xin Wang , Hui Xu

Session types provide a typing discipline for message-passing systems. However, their theory often assumes an ideal world: one in which everything is reliable and without failures. Yet this is in stark contrast with distributed systems in…

Logic in Computer Science · Computer Science 2025-04-23 Adam D. Barwell , Ping Hou , Nobuko Yoshida , Fangyi Zhou

Large Language Models (LLMs) are widely used for code generation. However, the correctness of code generated by LLMs remains a concern. A potential remedy to this concern is to have LLMs generate formal correctness proofs along with such…

Software Engineering · Computer Science 2026-05-12 Nongyu Di , Tianyu Chen , Shan Lu , Shuai Lu , Yeyun Gong , Peng Cheng , Jacob R. Lorch , Yuan Yao , Xiaoxing Ma

Given a textual passage and an answer, humans are able to ask questions with various expressions, but this ability is still challenging for most question generation (QG) systems. Existing solutions mainly focus on the internal knowledge…

Computation and Language · Computer Science 2023-10-24 Qi Gou , Zehua Xia , Bowen Yu , Haiyang Yu , Fei Huang , Yongbin Li , Nguyen Cam-Tu

Parallel programming often requires developers to handle complex computational tasks that can yield many errors in its development cycle. Rust is a performant low-level language that promises memory safety guarantees with its compiler,…

Distributed, Parallel, and Cluster Computing · Computer Science 2025-02-24 Eduardo M. Martins , Leonardo G. Faé , Renato B. Hoffmann , Lucas S. Bianchessi , Dalvan Griebler

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-to-Rust transpilation is essential for modernizing legacy C code while enhancing safety and interoperability with modern Rust ecosystems. However, no dataset currently exists for evaluating whether a system can transpile C into safe Rust…

Software Engineering · Computer Science 2025-10-03 Anirudh Khatry , Robert Zhang , Jia Pan , Ziteng Wang , Qiaochu Chen , Greg Durrett , Isil Dillig

Multiparty session types are designed to abstractly capture the structure of communication protocols and verify behavioural properties. One important such property is progress, i.e., the absence of deadlock. Distributed algorithms often…

Logic in Computer Science · Computer Science 2025-10-29 Lukas Bartl , Julian Linne , Kirstin Peters

Rotten green tests are passing tests which have, at least, one assertion not executed. They give developers a false confidence. In this paper, we present, RTj, a framework that analyzes test cases from Java projects with the goal of…

Software Engineering · Computer Science 2019-12-17 Matias Martinez , Anne Etien , Stéphane Ducasse , Christopher Fuhrman

Runtime Verification (RV) refers to a family of techniques in which system executions are observed and confronted to formal specifications, with the aim of identifying faults. In Offline RV, observation is done in a first step and…

Formal Languages and Automata Theory · Computer Science 2024-03-06 Erwan Mahe , Boutheina Bannour , Christophe Gaston , Pascale Le Gall

Many concurrent programs assign priorities to threads to improve responsiveness. When used in conjunction with synchronization mechanisms such as mutexes and condition variables, however, priorities can lead to priority inversions, in which…

Programming Languages · Computer Science 2023-04-10 Stefan K. Muller , Kyle Singer , Devyn Terra Keeney , Andrew Neth , Kunal Agrawal , I-Ting Angelina Lee , Umut A. Acar

This paper explores how design patterns could be revisited in the era of mainstream functional programming languages. I discuss the kinds of knowledge that ought to be represented as functional design patterns: architectural concepts that…

Programming Languages · Computer Science 2023-07-17 Will Crichton

Distributed systems adopt weak consistency to ensure high availability and low latency, but state convergence is hard to guarantee due to conflicts. Experts carefully design replicated data types (RDTs) that resemble sequential data types…

Programming Languages · Computer Science 2024-12-09 Kevin De Porre , Carla Ferreira , Elisa Gonzalez Boix

Rewriting C code in Rust provides stronger memory safety, yet migrating large codebases such as the 32-million-line Linux kernel remains challenging. While rule-based translators (e.g., C2Rust) provide accurate yet largely unsafe Rust…

Programming Languages · Computer Science 2025-04-01 Yuchen Liu , Junhao Hu , Yingdi Shan , Ge Li , Yanzhen Zou , Yihong Dong , Tao Xie

A promising approach to unifying functional and imperative programming paradigms is to localize mutation using linear or affine types. Haskell, a purely functional language, was recently extended with linear types by Bernardy et al., in the…

Programming Languages · Computer Science 2026-04-28 Yusuke Matsushita , Hiromi Ishii

Go is a production-level statically typed programming language whose design features explicit message-passing primitives and lightweight threads, enabling (and encouraging) programmers to develop concurrent systems where components interact…

Programming Languages · Computer Science 2017-03-01 Julien Lange , Nicholas Ng , Bernardo Toninho , Nobuko Yoshida