中文
相关论文

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

200 篇论文

As organizations increasingly transition from monolithic systems to microservices, they aim to achieve higher availability, automatic scaling, simplified infrastructure management, enhanced collaboration, and streamlined deployments.…

软件工程 · 计算机科学 2025-10-06 Rita Peixoto , Filipe F. Correia , Thatiane Rosa , Eduardo Guerra , Alfredo Goldman

Several Prolog implementations include a facility for tabling, an alternative resolution strategy which uses memoisation to avoid redundant duplication of computations. Until relatively recently, tabling has required either low-level…

编程语言 · 计算机科学 2017-08-28 Samer Abdallah

Runtime repeated recursion unfolding was recently introduced as a just-in-time program transformation strategy that can achieve super-linear speedup. So far, the method was restricted to single linear direct recursive rules in the…

编程语言 · 计算机科学 2025-03-14 Thom Fruehwirth

This thesis concerns the implementation of Lambda Prolog, a higher-order logic programming language that supports the lambda-tree syntax approach to representing and manipulating formal syntactic objects. Lambda Prolog achieves its…

编程语言 · 计算机科学 2009-11-30 Xiaochu Qi

GNU Prolog is a general-purpose implementation of the Prolog language, which distinguishes itself from most other systems by being, above all else, a native-code compiler which produces standalone executables which don't rely on any…

编程语言 · 计算机科学 2010-12-16 Daniel Diaz , Salvador Abreu , Philippe Codognet

Loop transformations are semantics-preserving optimization techniques, widely used to maximize objectives such as parallelism. Despite decades of research, applying the optimal composition of loop transformations remains challenging due to…

编程语言 · 计算机科学 2025-12-19 Yijie Zhi , Yayu Cao , Jianhua Dai , Xiaoyang Han , Jingwen Pu , Qingran Wu , Sheng Cheng , Ming Cai

Software refactoring is the process of changing the structure of software without any alteration in its behavior and functionality. Presuming it is carried out in appropriate opportunities, refactoring enhances software quality…

软件工程 · 计算机科学 2023-01-20 Hanieh Khosravi , Abbas Rasoolzadegan

Recent advances in coding agents have shown remarkable progress in software issue resolution. In practice, real-world issues are typically bug fixes or feature requests in which human developers naturally incorporate refactoring as part of…

软件工程 · 计算机科学 2026-05-22 Zhao Tian , Zifan Zhang , Tao Xiao , Dong Wang , Masanari Kondo , Junjie Chen , Yasutaka Kamei

Term rewriting systems have a simple syntax and semantics and facilitate proofs of correctness. However, they are not as popular in industry or academia as imperative languages. We define a term rewriting based abstract programming language…

编程语言 · 计算机科学 2020-07-08 David Plaisted , Lee Barnett

Programming in Prolog is hard for programmers that are used to procedural coding. In this manual the method of drawing search trees is introduced with the aim to get a better understanding of how Prolog works. After giving a first example…

编程语言 · 计算机科学 2020-01-23 Johan Bos

The so called ``cogen approach'' to program specialisation, writing a compiler generator instead of a specialiser, has been used with considerable success in partial evaluation of both functional and imperative languages. This paper…

编程语言 · 计算机科学 2007-05-23 Michael Leuschel , Jesper Joergensen , Wim Vanhoof , Maurice Bruynooghe

In today's world, the focus of programmers has shifted from writing complex, error-prone code to prioritizing simple, clear, efficient, and sustainable code that makes programs easier to understand. Code refactoring plays a critical role in…

This paper presents an approach that evaluates best-first search methods to code refactoring. The motivation for code refactoring could be to improve the design, structure, or implementation of an existing program without changing its…

软件工程 · 计算机科学 2023-05-15 Sourena Khanzadeh , Samad Alias Nyein Chan , Richard Valenzano , Manar Alalfi

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…

软件工程 · 计算机科学 2024-11-06 Eduardo Carneiro Oliveira , Hieke Keuning , Johan Jeuring

Prompt engineering is critical for the development of LLM-based applications. However, it is usually done manually in a "trial and error" fashion that can be time consuming, ineffective, and sub-optimal. Even for the prompts which seemingly…

人工智能 · 计算机科学 2024-06-11 Weize Kong , Spurthi Amba Hombaiah , Mingyang Zhang , Qiaozhu Mei , Michael Bendersky

This paper describes a semantics for pure Prolog programs with negation that provides meaning to metaprograms. Metaprograms are programs that construct and use data structures as programs. In Prolog a primary mataprogramming construct is…

编程语言 · 计算机科学 2024-08-15 David S. Warren

This article examines the use of the Prolog language for writing verification, analysis and transformation tools. Guided by experience in teaching and the development of verification tools like ProB or specialisation tools like ECCE and…

编程语言 · 计算机科学 2020-08-10 Michael Leuschel

Refactoring is a critical process in software development, aiming at improving the internal structure of code while preserving its external behavior. Refactoring engines are integral components of modern Integrated Development Environments…

软件工程 · 计算机科学 2024-09-24 Haibo Wang , Zhuolin Xu , Huaien Zhang , Nikolaos Tsantalis , Shin Hwei Tan

We study the problem of disentangling locked processes via code refactoring. We identify and characterise a class of processes that is not lock-free; then we formalise an algorithm that statically detects potential locks and propose…

编程语言 · 计算机科学 2016-08-08 Adrian Francalanza , Marco Giunti , António Ravara

This article aims at reengineering of PDF-based complex documents, where specifications of the Object Management Group (OMG) are our initial targets. Our motivation is that such specifications are dense and intricate to use, and tend to…

数字图书馆 · 计算机科学 2012-02-14 Mehrdad Nojoumian , Timothy C. Lethbridge