English
Related papers

Related papers: Moving beyond Deletions: Program Simplification vi…

200 papers

Refactoring is a change made to the internal structure of software to make it easier to understand and cheaper to modify without changing its observable behaviour. A database refactoring is a small change to the database schema which…

Software Engineering · Computer Science 2010-09-09 Patrick O'Beirne

AI agents increasingly excel at generating, testing, and refining code. However, they fall short on tasks requiring formal guarantees of full coverage that testing alone cannot provide. Distributed systems are a prime example: properties…

Large Language Models (LLMs) are rapidly transforming software engineering, with coding assistants embedded in an IDE becoming increasingly prevalent. While research has focused on improving the tools and understanding developer…

Software systems are evolving by adding new functions and modifying existing functions over time. Through the evolution, the structure of software is becoming more complex and so the understandability and maintainability of software systems…

Software Engineering · Computer Science 2014-08-22 Ginika Mahajan , Ashima

This chapter presents, from our research on inclusive software within the context of a diversity and inclusion based STEM program at the University of Victoria, INSPIRE: STEM for Social Impact (hereafter Inspire). In a society with an ever…

Software Engineering · Computer Science 2024-08-13 Kezia Devathasan , Nowshin Nawar Arony , Daniela Damian

Software development effort estimation (SDEE) generally involves leveraging the information about the effort spent in developing similar software in the past. Most organizations do not have access to sufficient and reliable forms of such…

Software Engineering · Computer Science 2021-09-14 Ritu Kapur , Balwinder Sodhi

Agile approaches tend to focus solely on scoping and simplicity rather than on problem solving and discovery. This hampers the development of innovative solutions. Additionally, little has been said about how to capture and represent the…

Software Engineering · Computer Science 2019-08-22 Ainhoa Aldave , Juan M. Vara , David Granada , Esperanza Marcos

Text simplification is a common task where the text is adapted to make it easier to understand. Similarly, text elaboration can make a passage more sophisticated, offering a method to control the complexity of reading comprehension tests.…

Computation and Language · Computer Science 2024-05-29 Asma Farajidizaji , Vatsal Raina , Mark Gales

As software development increasingly adopts automation, bot-driven development (BotDD) represents a transformative shift where bots assume proactive roles in coding, testing, and project management. In bot-driven development, bots go beyond…

Software Engineering · Computer Science 2025-07-04 Christoph Treude , Christopher M. Poskitt

Code super-optimization is the task of transforming any given program to a more efficient version while preserving its input-output behaviour. In some sense, it is similar to the paraphrase problem from natural language processing where the…

Machine Learning · Computer Science 2017-06-29 Rudy Bunel , Alban Desmaison , M. Pawan Kumar , Philip H. S. Torr , Pushmeet Kohli

Context: Interest in diversity in software development has significantly increased in recent years. Reporting on diversity in software projects can enhance user trust and assist regulators in evaluating adoption. Recent AI directives…

Software Engineering · Computer Science 2025-10-29 Joan Giner-Miguelez , Sergio Morales , Sergio Cobos , Javier Luis Canovas Izquierdo , Robert Clariso , Jordi Cabot

Novice programmers often struggle to comprehend code due to vague naming, deep nesting, and poor structural organization. While explanations may offer partial support, they typically do not restructure the code itself. We propose code…

Software Engineering · Computer Science 2026-04-20 Subarna Saha , Alif Al Hasan , Fariha Tanjim Shifat , Mia Mohammad Imran

Refactoring is widely recognized as one of the efficient techniques to manage technical debt and maintain a healthy software project through enforcing best design practices or coping with design defects. Previous refactoring surveys have…

Software Engineering · Computer Science 2021-09-24 Eman Abdullah AlOmar , Anthony Peruma , Mohamed Wiem Mkaouer , Christian D. Newman , Ali Ouni

Refactoring is the de-facto practice to optimize software health. While several studies propose refactoring strategies to optimize software design through applying design patterns and removing design defects, little is known about how…

Software Engineering · Computer Science 2021-11-16 Eman Abdullah AlOmar , Tianjia Wang , Vaibhavi Raut , Mohamed Wiem Mkaouer , Christian Newman , Ali Ouni

Program synthesis from incomplete specifications (e.g. input-output examples) has gained popularity and found real-world applications, primarily due to its ease-of-use. Since this technology is often used in an interactive setting,…

Programming Languages · Computer Science 2017-03-13 Vu Le , Daniel Perelman , Oleksandr Polozov , Mohammad Raza , Abhishek Udupa , Sumit Gulwani

Fast numerical libraries have been a cornerstone of scientific computing for decades, but this comes at a price. Programs may be tied to vendor specific software ecosystems resulting in polluted, non-portable code. As we enter an era of…

Programming Languages · Computer Science 2019-10-10 Bruce Collie , Philip Ginsbach , Michael F. P. O'Boyle

Context. Software reusability mechanisms, like inheritance and delegation in Object-Oriented programming, are widely recognized as key instruments of software design. These are used to reduce the risks of source code being affected by…

Software Engineering · Computer Science 2022-08-17 Giammaria Giordano , Gerardo Festa , Gemma Catolino , Fabio Palomba , Filomena Ferrucci , Carmine Gravino

Constraint programming is used for a variety of real-world optimisation problems, such as planning, scheduling and resource allocation problems. At the same time, one continuously gathers vast amounts of data about these problems. Current…

Software evolution is a fundamental process that transcends the realm of technical artifacts and permeates the entire organizational structure of a software project. By means of a longitudinal empirical study of 18 large open-source…

Software Engineering · Computer Science 2016-10-20 Mitchell Joblin , Sven Apel , Wolfgang Mauerer

Knowledge workers frequently encounter repetitive web data entry tasks, like updating records or placing orders. Web automation increases productivity, but translating tasks to web actions accurately and extending to new specifications is…

Human-Computer Interaction · Computer Science 2023-08-21 Kevin Pu , Jim Yang , Angel Yuan , Minyi Ma , Rui Dong , Xinyu Wang , Yan Chen , Tovi Grossman
‹ Prev 1 3 4 5 6 7 10 Next ›