English
Related papers

Related papers: Program Understanding: A Reengineering Case for th…

200 papers

Service-orientation views applications as orchestrations of independent software services that (1) implement functions that are reusable across many applications, (2) can be invoked remotely, and (3) are packaged to decouple potential…

Software Engineering · Computer Science 2019-06-04 Hafedh Mili , Ghizlane El-Boussaidi , Anas Shatnawi , Yann-Gaël Guéhéneuc , Naouel Moha , Jean Privat , Petko Vatlchev

Software Engineering (SE) faces simultaneous pressure from AI automation (reducing code production costs) and hardware-energy constraints (amplifying failure costs). We position that SE must redefine itself around human discernment-intent…

Software Engineering · Computer Science 2026-02-05 Karina Kohl , Luigi Carro

Source Code Summarization is the task of writing short, natural language descriptions of source code. The main use for these descriptions is in software documentation e.g. the one-sentence Java method descriptions in JavaDocs. Code…

Computation and Language · Computer Science 2019-04-05 Alexander LeClair , Collin McMillan

Automating the conversion of user interface design into code (image-to-code or image-to-UI) is an active area of software engineering research. However, the state-of-the-art solutions do not achieve high fidelity to the original design, as…

Software Engineering · Computer Science 2025-09-09 Zoltan Toth-Czifra

Understanding the reasons behind past code changes is critical for many software engineering tasks, including refactoring and reviewing code, diagnosing bugs, and implementing new features. Unfortunately, locating and reconstructing this…

Software Engineering · Computer Science 2026-04-14 Mehedi Sun , Antu Saha , Nadeeshan De Silva , Antonio Mastropaolo , Oscar Chaparro

Detecting buffer overruns from a source code is one of the most common and yet challenging tasks in program analysis. Current approaches have mainly relied on rigid rules and handcrafted features devised by a few experts, limiting…

Software Engineering · Computer Science 2017-03-08 Min-je Choi , Sehun Jeong , Hakjoo Oh , Jaegul Choo

Many Transformer-based pre-trained models for code have been developed and applied to code-related tasks. In this paper, we review the existing literature, examine the suitability of model architectures for different tasks, and look at the…

Software Engineering · Computer Science 2023-10-03 Yan Xiao , Xinyue Zuo , Lei Xue , Kailong Wang , Jin Song Dong , Ivan Beschastnikh

The presence of software vulnerabilities is an ever-growing issue in software development. In most cases, it is desirable to detect vulnerabilities as early as possible, preferably in a just-in-time manner, when the vulnerable piece is…

Software Engineering · Computer Science 2023-03-30 Tamás Aladics , Péter Hegedűs , Rudolf Ferenc

Large language models (LLMs) are increasingly used for automated code refactoring tasks. Although these models can quickly refactor code, the quality may exhibit inconsistencies and unpredictable behavior. In this article, we systematically…

Software Engineering · Computer Science 2026-02-26 Norman Peitek , Julia Hess , Sven Apel

We propose a model to automatically describe changes introduced in the source code of a program using natural language. Our method receives as input a set of code commits, which contains both the modifications and message introduced by an…

Computation and Language · Computer Science 2017-04-18 Pablo Loyola , Edison Marrese-Taylor , Yutaka Matsuo

Like conventional software projects, projects in model-driven software engineering require adequate management of multiple versions of development artifacts, importantly allowing living with temporary inconsistencies. In the case of…

Software Engineering · Computer Science 2023-01-03 Matthias Barkowsky , Holger Giese

Deep Neural Networks have been shown to succeed at a range of natural language tasks such as machine translation and text summarization. While tasks on source code (ie, formal languages) have been considered recently, most work in this area…

Machine Learning · Computer Science 2017-05-23 Miltiadis Allamanis , Marc Brockschmidt

Like software, requirements evolve and change frequently during the development process. Refactoring is the process of reorganising software without changing its behaviour, to make it easier to understand and modify. We propose refactoring…

Software Engineering · Computer Science 2022-01-13 Marie Farrell , Matt Luckcuck , Oisin Sheridan , Rosemary Monahan

Software architecture is inherently knowledge-centric. The architectural knowledge is distributed across heterogeneous software artifacts such as requirements documents, design diagrams, code, and documentation, making it difficult for…

Software Engineering · Computer Science 2026-01-28 Jan Keim , Angelika Kaplan

Despite the vast body of research literature proposing algorithms with formal guarantees, the amount of verifiable code in today's systems remains minimal. This discrepancy stems from the inherent difficulty of verifying code, particularly…

Software Engineering · Computer Science 2025-01-10 Changjie Wang , Mariano Scazzariello , Marco Chiesa

Generative models for source code are an interesting structured prediction problem, requiring to reason about both hard syntactic and semantic constraints as well as about natural, likely programs. We present a novel model for this problem…

Machine Learning · Computer Science 2019-04-18 Marc Brockschmidt , Miltiadis Allamanis , Alexander L. Gaunt , Oleksandr Polozov

In managed languages, serialization of objects is typically done in bespoke binary formats such as Protobuf, or markup languages such as XML or JSON. The major limitation of these formats is readability. Human developers cannot read binary…

Software Engineering · Computer Science 2025-12-16 Julian Wachter , Deepika Tiwari , Martin Monperrus , Benoit Baudry

Motivated by a desire to improve on the current state of the art in genetic programming, and aided by recent progress in understanding the computational aspects of evolutionary systems, we describe a process that creates a set of generic…

Neural and Evolutionary Computing · Computer Science 2019-02-19 David Landaeta

Context: Software Engineering research makes use of collections of software artifacts (corpora) to derive empirical evidence from. Goal: To improve quality and reproducibility of research, we need to understand the characteristics of used…

Software Engineering · Computer Science 2013-04-04 Ekaterina Pek , Ralf Lämmel

This case for the Transformation Tool Contest 2013 is about evaluating the scope and usability of transformation languages and tools for a set of four tasks requiring very different capabilities. One task deals with typical model-to-model…

Software Engineering · Computer Science 2013-12-03 Tassilo Horn