English
Related papers

Related papers: Finding Compiler Bugs through Cross-Language Code …

200 papers

Automatically locating a bug within a large codebase remains a significant challenge for developers. Existing techniques often struggle with generalizability and deployment due to their reliance on application-specific data and large model…

Software Engineering · Computer Science 2024-07-04 Mahinthan Chandramohan , Dai Quoc Nguyen , Padmanabhan Krishnan , Jovan Jancic

Existing iterative compilation and machine-learning-based optimization techniques have been proven very successful in achieving better optimizations than the standard optimization levels of a compiler. However, they were not engineered to…

Programming Languages · Computer Science 2020-08-11 Kyriakos Georgiou , Zbigniew Chamski , Andres Amaya Garcia , David May , Kerstin Eder

Since compiler optimization is the most common source contributing to binary code differences in syntax, testing the resilience against the changes caused by different compiler optimization settings has become a standard evaluation step for…

Programming Languages · Computer Science 2021-03-26 Xiaolei Ren , Michael Ho , Jiang Ming , Yu Lei , Li Li

Fuzzing is an increasingly popular technique for verifying software functionalities and finding security vulnerabilities. However, current mutation-based fuzzers cannot effectively test database management systems (DBMSs), which strictly…

Cryptography and Security · Computer Science 2020-06-04 Rui Zhong , Yongheng Chen , Hong Hu , Hangfan Zhang , Wenke Lee , Dinghao Wu

Field Programmable Gate Array (FPGA) logic synthesis compilers (e.g., Vivado, Iverilog, Yosys, and Quartus) are widely applied in Electronic Design Automation (EDA), such as the development of FPGA programs.However, defects (i.e., incorrect…

Hardware Architecture · Computer Science 2024-07-18 Zhihao Xu , Shikai Guo , Guilin Zhao , Peiyu Zou , Xiaochen Li , He Jiang

This paper presents a framework that integrates Large Language Models (LLMs) into translation validation, targeting LLVM compiler transformations where formal verification tools fall short. Our framework first utilizes existing formal…

Programming Languages · Computer Science 2024-02-02 Yanzhao Wang , Fei Xie

Automatically fixing compilation errors can greatly raise the productivity of software development, by guiding the novice or AI programmers to write and debug code. Recently, learning-based program repair has gained extensive attention and…

Software Engineering · Computer Science 2022-10-11 Xueyang Li , Shangqing Liu , Ruitao Feng , Guozhu Meng , Xiaofei Xie , Kai Chen , Yang Liu

Fuzzing is a popular dynamic program analysis technique used to find vulnerabilities in complex software. Fuzzing involves presenting a target program with crafted malicious input designed to cause crashes, buffer overflows, memory errors,…

Software Engineering · Computer Science 2017-11-15 Mohit Rajpal , William Blum , Rishabh Singh

Deep learning (DL) libraries, widely used in AI applications, often contain vulnerabilities like buffer overflows and use-after-free errors. Traditional fuzzing struggles with the complexity and API diversity of DL libraries such as…

Software Engineering · Computer Science 2025-01-09 Kunpeng Zhang , Shuai Wang , Jitao Han , Xiaogang Zhu , Xian Li , Shaohua Wang , Sheng Wen

Large Language Models (LLMs) have shown remarkable capabilities in processing both natural and programming languages, which have enabled various applications in software engineering, such as requirement engineering, code generation, and…

Software Engineering · Computer Science 2024-01-12 Ziyu Li , Donghwan Shin

Collaborative fuzzing combines multiple individual fuzzers and dynamically chooses appropriate combinations for different programs. Unlike individual fuzzers that rely on specific assumptions, collaborative fuzzing relaxes assumptions on…

Cryptography and Security · Computer Science 2025-07-23 Wenxuan Shi , Hongwei Li , Jiahao Yu , Xinqian Sun , Wenbo Guo , Xinyu Xing

There are many declarative frameworks that allow us to implement code formatters relatively easily for any specific language, but constructing them is cumbersome. The first problem is that "everybody" wants to format their code differently,…

Programming Languages · Computer Science 2016-06-30 Terence Parr , Jurgin Vinju

Guided fuzzing has, in recent years, been able to uncover many new vulnerabilities in real-world software due to its fast input mutation strategies guided by path-coverage. However, most fuzzers are unable to achieve high coverage in deeper…

Software Engineering · Computer Science 2019-10-14 Saahil Ognawala , Fabian Kilger , Alexander Pretschner

Software fuzzing has become a cornerstone in automated vulnerability discovery, yet existing mutation strategies often lack semantic awareness, leading to redundant test cases and slow exploration of deep program states. In this work, I…

Cryptography and Security · Computer Science 2025-11-07 Shiyin Lin

Database Management System (DBMS) is the key component for data-intensive applications. Recently, researchers propose many tools to comprehensively test DBMS systems for finding various bugs. However, these tools only cover a small subset…

Cryptography and Security · Computer Science 2025-03-11 Yu Liang , Hong Hu

In mutation testing, the quality of a test suite is evaluated by introducing faults into a program and determining whether the program's tests detect them. Most existing approaches for mutation testing involve the application of a fixed set…

Software Engineering · Computer Science 2025-03-10 Frank Tip , Jonathan Bell , Max Schaefer

Deep learning (DL) frameworks serve as the backbone for a wide range of artificial intelligence applications. However, bugs within DL frameworks can cascade into critical issues in higher-level applications, jeopardizing reliability and…

Software Engineering · Computer Science 2025-10-20 Shiwen Ou , Yuwei Li , Lu Yu , Chengkun Wei , Tingke Wen , Qiangpu Chen , Yu Chen , Haizhi Tang , Zulie Pan

Empirical evidence indicates that LLMs exhibit spontaneous cross-lingual alignment. However, although LLMs show promising cross-lingual alignment in Information Extraction (IE), a significant imbalance across languages persists,…

Computation and Language · Computer Science 2025-06-03 Yuxin Zuo , Wenxuan Jiang , Wenxuan Liu , Zixuan Li , Long Bai , Hanbin Wang , Yutao Zeng , Xiaolong Jin , Jiafeng Guo , Xueqi Cheng

Software development life cycle is profoundly influenced by bugs: their introduction, identification, and eventual resolution account for a significant portion of software cost. This has motivated software engineering researchers and…

Software Engineering · Computer Science 2023-03-14 Matthew Jin , Syed Shahriar , Michele Tufano , Xin Shi , Shuai Lu , Neel Sundaresan , Alexey Svyatkovskiy

Finding bugs is key to the correctness of compilers in wide use today. If the behaviour of a compiled program, as allowed by its architecture memory model, is not a behaviour of the source program under its source model, then there is a…

Programming Languages · Computer Science 2024-01-31 Luke Geeson , Lee Smith