English
Related papers

Related papers: Moving beyond Deletions: Program Simplification vi…

200 papers

Reducing the cognitive complexity of a piece of code to a given threshold is not trivial. Recently, we modeled software cognitive complexity reduction as an optimization problem and we proposed an approach to assist developers on this task.…

Software Engineering · Computer Science 2024-02-09 Rubén Saborido , Javier Ferrer , Francisco Chicano

We introduce program splicing, a programming methodology that aims to automate the commonly used workflow of copying, pasting, and modifying code available online. Here, the programmer starts by writing a "draft" that mixes unfinished code,…

Programming Languages · Computer Science 2017-05-26 Yanxin Lu , Swarat Chaudhuri , Chris Jermaine , David Melski

To refactor already working code while keeping reliability, compatibility and perhaps security, we can borrow ideas from micropass/nanopass compilers. By treating the procedure of software refactoring as composing code transformations, and…

Software Engineering · Computer Science 2023-08-15 Yu Liu

As the demand for computational power grows, optimizing code through compilers becomes increasingly crucial. In this context, we focus on fully automatic code optimization techniques that automate the process of selecting and applying code…

Programming Languages · Computer Science 2025-11-11 Yacine Hakimi , Riyadh Baghdadi

Software is constantly changing, requiring developers to perform several derived tasks in a timely manner, such as writing a description for the intention of the code change, or identifying the defect-prone code changes. Considering that…

Software Engineering · Computer Science 2023-05-19 Bo Lin , Shangwen Wang , Zhongxin Liu , Yepang Liu , Xin Xia , Xiaoguang Mao

Complex software can be hard to read, adapt, and maintain. Refactoring it can create cleaner and self-explanatory code. Refactoring tools try to guide developers towards better code, with more quality. However, most of them take too long to…

Software Engineering · Computer Science 2023-07-21 Sara Fernandes , Ademar Aguiar , André Restivo

Refactoring is a widespread practice that helps developers to improve the maintainability and readability of their code. However, there is a limited number of studies empirically investigating the actual motivations behind specific…

Software Engineering · Computer Science 2018-08-07 Danilo Silva , Nikolaos Tsantalis , Marco Tulio Valente

Software refactoring plays an important role in software engineering. Developers often turn to refactoring when they want to restructure software to improve its quality without changing its external behavior. Studies show that small-scale…

Software Engineering · Computer Science 2022-02-16 James Ivers , Robert L. Nord , Ipek Ozkaya , Chris Seifried , Christopher S. Timperley , Marouane Kessentini

Due to the growing complexity of software systems, there has been a dramatic increase and industry demand for tools and techniques on software refactoring in the last ten years, defined traditionally as a set of program transformations…

Software Engineering · Computer Science 2020-07-07 Chaima Abid , Vahid Alizadeh , Marouane Kessentini , Thiago do Nascimento Ferreira , Danny Dig

Refactoring aims at improving code non-functional attributes without modifying its external behavior. Previous studies investigated the motivations behind refactoring by surveying developers. With the aim of generalizing and complementing…

Automatic code transformation in which transformations are tuned for specific applications and contexts are difficult to achieve in an accessible manner. In this paper, we present an approach to build application specific code…

Programming Languages · Computer Science 2013-01-21 Matthew J. Sottile , Geoffrey C. Hulette

Delta-oriented programming (DOP) is a flexible transformational approach to implement software product lines. In delta-oriented product lines, variants are generated by applying operations contained in delta modules to a (possibly empty)…

Software Engineering · Computer Science 2016-04-04 Ferruccio Damiani , Michael Lienhardt

Software documentation is an essential but labor intensive task that often requires a dedicated team of developers to ensure coverage and accuracy. Good documentation will help shorten the development cycle and improve the overall team…

Software Engineering · Computer Science 2017-01-31 Thomas Zheng , Jeff Shaw , Sergey Kozlov

Refactoring is a critical task in software maintenance, and is usually performed to enforce better design and coding practices, while coping with design defects. The Extract Method refactoring is widely used for merging duplicate code…

As the world of technology advances, so do the tools that software developers use to create new programs. In recent years, software development tools have become more popular, allowing developers to work more efficiently and produce…

Software Engineering · Computer Science 2025-09-03 Larissa Salerno , Christoph Treude , Patanamon Thongtatunam

Refactoring is a maintenance activity that aims to improve design quality while preserving the behavior of a system. Several (semi)automated approaches have been proposed to support developers in this maintenance activity, based on the…

Software Engineering · Computer Science 2019-05-20 Rodrigo Morales , Foutse Khomh , Giuliano Antoniol

A less complex and more straightforward program is a crucial factor that enhances its maintainability and makes writing secure and bug-free programs easier. However, due to its heavy workload and the risks of breaking the working programs,…

Programming Languages · Computer Science 2024-04-08 Atsushi Shirafuji , Yusuke Oda , Jun Suzuki , Makoto Morishita , Yutaka Watanobe

As open source software (OSS) becomes increasingly mature and popular, there are significant challenges with properly accounting for usability concerns for the diverse end users. Participatory design, where multiple stakeholders collaborate…

Human-Computer Interaction · Computer Science 2021-02-26 Jazlyn Hellman , Jinghui Cheng , Jin L. C. Guo

Software developers solve a diverse and wide range of problems. While software engineering research often focuses on tools to support this problem solving, the strategies that developers use to solve problems are at least as important. In…

Software Engineering · Computer Science 2020-07-03 Thomas D. LaToza , Maryam Arab , Dastyni Loksa , Amy J. Ko

In software development, business rules implemented by hand using programming code hinder agility of companies. Are our students in information systems aware of that? Do our lessons promote this realization ? We use model driven concepts…

Software Engineering · Computer Science 2018-05-24 Pierre-André Sunier , Steve Berberat
‹ Prev 1 2 3 10 Next ›