English
Related papers

Related papers: Towards the Systematic Testing of Regular Expressi…

200 papers

Fuzzing consists of repeatedly testing an application with modified, or fuzzed, inputs with the goal of finding security vulnerabilities in input-parsing code. In this paper, we show how to automate the generation of an input grammar…

Artificial Intelligence · Computer Science 2017-01-26 Patrice Godefroid , Hila Peleg , Rishabh Singh

Reverse engineering (RE) of x86 binaries is indispensable for malware and firmware analysis, but remains slow due to stripped metadata and adversarial obfuscation. Large Language Models (LLMs) offer potential for improving RE efficiency…

Cryptography and Security · Computer Science 2026-03-09 Darrin Lea , James Ghawaly , Golden Richard , Aisha Ali-Gombe , Andrew Case

Retrieval augmentation has become an effective solution to empower large language models (LLMs) with external and verified knowledge sources from the database, which overcomes the limitations and hallucinations of LLMs in handling…

Information Retrieval · Computer Science 2023-11-21 Tong Wu , Yulei Qin , Enwei Zhang , Zihan Xu , Yuting Gao , Ke Li , Xing Sun

When building enterprise applications (EAs) on Java frameworks (e.g., Spring), developers often configure application components via metadata (i.e., Java annotations and XML files). It is challenging for developers to correctly use…

Software Engineering · Computer Science 2025-08-29 Md Mahir Asef Kabir , Xiaoyin Wang , Na Meng

PEGs are a formal grammar foundation for describing syntax, and are not hard to generate parsers with a plain recursive decent parsing. However, the large amount of C-stack consumption in the recursive parsing is not acceptable especially…

Programming Languages · Computer Science 2015-11-12 Shun Honda , Kimio Kuramitsu

Synthetic datasets constructed from formal languages allow fine-grained examination of the learning and generalization capabilities of machine learning systems for sequence classification. This article presents a new benchmark for machine…

Many programming languages and tools, ranging from grep to the Java String library, contain regular expression matchers. Rather than first translating a regular expression into a deterministic finite automaton, such implementations…

Logic in Computer Science · Computer Science 2011-08-17 Asiri Rathnayake , Hayo Thielecke

Existing LLM-based compiler fuzzers often produce syntactically or semantically invalid test programs, limiting their effectiveness in exercising compiler optimizations and backend components. We introduce ReFuzzer, a framework for refining…

Software Engineering · Computer Science 2025-09-02 Iti Shree , Karine Even-Mendoza , Tomasz Radzik

This paper documents a year-long experiment to "profile" the process of learning a programming language: gathering data to understand what makes a language hard to learn, and using that data to improve the learning process. We added…

Programming Languages · Computer Science 2024-01-03 Will Crichton , Shriram Krishnamurthi

Fuzzing has contributed to automatically identifying bugs and vulnerabilities in the software testing field. Although it can efficiently generate crashing inputs, these inputs are usually analyzed manually. Several root cause analysis (RCA)…

Cryptography and Security · Computer Science 2023-03-13 Keisuke Nishimura , Yuichi Sugiyama , Yuki Koike , Masaya Motoda , Tomoya Kitagawa , Toshiki Takatera , Yuma Kurogome

Although large language models (LLMs) have been touted for their ability to generate natural-sounding text, there are growing concerns around possible negative effects of LLMs such as data memorization, bias, and inappropriate language.…

Machine Learning · Computer Science 2023-05-10 Michael Kuchnik , Virginia Smith , George Amvrosiadis

Network protocols are the foundation of modern communication, yet their implementations often contain semantic vulnerabilities stemming from inadequate understanding of specification semantics. Existing gray-box and black-box testing…

Cryptography and Security · Computer Science 2026-03-09 Yanbang Sun , Quan Luo , Yuelin Wang , Qian Chen , Benjin Liu , Ruiqi Chen , Qing Huang , Xiaohong Li , Junjie Wang

Retrieval Augmented Generation (RAG) has advanced software engineering tasks but remains underexplored in unit test generation. To bridge this gap, we investigate the efficacy of RAG-based unit test generation for machine learning (ML/DL)…

Software Engineering · Computer Science 2025-10-20 Jiho Shin , Nima Shiri Harzevili , Reem Aleithan , Hadi Hemmati , Song Wang

Dynamic analysis, through rehosting, is an important capability for security assessment in embedded systems software. Existing rehosting techniques aim to provide high-fidelity execution by accurately emulating hardware and peripheral…

In this project, we explore the concept of invertibility applied to serialisation and lexing frameworks. Recall that, on one hand, serialisation is the process of taking a data structure and writing it to a bit array while parsing is the…

Programming Languages · Computer Science 2024-12-19 Samuel Chassot , Viktor Kunčak

Requirements Engineering (RE) is the initial step towards building a software system. The success or failure of a software project is firmly tied to this phase, based on communication among stakeholders using natural language. The problem…

Software Engineering · Computer Science 2021-12-07 Mohammad Kasra Habib , Stefan Wagner , Daniel Graziotin

Error recovery is an essential feature for a parser that should be plugged in Integrated Development Environments (IDEs), which must build Abstract Syntax Trees (ASTs) even for syntactically invalid programs in order to offer features such…

Programming Languages · Computer Science 2019-10-02 Sérgio Queiroz de Medeiros , Gilney de Azevedo Alvez Junior , Fabio Mascarenhas

Refactoring is a common practice in software development, aimed at improving the internal code structure in order to make it easier to understand and modify. Consequently, it is often assumed that refactoring makes the code less prone to…

Software Engineering · Computer Science 2025-05-14 Isabella Ferreira , Lawrence Arkoh , Anderson Uchôa , Ana Carla Bibiano , Alessandro Garcia , Wesley K. G. Assunção

Fuzz Testing is a largely automated testing technique that provides random and unexpected input to a program in attempt to trigger failure conditions. Much of the research conducted thus far into Fuzz Testing has focused on developing…

Software Engineering · Computer Science 2019-07-30 Matthew Kelly , Christoph Treude , Alex Murray

With the rapid adoption of large language models (LLMs) in automated code refactoring, assessing and ensuring functional equivalence between LLM-generated refactoring and the original implementation becomes critical. While prior work…

Software Engineering · Computer Science 2026-02-18 Simantika Bhattacharjee Dristi , Matthew B. Dwyer
‹ Prev 1 3 4 5 6 7 10 Next ›