English
Related papers

Related papers: Isolating Compiler Bugs through Compilation Steps …

200 papers

Interest in applying Artificial Intelligence (AI) techniques to compiler optimizations is increasing rapidly, but compiler research has a high entry barrier. Unlike in other domains, compiler and AI researchers do not have access to the…

We propose a new formal criterion for evaluating secure compilation schemes for unsafe languages, expressing end-to-end security guarantees for software components that may become compromised after encountering undefined behavior---for…

Developing secure distributed systems is difficult, and even harder when advanced cryptography must be used to achieve security goals. Following prior work, we advocate using secure program partitioning to synthesize cryptographic…

Cryptography and Security · Computer Science 2024-01-10 Coşku Acay , Joshua Gancher , Rolph Recto , Andrew C. Myers

Detecting tricky bugs in plausible programs, those that pass existing test suites yet still contain bugs, remains a significant challenge in software testing. To address this problem, we propose TrickCatcher, an LLM-powered approach to…

Software Engineering · Computer Science 2025-06-03 Kaibo Liu , Zhenpeng Chen , Yiyang Liu , Jie M. Zhang , Mark Harman , Yudong Han , Yun Ma , Yihong Dong , Ge Li , Gang Huang

Fault-detection, localization, and repair methods are vital to software quality; but it is difficult to evaluate their generality, applicability, and current effectiveness. Large, diverse, realistic datasets of durably-reproducible faults…

By July 2025, smart contracts collectively manage roughly $120 billion in assets. With Solidity remaining the dominant language for smart contract development, the correctness of Solidity compilers has become critically important. However,…

Programming Languages · Computer Science 2025-12-03 Haoyang Ma , Alastair F. Donaldson , Qingchao Shen , Yongqiang Tian , Junjie Chen , Shing-Chi Cheung

Mainstream compilers perform a multitude of analyses and optimizations on the given input program. Each analysis (such as points-to analysis) may generate a program-abstraction (such as points-to graph). Each optimization is typically…

Programming Languages · Computer Science 2024-03-04 Aman Nougrahiya , V. Krishna Nandivada

Automatically detecting software failures is an important task and a longstanding challenge. It requires finding failure-inducing test cases whose test input can trigger the software's fault, and constructing an automated oracle to detect…

Software Engineering · Computer Science 2023-09-12 Tsz-On Li , Wenxi Zong , Yibo Wang , Haoye Tian , Ying Wang , Shing-Chi Cheung , Jeff Kramer

As software becomes larger, programming languages become higher-level, and processors continue to fail to be clocked faster, we'll increasingly require compilers to reduce code bloat, eliminate abstraction penalties, and exploit interesting…

Programming Languages · Computer Science 2018-09-10 Nuno P. Lopes , John Regehr

We present a self-certifying compiler for the COGENT systems language. COGENT is a restricted, polymorphic, higher-order, and purely functional language with linear types and without the need for a trusted runtime or garbage collector. It…

Software bugs cost the global economy billions of dollars each year and take up ~50% of the development time. Once a bug is reported, the assigned developer attempts to identify and understand the source code responsible for the bug and…

Software Engineering · Computer Science 2023-08-24 Parvez Mahbub , Mohammad Masudur Rahman , Ohiduzzaman Shuvo , Avinash Gopal

Bug datasets are vital for enabling deep learning techniques to address software maintenance tasks related to bugs. However, existing bug datasets suffer from precise and scale limitations: they are either small-scale but precise with…

Software Engineering · Computer Science 2024-03-12 He Ye , Zimin Chen , Claire Le Goues

Secure compilation prevents all low-level attacks on compiled code and allows for sound reasoning about security in the source language. In this work we propose a new attacker model for secure compilation that extends the well-known notion…

Traditionally, parsing has been a laborious and error-prone component of compiler development, and most parsers for full industrial programming languages are still written by hand. The author [Zim22] shows that automatic parser generation…

Programming Languages · Computer Science 2022-09-20 Joe Zimmerman

Compilers face an intrinsic tradeoff between compilation speed and code quality. The tradeoff is particularly stark in a dynamic setting where JIT compilation time contributes to application runtime. Many systems now employ multiple…

Programming Languages · Computer Science 2023-11-07 Ben L. Titzer

Software companies spend over 45 percent of cost in dealing with software bugs. An inevitable step of fixing bugs is bug triage, which aims to correctly assign a developer to a new bug. To decrease the time cost in manual work, text…

Software Engineering · Computer Science 2017-04-18 Jifeng Xuan , He Jiang , Yan Hu , Zhilei Ren , Weiqin Zou , Zhongxuan Luo , Xindong Wu

Bug fixing holds significant importance in software development and maintenance. Recent research has made substantial strides in exploring the potential of large language models (LLMs) for automatically resolving software bugs. However, a…

Software Engineering · Computer Science 2025-02-18 Yuwei Zhang , Zhi Jin , Ying Xing , Ge Li , Fang Liu , Jiaxin Zhu , Wensheng Dou , Jun Wei

Despite their wide adoption in various domains (e.g., healthcare, finance, software engineering), Deep Learning (DL)-based applications suffer from many bugs, failures, and vulnerabilities. Reproducing these bugs is essential for their…

Software Engineering · Computer Science 2026-02-27 Mehil B Shah , Mohammad Masudur Rahman , Foutse Khomh

Determining whether a configurable software system has a performance bug or it was misconfigured is often challenging. While there are numerous debugging techniques that can support developers in this task, there is limited empirical…

Software Engineering · Computer Science 2022-03-22 Miguel Velez , Pooyan Jamshidi , Norbert Siegmund , Sven Apel , Christian Kästner

A compiler is fully-abstract if the compilation from source language programs to target language programs reflects and preserves behavioural equivalence. Such compilers have important security benefits, as they limit the power of an…

Programming Languages · Computer Science 2023-06-22 Dominique Devriese , Marco Patrignani , Frank Piessens , Steven Keuchel