English
Related papers

Related papers: Moving beyond Deletions: Program Simplification vi…

200 papers

Software development is getting changed so rapidly. It will be highly benefited if we can accelerate software development process by guiding developers. Appropriate guidelines and accurate recommendations to developers during development…

Software Engineering · Computer Science 2020-06-24 Ratul Uddin Ashraf , Anujoy Das , Ziaur Rahman , Ali Newaz Bahar , Husne Ara Rubaiyeat

Many programs that interact with a database need to undergo schema refactoring several times during their life cycle. Since this process typically requires making significant changes to the program's implementation, schema refactoring is…

Programming Languages · Computer Science 2019-04-12 Yuepeng Wang , James Dong , Rushi Shah , Isil Dillig

We define a compilation scheme for a constructor-based, strongly-sequential, graph rewriting system which shortcuts some needed steps. The object code is another constructor-based graph rewriting system. This system is normalizing for the…

Programming Languages · Computer Science 2015-05-28 Sergio Antoy , Jacob Johannsen , Steven Libby

Programming by Optimization tools perform automatic software configuration according to the specification supplied by a software developer. Developers specify design spaces for program components, and the onerous task of determining which…

Artificial Intelligence · Computer Science 2017-07-14 Zoltan A. Kocsis , Jerry Swan

Software documentation is essential for program comprehension, developer onboarding, code review, and long-term maintenance. Yet producing quality documentation manually is time-consuming and frequently yields incomplete or inconsistent…

Software Engineering · Computer Science 2026-04-20 Afia Farjana , Zaiyu Cheng , Antonio Mastropaolo

Many toolkit developers seek to streamline the visualization programming process through structured support such as prescribed templates and example galleries. However, few projects examine how users organize their own visualization…

Human-Computer Interaction · Computer Science 2025-07-08 Melissa Lin , Heer Patel , Medina Lamkin , Hannah Bako , Leilani Battle

Deep learning (DL)-based code completion tools have transformed software development by enabling advanced code generation. These tools leverage models trained on vast amounts of code from numerous repositories, capturing general coding…

Software Engineering · Computer Science 2025-03-19 Alessandro Giagnorio , Alberto Martin-Lopez , Gabriele Bavota

Pragmas for loop transformations, such as unrolling, are implemented in most mainstream compilers. They are used by application programmers because of their ease of use compared to directly modifying the source code of the relevant loops.…

Programming Languages · Computer Science 2019-01-31 Michael Kruse , Hal Finkel

Text simplification reduces the language complexity of professional content for accessibility purposes. End-to-end neural network models have been widely adopted to directly generate the simplified version of input text, usually functioning…

Computation and Language · Computer Science 2021-07-08 Cristina Garbacea , Mengtian Guo , Samuel Carton , Qiaozhu Mei

Text simplification (TS) systems rewrite text to make it more readable while preserving its content. However, what makes a text easy to read depends on the intended readers. Recent work has shown that pre-trained language models can…

Computation and Language · Computer Science 2023-12-01 Sweta Agrawal , Marine Carpuat

A gradual type system allows developers to declare certain types to be enforced by the compiler (i.e., statically typed), while leaving other types to be enforced via runtime checks (i.e., dynamically typed). When runtime checks fail,…

Programming Languages · Computer Science 2025-03-03 Felipe Bañados Schwerter , Ronald Garcia , Reid Holmes , Karim Ali

Memory profiling captures programs' dynamic memory behavior, assisting programmers in debugging, tuning, and enabling advanced compiler optimizations like speculation-based automatic parallelization. As each use case demands its unique…

Performance · Computer Science 2023-11-07 Ziyang Xu , Yebin Chon , Yian Su , Zujun Tan , Sotiris Apostolakis , Simone Campanoni , David I. August

Software development builds digital tools to automate processes, yet its initial phases, up to deployment, remain largely manual. There are two reasons: Development tasks are often under-specified and transitions between tasks usually…

Software Engineering · Computer Science 2025-04-15 Dhasarathy Parthasarathy , Yinan Yu , Earl T. Barr

Clear and concise code is necessary to ensure maintainability, so it is crucial that the software is as simple as possible to understand, to avoid bugs and, above all, vulnerabilities. There are many ways to enhance software without…

Software Engineering · Computer Science 2026-01-30 Adriana Novoa-Hurtado , Rubén Saborido , Francisco Chicano , Manuel Giménez-Medina

Static program slicing is a fundamental technique in software engineering. Traditional static slicing tools rely on parsing complete source code, which limits their applicability to real-world scenarios where code snippets are incomplete or…

Software Engineering · Computer Science 2025-09-23 Pengfei He , Shaowei Wang , Tse-Hsun Chen

Reductions combine collections of input values with an associative and often commutative operator to produce collections of results. When the same input value contributes to multiple outputs, there is an opportunity to reuse partial…

Programming Languages · Computer Science 2024-12-19 Louis Narmour , Tomofumi Yuki , Sanjay Rajopadhye

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

Docker, the industry standard for packaging and deploying applications, leverages Infrastructure as Code (IaC) principles to facilitate the creation of images through Dockerfiles. However, maintaining Dockerfiles presents significant…

Software Engineering · Computer Science 2025-01-27 Emna Ksontini , Meriem Mastouri , Rania Khalsi , Wael Kessentini

Context: Code refactoring is widely recognized as an essential software engineering practice that improves the understandability and maintainability of source code. Several studies attempted to detect refactoring activities through mining…

Software Engineering · Computer Science 2025-02-07 Eman Abdullah AlOmar

Misconceptions about program execution hinder many novice programmers. We introduce SimpliPy, a notional machine designed around a carefully chosen Python subset to clarify core control flow and scoping concepts. Its foundation is a precise…

Programming Languages · Computer Science 2025-10-21 Moida Praneeth Jain , Venkatesh Choppella