English
Related papers

Related papers: Regexes are Hard: Decision-making, Difficulties, a…

200 papers

Software security has been an important research topic over the years. The community has proposed processes and tools for secure software development and security analysis. However, a significant number of vulnerabilities remains in…

Software Engineering · Computer Science 2024-06-07 Steven Arzt , Linda Schreiber , Dominik Appelt

TypeScript is a quickly evolving superset of JavaScript with active development of new features. Our paper seeks to understand how quickly these features are adopted by the developer community. Existing work in JavaScript shows the adoption…

Software Engineering · Computer Science 2023-03-20 Joshua D. Scarsbrook , Mark Utting , Ryan K. L. Ko

Program synthesis is a class of regression problems where one seeks a solution, in the form of a source-code program, mapping the inputs to their corresponding outputs exactly. Due to its precise and combinatorial nature, program synthesis…

Artificial Intelligence · Computer Science 2018-06-08 Yewen Pu , Zachery Miranda , Armando Solar-Lezama , Leslie Pack Kaelbling

Large pre-trained language models such as GPT-3, Codex, and Google's language model are now capable of generating code from natural language specifications of programmer intent. We view these developments with a mixture of optimism and…

Software Engineering · Computer Science 2021-12-07 Naman Jain , Skanda Vaidyanath , Arun Iyer , Nagarajan Natarajan , Suresh Parthasarathy , Sriram Rajamani , Rahul Sharma

Retrieval-augmented generation (RAG) generally enhances large language models' (LLMs) ability to solve knowledge-intensive tasks. But RAG may also lead to performance degradation due to imperfect retrieval and the model's limited ability to…

Computation and Language · Computer Science 2025-05-29 Shuyang Cao , Karthik Radhakrishnan , David Rosenberg , Steven Lu , Pengxiang Cheng , Lu Wang , Shiyue Zhang

Code changes are an integral part of the software development process. Many code changes are meant to improve the code without changing its functional behavior, e.g., refactorings and performance improvements. Unfortunately, validating…

Software Engineering · Computer Science 2025-02-25 Lars Gröninger , Beatriz Souza , Michael Pradel

As Large Language Models (LLMs) are deployed with increasing real-world responsibilities, it is important to be able to specify and constrain the behavior of these systems in a reliable manner. Model developers may wish to set explicit…

Artificial Intelligence · Computer Science 2024-03-11 Norman Mu , Sarah Chen , Zifan Wang , Sizhe Chen , David Karamardian , Lulwa Aljeraisy , Basel Alomair , Dan Hendrycks , David Wagner

Reinforcement learning (RL) is emerging as a powerful paradigm for enabling large language models (LLMs) to perform complex reasoning tasks. Recent advances indicate that integrating RL with retrieval-augmented generation (RAG) allows LLMs…

Computation and Language · Computer Science 2025-08-13 Wentao Jiang , Xiang Feng , Zengmao Wang , Yong Luo , Pingbo Xu , Zhe Chen , Bo Du , Jing Zhang

A great part of software development involves conceptualizing or communicating the underlying procedures and logic that needs to be expressed in programs. One major difficulty of programming is turning concept into code, especially when…

Software Engineering · Computer Science 2021-09-23 Frank F. Xu , Bogdan Vasilescu , Graham Neubig

Despite recent advances, Large Language Models (LLMs) still generate vulnerable code. Retrieval-Augmented Generation (RAG) has the potential to enhance LLMs for secure code generation by incorporating external security knowledge. However,…

Cryptography and Security · Computer Science 2026-03-17 Jiahao Shi , Tianyi Zhang

Regular expressions constitute a fundamental notion in formal language theory and are frequently used in computer science to define search patterns. A classic algorithm for these problems constructs and simulates a non-deterministic finite…

Computational Complexity · Computer Science 2016-09-28 Arturs Backurs , Piotr Indyk

The design of effective programming languages, libraries, frameworks, tools, and platforms for data engineering strongly depends on their ease and correctness of use. Anyone who ignores that it is humans who use these tools risks building…

Software Engineering · Computer Science 2025-04-24 Max Neuwinger , Dirk Riehle

This work aims at discussing the complexity aspect of software while demonstrating its relationship with security. Complexity is an essential part of software; however, numerous studies indicate that they increase the vulnerability of the…

Software Engineering · Computer Science 2020-02-18 Mamdouh Alenezi , Mohammad Zarour

The evidence-based approach has increasingly been employed to synthesize empirical findings from the primary research in software engineering. Nevertheless, the reproducibility of evidence-based software engineering (EBSE) studies seems to…

Software Engineering · Computer Science 2021-03-03 Zheng Li

We target the problem of provably computing the equivalence between two complex expression trees. To this end, we formalize the problem of equivalence between two such programs as finding a set of semantics-preserving rewrite rules from one…

Programming Languages · Computer Science 2021-06-10 Steve Kommrusch , Théo Barollet , Louis-Noël Pouchet

Algorithmic reasoning refers to the ability to understand the complex patterns behind the problem and decompose them into a sequence of reasoning steps towards the solution. Such nature of algorithmic reasoning makes it a challenge for…

While Retrieval-Augmented Generation (RAG) is increasingly adopted to ground Large Language Models (LLMs) in software artifacts, the optimal configuration of its components remains an open question for software engineering (SE) tasks. The…

Software Engineering · Computer Science 2026-05-15 Qiang Ke , Yanjie Zhao , Hongjin Leng , Shengming Zhao , Haoyu Wang

We study 4 problems in string matching, namely, regular expression matching, approximate regular expression matching, string edit distance, and subsequence indexing, on a standard word RAM model of computation that allows logarithmic-sized…

Data Structures and Algorithms · Computer Science 2008-09-22 Philip Bille , Martin Farach-Colton

This paper proposes CES, a task to evaluate the abilities of LLMs in simulating program execution and using that reasoning in programming tasks. Besides measuring the correctness of variable predictions during execution simulation, CES…

Software Engineering · Computer Science 2026-04-08 Changshu Liu , Yang Chen , Reyhaneh Jabbarvand

Reimplementing solutions to previously solved software engineering problems is not only inefficient but also introduces inadequate and error-prone code. Many existing methods achieve impressive performance on this issue by using…

Software Engineering · Computer Science 2022-10-04 Usama Nadeem , Noah Ziems , Shaoen Wu