English
Related papers

Related papers: Towards Generic Refactoring

200 papers

Software systems that process structured inputs often lack complete and up-to-date specifications, which specify the input syntax and the semantics of input processing. While grammar mining techniques have focused on recovering syntactic…

Software Engineering · Computer Science 2025-07-18 Andreas Pointner , Josef Pichler , Herbert Prähofer

With the rapid development of deep learning, the implementation of intricate algorithms and substantial data processing have become standard elements of deep learning projects. As a result, the code has become progressively complex as the…

Software Engineering · Computer Science 2025-08-05 Siqi Wang , Xing Hu , Bei Wang , Wenxin Yao , Xin Xia , Xinyu Wang

Language model-based code completion models have quickly grown in use, helping thousands of developers write code in many different programming languages. However, research on code completion models typically focuses on imperative languages…

Computation and Language · Computer Science 2024-03-25 Tim van Dam , Frank van der Heijden , Philippe de Bekker , Berend Nieuwschepen , Marc Otten , Maliheh Izadi

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

Understanding the practice of refactoring documentation is of paramount importance in academia and industry. Issue tracking systems are used by most software projects enabling developers, quality assurance, managers, and users to submit…

Software Engineering · Computer Science 2022-03-22 Eman Abdullah AlOmar , Anthony Peruma , Mohamed Wiem Mkaouer , Christian D. Newman , Ali Ouni

Using tools from topology and functional analysis, we provide a framework where artificial neural networks, and their architectures, can be formally described. We define the notion of machine in a general topological context and show how…

Machine Learning · Computer Science 2022-11-30 Pietro Vertechi , Mattia G. Bergomi

Problems in program analysis can be solved by developing novel program semantics and deriving abstractions conventionally. For over thirty years, higher-order program analysis has been sold as a hard problem. Its solutions have required…

Programming Languages · Computer Science 2011-05-03 Sam Tobin-Hochstadt , David Van Horn

In this paper we describe a new approach to programming which generalizes object-oriented programming. It is based on using a new programming construct, called concept, which generalizes classes. Concept is defined as a pair of two classes:…

Programming Languages · Computer Science 2008-01-03 Alexandr Savinov

Large Language Models (LLMs), like ChatGPT, have gained widespread popularity and usage in various software engineering tasks, including refactoring, testing, code review, and program comprehension. Despite recent studies delving into…

Software Engineering · Computer Science 2024-02-12 Eman Abdullah AlOmar , Anushkrishna Venkatakrishnan , Mohamed Wiem Mkaouer , Christian D. Newman , Ali Ouni

We describe how to use refactoring tools to transform a Java program conforming to the Composite design pattern into a program conforming to the Visitor design pattern with the same external behavior. We also describe the inverse…

Software Engineering · Computer Science 2013-07-02 Akram Ajouli , Julien Cohen

This report outlines an approach to learning generative models from data. We express models as probabilistic programs, which allows us to capture abstract patterns within the examples. By choosing our language for programs to be an…

Artificial Intelligence · Computer Science 2011-10-27 Irvin Hwang , Andreas Stuhlmüller , Noah D. Goodman

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

The focus of these lecture notes is on abstract models and basic ideas and results that relate to the operational semantics of programming languages largely conceived. The approach is to start with an abstract description of the computation…

Programming Languages · Computer Science 2025-10-15 Roberto M. Amadio

Context: Generic programming, as defined by Stepanov, is a methodology for writing efficient and reusable algorithms by considering only the required properties of their underlying data types and operations. Generic programming has proven…

Programming Languages · Computer Science 2022-11-04 Benjamin Chetioui , Jaakko Järvi , Magne Haveraaen

We study expression learning problems with syntactic restrictions and introduce the class of finite-aspect checkable languages to characterize symbolic languages that admit decidable learning. The semantics of such languages can be defined…

Logic in Computer Science · Computer Science 2023-03-22 Paul Krogmeier , P. Madhusudan

Polymorphic types are an important feature in most strongly typed programming languages. They allow functions to be written in a way that can be used with different data types, while still enforcing the relationship and constraints between…

Programming Languages · Computer Science 2024-05-22 Shuai Fu , Tim Dwyer , Peter J. Stuckey

It is undeniable that most developers today are building distributed applications. However, most of these applications are developed by composing existing systems together through unspecified APIs exposed to the application developer.…

Distributed, Parallel, and Cluster Computing · Computer Science 2018-02-09 Christopher S. Meiklejohn , Peter Van Roy

Maintainable and general software allows developers to build robust applications efficiently, yet achieving these qualities often requires refactoring specialized solutions into reusable components. This challenge becomes particularly…

Software Engineering · Computer Science 2025-10-07 Ziga Kovacic , Justin T. Chiu , Celine Lee , Wenting Zhao , Kevin Ellis

In software engineering, taking a good election between recursion and iteration is essential because their efficiency and maintenance are different. In fact, developers often need to transform iteration into recursion (e.g., in debugging,…

Programming Languages · Computer Science 2014-10-22 David Insa , Josep Silva

The class of Basic Feasible Functionals BFF$_2$ is the type-2 counterpart of the class FP of type-1 functions computable in polynomial time. Several characterizations have been suggested in the literature, but none of these present a…

Logic in Computer Science · Computer Science 2023-06-22 Emmanuel Hainry , Bruce M. Kapron , Jean-Yves Marion , Romain Péchoux