English
Related papers

Related papers: Moving beyond Deletions: Program Simplification vi…

200 papers

The rapid technological leaps of Industry 4.0 increase the pressure and demands on humans working in automation, which is one of the main motivators of Industry 5.0. In particular, automation software development for mechatronic systems…

Systems and Control · Electrical Eng. & Systems 2022-12-12 Eva-Maria Neumann , Birgit Vogel-Heuser , Fabian Haben , Marius Krueger , Timotheus Wieringa

The tidal wave of advancements in Large Language Models (LLMs) has led to their swift integration into application-level logic. Many software systems now use prompts to interact with these black-box models, combining natural language with…

Software Engineering · Computer Science 2025-01-23 Dhia Elhaq Rzig , Dhruba Jyoti Paul , Kaiser Pister , Jordan Henkel , Foyzul Hassan

Making a Prolog program more efficient by transforming its source code, without changing its operational semantics, is not an obvious task. It requires the user to have a clear understanding of how the Prolog compiler works, and in…

Programming Languages · Computer Science 2007-11-01 Francois Gobert , Baudouin Le Charlier

Diversity is prevalent in modern software systems. Several system variants exist at the same time in order to adapt to changing user requirements. Additionally, software systems evolve over time in order to adjust to unanticipated changes…

Software Engineering · Computer Science 2014-09-09 Arne Haber , Holger Renel , Bernhard Rumpe , Ina Schaefer

Bug localization is well-known to be a difficult problem in software engineering, and specifically in compiler development, where it is beneficial to reduce the input program to a minimal reproducing example; this technique is more commonly…

Programming Languages · Computer Science 2019-09-17 Daniil Stepanov , Marat Akhin , Mikhail Belyaev

Software agents have emerged as promising tools for addressing complex software engineering tasks. Existing works, on the other hand, frequently oversimplify software development workflows, despite the fact that such workflows are typically…

Software Engineering · Computer Science 2024-07-16 Minh Huynh Nguyen , Thang Phan Chau , Phong X. Nguyen , Nghi D. Q. Bui

A wide range of engineering applications uses optimisation techniques as part of their solution process. The researcher uses specialized software that implements well-known optimisation techniques to solve his problem. However, when it…

Software documentation captures detailed knowledge about a software product, e.g., code, technologies, and design. It plays an important role in the coordination of development teams and in conveying ideas to various stakeholders. However,…

Software Engineering · Computer Science 2023-08-22 Haoyu Gao , Christoph Treude , Mansooreh Zahedi

Software visualizations are usually realized as standalone and isolated tools that use embedded code viewers within the visualization. In the context of program comprehension, only few approaches integrate visualizations into code editors,…

Software Engineering · Computer Science 2023-08-31 Alexander Krause-Glau , Wilhelm Hasselbring

Decomposition and abstraction is an essential component of computational thinking, yet it is not always emphasized in introductory programming courses. In addition, as generative AI further reduces the focus on syntax and increases the…

Software Engineering · Computer Science 2025-12-09 Georgiana Haldeman , Peter Ohmann , Paul Denny

Effective collaboration is a key factor in the success of a software project developed by a team. In this work, we suggest the approach of Synchronized Software Development (SSD), which promotes a new mechanism of collaboration in general,…

Software Engineering · Computer Science 2015-04-29 Stanislav Levin , Amiram Yehudai

Loop invariants play a central role in the verification of imperative programs. However, finding these invariants is often a difficult and time-consuming task for the programmer. We have previously shown how program transformation can be…

Logic in Computer Science · Computer Science 2017-08-25 G. W. Hamilton

The pervasive use of textual formats in the documentation of software requirements presents a great opportunity for applying large language models (LLMs) to software engineering tasks. High-quality software requirements not only enhance the…

Software Engineering · Computer Science 2024-06-18 Bingyang Wei

Symbolic computation is an important approach in automated program analysis. Most state-of-the-art tools perform symbolic computation as interpreters and directly maintain symbolic data. In this paper, we show that it is feasible, and in…

Programming Languages · Computer Science 2019-07-10 Henrich Lauko , Petr Ročkai , Jiří Barnat

This paper describes a general-purpose programming technique, called the Simulation of Simplicity, which can be used to cope with degenerate input data for geometric algorithms. It relieves the programmer from the task to provide a…

Combinatorics · Mathematics 2016-09-06 Herbert Edelsbrunner , Ernst Mücke

Recent studies have adopted pre-trained language models, such as CodeT5 and CodeGPT, for automated program generation tasks like code generation, repair, and translation. Numerous language model-based approaches have been proposed and…

Software Engineering · Computer Science 2024-01-09 Yue Liu , Chakkrit Tantithamthavorn , Yonghui Liu , Li Li

Software design techniques are undoubtedly crucial in the process of designing good software. Over the years, a large number of design techniques have been proposed by both researchers and practitioners. Unfortunately, despite their…

Software Engineering · Computer Science 2023-05-26 Gustavo Pinto , Alberto de Souza

Low-code programming allows citizen developers to create programs with minimal coding effort, typically via visual (e.g. drag-and-drop) interfaces. In parallel, recent AI-powered tools such as Copilot and ChatGPT generate programs from…

Software Engineering · Computer Science 2023-06-01 Nikitha Rao , Jason Tsay , Kiran Kate , Vincent J. Hellendoorn , Martin Hirzel

Contemporary software documentation is as complicated as the software itself. During its lifecycle, the documentation accumulates a lot of near duplicate fragments, i.e. chunks of text that were copied from a single source and were later…

Software Engineering · Computer Science 2018-10-10 D. V. Luciv , D. V. Koznov , G. A. Chernishev , A. N. Terekhov

Code refactoring is widely recognized as an essential software engineering practice to improve the understandability and maintainability of the source code. The Extract Method refactoring is considered as "Swiss army knife" of refactorings,…

Software Engineering · Computer Science 2023-12-21 Eman Abdullah AlOmar , Mohamed Wiem Mkaouer , Ali Ouni