中文
相关论文

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

200 篇论文

We present Lean Refactor, a plug-and-play retrieval-augmented agentic framework for multi-objective, controllable, and version-robust refactoring of Lean proofs. LLM-generated proofs are notoriously correct-but-verbose and brittle across…

计算机科学中的逻辑 · 计算机科学 2026-05-21 Jialin Lu , Soonho Kong , Rodrigo Stehling , Kaiyu Yang , Zhangyang Wang , Weiran Sun , Wuyang Chen

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…

软件工程 · 计算机科学 2025-10-07 Ziga Kovacic , Justin T. Chiu , Celine Lee , Wenting Zhao , Kevin Ellis

This Innovative Practice full paper explores how Large Language Models (LLMs) can enhance the teaching of code refactoring in software engineering courses through real-time, context-aware feedback. Refactoring improves code quality but is…

软件工程 · 计算机科学 2025-08-14 Anshul Khairnar , Aarya Rajoju , Edward F. Gehringer

Developers often refactor source code to improve its quality during software development. A challenge in refactoring is to determine if it can be applied or not. To help with this decision-making process, we aim to search for past…

软件工程 · 计算机科学 2023-10-04 Motoki Abe , Shinpei Hayashi

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…

软件工程 · 计算机科学 2023-07-21 Sara Fernandes , Ademar Aguiar , André Restivo

Refactoring is a practice widely adopted during software maintenance and evolution. Due to its importance, there is extensive work on the effectiveness of refactoring in achieving code quality. However, developer's intentions are usually…

Knowledge refactoring compresses a logic program by introducing new rules. Current approaches struggle to scale to large programs. To overcome this limitation, we introduce a constrained optimisation refactoring approach. Our first key idea…

计算机科学中的逻辑 · 计算机科学 2025-06-23 Minghao Liu , David M. Cerna , Filipe Gouveia , Andrew Cropper

The importance of coding guidelines is generally accepted throughout developers of every programming language. Naturally, Prolog makes no exception. However, establishing coding guidelines is fraught with obstacles: Finding common ground on…

编程语言 · 计算机科学 2019-09-19 Falco Nogatz , Philipp Körner , Sebastian Krings

ECLAIR is a Prolog-based prototype system aiming to provide a functionally complete environment for the study, development and evaluation of programming language analysis and implementation tools. In this paper, we sketch the overall…

编程语言 · 计算机科学 2007-11-06 Roberto Bagnara , Patricia Hill , Enea Zaffanella

PRholog is an experimental extension of logic programming with strategic conditional transformation rules, combining Prolog with Rholog calculus. The rules perform nondeterministic transformations on hedges. Queries may have several results…

编程语言 · 计算机科学 2010-01-26 Besik Dundua , Temur Kutsia , Mircea Marin

Refactoring is the process of improving the design of existing code by changing its internal structure without affecting its external behaviour, with the main aims of improving the quality of software product. Therefore, there is a belief…

软件工程 · 计算机科学 2015-02-13 S. H. Kannangara , W. M. J. I. Wijayanayake

Refactoring is the art of improving the design of a system without altering its external behavior. Refactoring has become a well established and disciplined software engineering practice that has attracted a significant amount of research…

Refactoring is one of the most important activities in software engineering which is used to improve the quality of a software system. With the advancement of deep learning techniques, researchers are attempting to apply deep learning…

软件工程 · 计算机科学 2024-05-01 Bridget Nyirongo , Yanjie Jiang , He Jiang , Hui Liu

Humans constantly restructure knowledge to use it more efficiently. Our goal is to give a machine learning system similar abilities so that it can learn more efficiently. We introduce the \textit{knowledge refactoring} problem, where the…

人工智能 · 计算机科学 2020-11-25 Sebastijan Dumancic , Tias Guns , Andrew Cropper

Block-based programming languages like Scratch have become increasingly popular as introductory languages for novices. These languages are intended to be used with a "tinkering" approach which allows learners and teachers to quickly…

System relevant embedded software needs to be reliable and, therefore, well tested, especially for aerospace systems. A common technique to verify programs is the analysis of their abstract syntax tree (AST). Tree structures can be…

软件工程 · 计算机科学 2017-01-09 Frank Flederer , Ludwig Ostermayer , Dietmar Seipel , Sergio Montenegro

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…

软件工程 · 计算机科学 2025-08-05 Siqi Wang , Xing Hu , Bei Wang , Wenxin Yao , Xin Xia , Xinyu Wang

This document introduces PlDoc, a literate programming system for Prolog. Starting point for PlDoc was minimal distraction from the programming task and maximal immediate reward, attempting to seduce the programmer to use the system.…

编程语言 · 计算机科学 2007-11-06 Jan Wielemaker , Anjo Anjewierden

Refactoring is the process of changing a software system in such a way that it does not alter the external behavior of the code yet improves its internal structure. Not only researchers, but also practitioners, need to know about past…

软件工程 · 计算机科学 2018-08-08 Eunjong Choi , Kenji Fujiwara , Norihiro Yoshida , Shinpei Hayashi

Refactoring is modifying a program without changing its external behavior. In this paper, we make the concept of external behavior precise for a simple answer set programming language. Then we describe a proof assistant for the task of…

计算机科学中的逻辑 · 计算机科学 2023-05-30 Jorge Fandinno , Zachary Hansen , Yuliya Lierler , Vladimir Lifschitz , Nathan Temple