English
Related papers

Related papers: Spreadsheet Refactoring

200 papers

The difference between surface and deep structures of a spreadsheet is a major cause of difficulty in checking spreadsheets. After a brief survey of current methods of checking (or debugging) spreadsheets, new visual methods of showing the…

Human-Computer Interaction · Computer Science 2008-05-16 Ying Chen , Hock Chuan Chan

Current prescriptions for spreadsheet style specify modular separation of data, calcu1ation and output, based on the notion that writing a spreadsheet is like writing a computer program. Instead of a computer programming style, this article…

Human-Computer Interaction · Computer Science 2008-07-22 John F. Raffensperger

Agentic coding tools, such as OpenAI Codex, Claude Code, and Cursor, are transforming the software engineering landscape. These AI-powered systems function as autonomous teammates capable of planning and executing complex development tasks.…

Software Engineering · Computer Science 2025-11-10 Kosei Horikawa , Hao Li , Yutaro Kashiwa , Bram Adams , Hajimu Iida , Ahmed E. Hassan

For a software system, its architecture is typically defined as the fundamental organization of the system incorporated by its components, their relationships to one another and their environment, and the principles governing their design.…

Software Engineering · Computer Science 2011-03-22 Robert Dabrowski , Krzysztof Stencel , Grzegorz Timoszuk

In this paper, we present our experience based on a reengineering project. The software project is to re-engineer the original system of a company to answer the new requirements and changed business functions. Reengineering is a process…

Software Engineering · Computer Science 2012-06-20 Waraporn Jirapanthong

Producing code of good quality is an essential skill in software development. Code quality is an aspect of software quality that concerns the directly observable properties of code, such as decomposition, modularization, and code flow. Code…

Software Engineering · Computer Science 2024-11-06 Eduardo Carneiro Oliveira , Hieke Keuning , Johan Jeuring

Software architecture is receiving increasingly attention as a critical design level for software systems. As software architecture design resources (in the form of architectural specifications) are going to be accumulated, the development…

Software Engineering · Computer Science 2009-09-25 Jianjun Zhao

Binary rewriting is a rapidly-maturing technique for modifying software for instrumentation, customization, optimization, and hardening without access to source code. Unfortunately, the practical applications of binary rewriting tools are…

Software Engineering · Computer Science 2022-09-09 Eric Schulte , Michael D. Brown , Vlad Folts

Graph rewriting is a popular tool for the optimisation and modification of graph expressions in domains such as compilers, machine learning and quantum computing. The underlying data structures are often port graphs - graphs with labels at…

Data Structures and Algorithms · Computer Science 2025-03-27 Luca Mondada , Pablo Andrés-Martínez

One of the most important assets of any company is being able to easily access information on itself and on its business. In this line, it has been observed that this important information is often stored in one of the millions of…

Software Engineering · Computer Science 2015-03-02 Jácome Cunha , João Paulo Fernandes , Rui Pereira , João Saraiva

This paper describes a method for the recovering of software architectures from a set of similar (but unrelated) software products in binary form. One intention is to drive refactoring into software product lines and combine architecture…

Software Engineering · Computer Science 2016-08-08 Ian D. Peake , Jan Olaf Blech , Lasith Fernando , Divyasheel Sharma , Srini Ramaswamy , Mallikarjun Kande

In collaborative software development, multiple contributors frequently change the source code in parallel to implement new features, fix bugs, refactor existing code, and make other changes. These simultaneous changes need to be merged…

Software Engineering · Computer Science 2023-05-11 Andre Oliveira , Vania Neves , Alexandre Plastino , Ana Carla Bibiano , Alessandro Garcia , Leonardo Murta

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

Amongst the large number of write-and-throw-away spreadsheets developed for one-time use there is a rather neglected proportion of spreadsheets that are huge, periodically used, and submitted to regular update-cycles like any conventionally…

Human-Computer Interaction · Computer Science 2008-05-14 Markus Clermont , Christian Hanin , Roland T. Mittermeir

JSON (JavaScript Object Notation) is a data encoding that allows structured data to be used in a standardized and straightforward manner across systems. Schemas for JSON-formatted data can be constructed using the JSON Schema standard,…

Programming Languages · Computer Science 2025-08-13 Jack Stanek , Daniel Killough

A number of automated techniques and tools were proposed in the research literature over the years which aim to support the spreadsheet developer in the process of testing and debugging a faulty spreadsheet. One underlying assumption of…

Software Engineering · Computer Science 2015-03-12 Dietmar Jannach , Thomas Schmitz

The use of spreadsheets is widespread. Be it in business, finance, engineering or other areas, spreadsheets are created for their flexibility and ease to quickly model a problem. Very often they evolve from simple prototypes to…

Software Engineering · Computer Science 2011-11-30 José Pedro Correia , Miguel A. Ferreira

Selecting a subset of cells is a common task in data engineering, for example, to remove errors or select only specific parts of a table. Multiple approaches to express this selection exist. One option is numeric indexing, commonly found in…

Programming Languages · Computer Science 2025-05-30 Philip Heltweg , Dirk Riehle , Georg-Daniel Schwarz

Program comprehension concerns the ability of an individual to make an understanding of an existing software system to extend or transform it. Software systems comprise of data that are noisy and missing, which makes program understanding…

Software Engineering · Computer Science 2019-02-05 Amir Saeidi , Jurriaan Hage , Ravi Khadka , Slinger Jansen

Documenting frameworks provides its users and maintainers useful information on that software's architecture, design, and customization. Despite documentation's importance, the process of creating and maintaining it is considered to imply…

Software Engineering · Computer Science 2022-03-29 João Santos , Filipe Correia