English
Related papers

Related papers: Specification Inference for Evolving Systems

200 papers

Since software performance requirements are documented in natural language, quantifying them into mathematical forms is essential for software engineering. Yet, the vagueness in performance requirements and uncertainty of human cognition…

Software Engineering · Computer Science 2026-04-28 Shihai Wang , Tao Chen

Formal specification generation has recently drawn attention in software engineering as a way to improve program correctness without requiring manual annotations. Large Language Models (LLMs) have shown promise in this area, but early…

Software Engineering · Computer Science 2026-04-07 Ragib Shahariar Ayon , Shibbir Ahmed

Software engineering is not an empirically based discipline. Consequently, many of its practices are based on little more than a generally agreed feeling that something may be true. Part of the problem is that it is both relatively young…

Software Engineering · Computer Science 2019-12-10 Tim Hopkins , Les Hatton

During maintenance, software developers deal with a number of software change requests. Each of those requests is generally written using natural language texts, and it involves one or more domain related concepts. A developer needs to map…

Software Engineering · Computer Science 2018-07-09 Mohammad Masudur Rahman , Chanchal K. Roy

Modern software development is based on a series of rapid incremental changes collaboratively made to large source code repositories by developers with varying experience and expertise levels. The ZeroIn project is aimed at analyzing the…

Software Engineering · Computer Science 2022-04-19 Kalyan Perumalla , Aradhana Soni , Rupam Dey , Steven Rich

Discovering vulnerabilities in applications of real-world complexity is a daunting task: a vulnerability may affect a single line of code, and yet it compromises the security of the entire application. Even worse, vulnerabilities may…

Cryptography and Security · Computer Science 2020-12-10 Gabriele Costa , Andrea Valenza

Standard automatic methods for recognizing problematic development commits can be greatly improved via the incremental application of human+artificial expertise. In this approach, called EMBLEM, an AI tool first explore the software…

Software Engineering · Computer Science 2020-04-08 Huy Tu , Zhe Yu , Tim Menzies

Managing software development productivity and effort are key issues in software organizations. Identifying the most relevant factors influencing project performance is essential for implementing business strategies by selecting and…

Software Engineering · Computer Science 2014-01-22 Adam Trendowicz , Michael Ochs , Axel Wickenkamp , Jürgen Münch , Yasushi Ishigai , Takashi Kawaguchi

Commit messages are valuable resources for describing why code changes are committed to repositories in version control systems (e.g., Git). They effectively help developers understand code changes and better perform software maintenance…

Software Engineering · Computer Science 2025-09-22 Hongyu Kuang , Ning Zhang , Hui Gao , Xin Zhou , Wesley K. G. Assunção , Xiaoxing Ma , Dong Shao , Guoping Rong , He Zhang

Design patterns (DPs) are recognised as a good practice in software development. However, the lack of appropriate documentation often hampers traceability, and their benefits are blurred among thousands of lines of code. Automatic methods…

Software Engineering · Computer Science 2024-01-17 Rafael Barbudo , Aurora Ramírez , Francisco Servant , José Raúl Romero

Commit messages explain code changes in a commit and facilitate collaboration among developers. Several commit message generation approaches have been proposed; however, they exhibit limited success in capturing the context of code changes.…

Software Engineering · Computer Science 2024-02-06 Abhinav Reddy Mandli , Saurabhsingh Rajput , Tushar Sharma

Chaining language model (LM) calls as composable modules is fueling a new way of programming, but ensuring LMs adhere to important constraints requires heuristic "prompt engineering". We introduce LM Assertions, a programming construct for…

Computation and Language · Computer Science 2024-02-05 Arnav Singhvi , Manish Shetty , Shangyin Tan , Christopher Potts , Koushik Sen , Matei Zaharia , Omar Khattab

LLMs can generate SystemVerilog assertions (SVAs) from natural language specs, but single-pass outputs often lack functional coverage due to limited IC design understanding. We propose CoverAssert, an iterative framework that clusters…

Hardware Architecture · Computer Science 2026-04-14 Yonghao Wang , Yang Yin , Hongqin Lyu , Jiaxin Zhou , Zhiteng Chao , Mingyu Shi , Wenchao Ding , Yunlin Du , Jing Ye , Tiancheng Wang , Huawei Li

Unit testing validates the correctness of the unit under test and has become an essential activity in software development process. A unit test consists of a test prefix that drives the unit under test into a particular state, and a test…

Software Engineering · Computer Science 2023-09-20 Weifeng Sun , Hongyan Li , Meng Yan , Yan Lei , Hongyu Zhang

Committing to a version control system means submitting a software change to the system. Each commit can have a message to describe the submission. Several approaches have been proposed to automatically generate the content of such…

Software Engineering · Computer Science 2017-03-29 Siyuan Jiang , Collin McMillan

Public vulnerability databases such as CVE and NVD account for only 60% of security vulnerabilities present in open-source projects, and are known to suffer from inconsistent quality. Over the last two years, there has been considerable…

Software Engineering · Computer Science 2019-11-19 Achyudh Ram , Ji Xin , Meiyappan Nagappan , Yaoliang Yu , Rocío Cabrera Lozoya , Antonino Sabetta , Jimmy Lin

Legacy systems concentrate business rules, architectural decisions, and operational exceptions that often remain implicit in code, data, configuration, and maintenance practices. At the same time, language-model-based coding agents depend…

Software Engineering · Computer Science 2026-05-19 Sanderson Oliveira de Macedo , Ronaldo Martins da Costa

Just-in-Time software defect prediction (JIT-SDP) plays a critical role in prioritizing risky code changes during code review and continuous integration. However, existing datasets often suffer from noisy labels and low precision in…

Software Engineering · Computer Science 2026-04-06 Doha Nam , Taehyoun Kim , Duksan Ryu , Jongmoon Baik

For large software applications, running the whole test suite after each code change is time- and resource-intensive. Regression test selection techniques aim at reducing test execution time by selecting only the tests that are affected by…

Software Engineering · Computer Science 2025-04-29 Sijia Gu , Ali Mesbah

One major problem in maintaining a software system is to understand how many functional features in the system and how these features are implemented. In this paper a novel approach for locating features in code by semantic and dynamic…

Software Engineering · Computer Science 2015-12-15 Ren Wu