English
Related papers

Related papers: Combining Program Analysis and Statistical Languag…

200 papers

The size and complexity of software applications is increasing at an accelerating pace. Source code repositories (along with their dependencies) require vast amounts of labor to keep them tested, maintained, and up to date. As the…

Software Engineering · Computer Science 2024-06-14 Ivan R. Ivanov , Joachim Meyer , Aiden Grossman , William S. Moses , Johannes Doerfert

Modeling structure and behavior of software systems plays a crucial role in the industrial practice of software engineering. As with other software engineering artifacts, software models are subject to evolution. Supporting modelers in…

Software Engineering · Computer Science 2026-01-21 Christof Tinnes , Alisa Welter , Sven Apel

In the last two decades, modal and description logics have been applied to numerous areas of computer science, including knowledge representation, formal verification, database theory, distributed computing and, more recently, semantic web…

Logic in Computer Science · Computer Science 2014-01-16 Roberto Sebastiani , Michele Vescovi

Code completion has become an essential component of integrated development environments. Contemporary code completion methods rely on the abstract syntax tree (AST) to generate syntactically correct code. However, they cannot fully capture…

Software Engineering · Computer Science 2021-03-18 Yanlin Wang , Hui Li

Software development teams establish elaborate continuous integration pipelines containing automated test cases to accelerate the development process of software. Automated tests help to verify the correctness of code modifications…

Software Engineering · Computer Science 2023-12-05 Chidera Biringa , Gokhan Kul

Code completion is a prominent application of Large Language Models (LLMs) in software engineering. Due to the near real-time response requirements of this task, base models with small to medium-sized parameters are typically employed,…

Software Engineering · Computer Science 2025-09-18 Dongjun Yu , Xiao Yan , Zhenrui Li , Jipeng Xiao , Haochuan He , Yongda Yu , Hao Zhang , Guoping Rong , Xiaobo Huang

Writing tests is a time-consuming yet essential task during software development. We propose to leverage recent advances in deep learning for text and code generation to assist developers in writing tests. We formalize the novel task of…

Software Engineering · Computer Science 2023-03-08 Pengyu Nie , Rahul Banerjee , Junyi Jessy Li , Raymond J. Mooney , Milos Gligoric

As software systems become more complex, modern software development requires more attention to human perspectives, and active participation of development teams in requirements elicitation tasks. In this context, incomplete or ambiguous…

Software Engineering · Computer Science 2021-06-29 Carlos Alberto dos Santos , Fabio Petrillo

Writing documentation about software internals is rarely considered a rewarding activity. It is highly time-consuming and the resulting documentation is fragile when the software is continuously evolving in a multi-developer setting.…

Software Engineering · Computer Science 2013-11-13 Tobias Kuhn , Alexandre Bergel

Automated scoring plays a crucial role in education by reducing the reliance on human raters, offering scalable and immediate evaluation of student work. While large language models (LLMs) have shown strong potential in this task, their use…

Computation and Language · Computer Science 2026-03-26 Yun Wang , Zhaojun Ding , Xuansheng Wu , Siyue Sun , Ninghao Liu , Xiaoming Zhai

Much of software-engineering research relies on the naturalness of code, the fact that code, in small code snippets, is repetitive and can be predicted using statistical language models like n-gram. Although powerful, training such models…

Software Engineering · Computer Science 2022-08-15 Ahmed Khanfir , Matthieu Jimenez , Mike Papadakis , Yves Le Traon

Superoptimization is the task of transforming a program into a faster one while preserving its input-output behavior. In this work, we investigate whether large language models (LLMs) can serve as superoptimizers, generating assembly…

Computation and Language · Computer Science 2026-02-02 Anjiang Wei , Tarun Suresh , Huanmi Tan , Yinglun Xu , Gagandeep Singh , Ke Wang , Alex Aiken

Transformer-based language models for automatic code completion have shown great promise so far, yet the evaluation of these models rarely uses real data. This study provides both quantitative and qualitative assessments of three public…

Software Engineering · Computer Science 2024-02-27 Maliheh Izadi , Jonathan Katzy , Tim van Dam , Marc Otten , Razvan Mihai Popescu , Arie van Deursen

Knowing the precise format of a program's input is a necessary prerequisite for systematic testing. Given a program and a small set of sample inputs, we (1) track the data flow of inputs to aggregate input fragments that share the same data…

Programming Languages · Computer Science 2017-08-30 Matthias Höschele , Alexander Kampmann , Andreas Zeller

Source code is changed for a reason, e.g., to adapt, correct, or adapt it. This reason can provide valuable insight into the development process but is rarely explicitly documented when the change is committed to a source code repository.…

Software Engineering · Computer Science 2021-05-03 Sebastian Hönel , Morgan Ericsson , Welf Löwe , Anna Wingkvist

Modern code review is a process in which an incremental code contribution made by a code author is reviewed by one or more peers before it is committed to the version control system. An important element of modern code review is verifying…

Descriptive comments play a crucial role in the software engineering process. They decrease development time, enable better bug detection, and facilitate the reuse of previously written code. However, comments are commonly the last of a…

Computation and Language · Computer Science 2019-04-02 Jessica Moore , Ben Gelman , David Slater

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

Concolic testing is a popular dynamic validation technique that can be used for both model checking and automatic test case generation. We have recently introduced concolic testing in the context of logic programming. In contrast to…

Logic in Computer Science · Computer Science 2016-08-11 Fred Mesnard , Etienne Payet , German Vidal

Formal specification is widely employed in the construction of high-quality software. However, there is often a huge gap between formal specification and actual implementation. While there is already a vast body of work on software testing…

Programming Languages · Computer Science 2012-03-29 Zhiqiang Ren , Hongwei Xi