English
Related papers

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

200 papers

Change in language use is driven by cultural forces; it is unclear whether that extends to programming languages. They are designed to be used by humans, but interaction with computer hardware rather than a human audience may limit…

Programming Languages · Computer Science 2022-08-29 Timothy L Staples

Code completion has become a common practice for programmers during their daily programming activities. It aims at automatically predicting the next tokens or lines that the programmers tend to use. A good code completion tool can…

Software Engineering · Computer Science 2023-01-11 Chaozheng Wang , Junhao Hu , Cuiyun Gao , Yu Jin , Tao Xie , Hailiang Huang , Zhenyu Lei , Yuetang Deng

Strategy languages enable programmers to compose rewrite rules into strategies and control their application. This is useful in programming languages, e.g., for describing program transformations compositionally, but also in automated…

Programming Languages · Computer Science 2023-04-28 Rongxiao Fu , Ornela Dardha , Michel Steuwer

This article presents a novel framework to provide Formal Languages and Automata Theory students design support for the development of regular expressions. This framework includes a design recipe for regular expressions and a customized…

Formal Languages and Automata Theory · Computer Science 2025-08-06 Marco T. Morazán , Shamil Dzhatdoyev , Josephine Des Rosiers , Tijana Minić , Andrés M. Garced , David Anthony K. Fields

Context] Problems in Requirements Engineering (RE) can lead to serious consequences during the software development lifecycle. [Goal] The goal of this paper is to propose empirically-based guidelines that can be used by different types of…

Software Engineering · Computer Science 2016-11-29 P. Mafra , M. Kalinowski , D. Méndez Fernández , M. Felderer , S. Wagner

Many academic journals ask their authors to provide a list of about five to fifteen keywords, to appear on the first page of each article. Since these key words are often phrases of two or more words, we prefer to call them keyphrases.…

Machine Learning · Computer Science 2007-05-23 Peter D. Turney

Regular expression (RE) matching is a very common functionality that scans a text to find occurrences of patterns specified by an RE; it includes the simpler function of RE recognition. Here we address RE parsing, which subsumes matching by…

Distributed, Parallel, and Cluster Computing · Computer Science 2025-03-11 Angelo Borsotti , Luca Breveglieri , Stefano Crespi Reghizzi , Angelo Morzenti

Large language models (LLMs) show strong performance across natural language processing (NLP), mathematical reasoning, and programming, and recent large reasoning models (LRMs) further emphasize explicit reasoning. Yet their computational…

Artificial Intelligence · Computer Science 2025-10-13 Hyundong Jin , Joonghyuk Hahn , Yo-Sub Han

The work presented in this thesis seeks to improve programmer productivity in the following ways: - by reducing the amount of code that has to be written to construct an application; - by increasing the reliability of the code written; and…

Programming Languages · Computer Science 2010-06-18 Graham Kirby

Coding standards and good practices are fundamental to a disciplined approach to software projects, whatever programming languages they employ. Prolog programming can benefit from such an approach, perhaps more than programming in other…

Programming Languages · Computer Science 2011-05-18 Michael A. Covington , Roberto Bagnara , Richard A. O'Keefe , Jan Wielemaker , Simon Price

Secure coding is a critical yet often overlooked practice in software development. Despite extensive awareness efforts, real-world adoption remains inconsistent due to organizational, educational, and technical barriers. This paper provides…

Software Engineering · Computer Science 2025-10-02 Kiana Kiashemshaki , Mohammad Jalili Torkamani , Negin Mahmoudi

Learning effective representations of source code is critical for any Machine Learning for Software Engineering (ML4SE) system. Inspired by natural language processing, large language models (LLMs) like Codex and CodeGen treat code as…

Software Engineering · Computer Science 2023-07-11 Debeshee Das , Noble Saji Mathews , Alex Mathai , Srikanth Tamilselvam , Kranthi Sedamaki , Sridhar Chimalakonda , Atul Kumar

Developing models that can automatically generate detailed code explanation can greatly benefit software maintenance and programming education. However, existing code-to-text generation models often produce only high-level summaries of code…

Computation and Language · Computer Science 2022-11-29 Haotian Cui , Chenglong Wang , Junjie Huang , Jeevana Priya Inala , Todd Mytkowicz , Bo Wang , Jianfeng Gao , Nan Duan

Recent advances in coding agents have shown remarkable progress in software issue resolution. In practice, real-world issues are typically bug fixes or feature requests in which human developers naturally incorporate refactoring as part of…

Software Engineering · Computer Science 2026-05-22 Zhao Tian , Zifan Zhang , Tao Xiao , Dong Wang , Masanari Kondo , Junjie Chen , Yasutaka Kamei

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

Code-related benchmarks play a critical role in evaluating large language models (LLMs), yet their quality fundamentally shapes how the community interprets model capabilities. In the past few years, awareness of benchmark quality has…

Passwords are still a mainstay of various security systems, as well as the cause of many usability issues. For end-users, many of these issues have been studied extensively, highlighting problems and informing design decisions for better…

Cryptography and Security · Computer Science 2017-08-31 Alena Naiakshina , Anastasia Danilova , Christian Tiefenau , Marco Herzog , Sergej Dechand , Matthew Smith

Program synthesis techniques construct or infer programs from user-provided specifications, such as input-output examples. Yet most specifications, especially those given by end-users, leave the synthesis problem radically ill-posed,…

Artificial Intelligence · Computer Science 2020-10-22 Yewen Pu , Kevin Ellis , Marta Kryven , Josh Tenenbaum , Armando Solar-Lezama

A software release note is one of the essential documents in the software development life cycle. The software release contains a set of information, e.g., bug fixes and security fixes. Release notes are used in different phases, e.g.,…

Software Engineering · Computer Science 2022-04-13 Sristy Sumana Nath , Banani Roy

Given the complexity of modern software systems, it is of great importance that such systems be able to autonomously modify themselves, i.e., self-adapt, with minimal human supervision. It is critical that this adaptation both results in…

Software Engineering · Computer Science 2022-05-13 Todd Wareham , Ronald de Haan