中文
相关论文

相关论文: Improving Prolog Programs: Refactoring for Prolog

200 篇论文

Aspect oriented programming aims at achieving better modularization for a system's crosscutting concerns in order to improve its key quality attributes, such as evolvability and reusability. Consequently, the adoption of aspect-oriented…

软件工程 · 计算机科学 2016-08-31 Arie van Deursen , Marius Marin , Leon Moonen

Programming problems can be solved in a multitude of functionally correct ways, but the quality of these solutions (e.g. readability, maintainability) can vary immensely. When code quality is poor, symptoms emerge in the form of 'code…

软件工程 · 计算机科学 2024-03-11 Ivan Tan , Christopher M. Poskitt

Our research is part of a wider project that aims to investigate and reason about the correctness of scheme-based source code transformations of Erlang programs. In order to formally reason about the definition of a programming language and…

编程语言 · 计算机科学 2020-08-19 Péter Bereczky , Dániel Horpácsi , Simon Thompson

Large language model (LLM) coding agents can generate working code, but their solutions often accumulate complexity, duplication, and architectural debt. Human developers address such issues through refactoring: behavior-preserving program…

软件工程 · 计算机科学 2026-03-05 Alex Thillen , Niels Mündler , Veselin Raychev , Martin Vechev

Following the ideas of the Remote Procedure Call model, we have developed a logic programming counterpart, naturally called Prolog Remote Predicate Call (Prolog RPC). The Prolog RPC protocol facilitates the integration of Prolog code in…

网络与互联网体系结构 · 计算机科学 2007-05-23 Alin Suciu , Kalman Pusztai , Andrei Diaconu

A logic program is an executable specification. For example, merge sort in pure Prolog is a logical formula, yet shows creditable performance on long linked lists. But such executable specifications are a compromise: the logic is distorted…

编程语言 · 计算机科学 2015-09-29 M. H. van Emden

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…

In this paper we present a simple source code configuration tool. ExLibris operates on libraries and can be used to extract from local libraries all code relevant to a particular project. Our approach is not designed to address problems…

软件工程 · 计算机科学 2007-05-23 Nicos Angelopoulos

Both Prolog and Oz are multiparadigm languages with a logic programming core. There is a significant subset of Oz that is a syntactic variant of Prolog: pure Prolog programs with green or blue cuts and bagof/3 or setof/3 can be translated…

编程语言 · 计算机科学 2023-02-02 Peter Van Roy , Seif Haridi

Automated source code refactoring, particularly extract method refactoring, is a crucial and frequently employed technique during software development. Despite its importance and frequent use by practitioners, current automated techniques…

软件工程 · 计算机科学 2024-12-25 Indranil Palit , Tushar Sharma

We have developed a Prolog visualization system that is intended to support Prolog programming education. The system uses Logichart diagrams to visualize Prolog programs. The Logichart diagram is designed to visualize the Prolog execution…

编程语言 · 计算机科学 2009-03-25 Yoshihiro Adachi

While large language models (LLMs) now excel at code generation, a key aspect of software development is the art of refactoring: consolidating code into libraries of reusable and readable programs. In this paper, we introduce LILO, a…

计算与语言 · 计算机科学 2024-03-18 Gabriel Grand , Lionel Wong , Maddy Bowers , Theo X. Olausson , Muxin Liu , Joshua B. Tenenbaum , Jacob Andreas

In recent years, stream processing has become a prominent approach for incrementally handling large amounts of data, with special support and libraries in many programming languages. Unfortunately, support in Prolog has so far been lacking…

编程语言 · 计算机科学 2019-09-20 Paul Tarau , Jan Wielemaker , Tom Schrijvers

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…

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.…

编程语言 · 计算机科学 2019-01-31 Michael Kruse , Hal Finkel

To fork a project is to copy the existing code base and move in a direction different than that of the erstwhile project leadership. Forking provides a rapid way to address new requirements by adapting an existing solution. However, it can…

软件工程 · 计算机科学 2010-04-19 Neil A. Ernst , Steve Easterbrook , John Mylopoulos

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…

Refactoring is a software engineering practice that aims to improve code quality without altering program behavior. Although automated refactoring tools have been extensively studied, their practical applicability remains limited. Recent…

软件工程 · 计算机科学 2026-01-21 Alessandro Midolo , Emiliano Tramontana , Massimiliano Di Penta

Tool-assisted refactoring transformations must be trustworthy if programmers are to be confident in applying them on arbitrarily extensive and complex code in order to improve style or efficiency. We propose a simple, high-level but…

编程语言 · 计算机科学 2016-07-11 Dániel Horpácsi , Judit Kőszegi , Simon Thompson

Rewriting is a formalism widely used in computer science and mathematical logic. The classical formalism has been extended, in the context of functional languages, with an order over the rules and, in the context of rewrite based languages,…

计算机科学中的逻辑 · 计算机科学 2019-06-12 Horatiu Cirstea , Pierre-Etienne Moreau